Compare commits

..

9 Commits

3 changed files with 24 additions and 29 deletions

View File

@ -20,3 +20,5 @@ Version 2 implementation works roughly as follows:
### TODO
* Add install support for OpenBSD
* Replace desktop/server timer choice in one line in install script
* Add `$sudo` in install script

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash
source "$(dirname "$0")/variables.conf"
run_directory=$(dirname $(readlink -f "$0"))
source "$run_directory/variables.conf"
for dir in $sync_directory/*; do
git -C $dir rev-parse 2>/dev/null >/dev/null
@ -8,6 +9,10 @@ for dir in $sync_directory/*; do
echo "$dir: not a Git repo"
continue
fi
if [ -f $dir/.disabled ]; then
echo "$dir update is disabled."
continue
fi
git -C $dir fetch 2>/dev/null >/dev/null
UPSTREAM=${1:-'@{u}'}
LOCAL=$(git -C $dir rev-parse @)

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash
run_directory=$(dirname "$0")
run_directory=$(dirname $(readlink -f "$0"))
user=$(whoami)
source "$run_directory/variables.conf"
@ -9,42 +10,29 @@ if [ -f $run_directory/.disabled ]; then
exit 0
fi
if [[ $user != 'root' ]]; then
sudo="sudo"
else
sudo=""
fi
# NOTE: the handling of init/service manager comes from this discussion:
# https://unix.stackexchange.com/questions/18209/detect-init-system-using-the-shell
if [ -e /run/systemd/system ]; then # service manager is Systemd
echo "Copying Systemd units to system directory..."
if [[ $user != 'root' ]]; then
sudo cp systemd-templates/conf-sync.service /etc/systemd/system/
sudo sed -i -e "s/PH_USER/$(whoami)/g" /etc/systemd/system/conf-sync.service
sudo sed -i -e "s:PH_DIRECTORY:$(pwd):g" /etc/systemd/system/conf-sync.service
if $client_type == "server"; then
sudo cp systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
$sudo cp $run_directory/systemd-templates/conf-sync.service /etc/systemd/system/
$sudo sed -i -e "s/PH_USER/$(whoami)/g" /etc/systemd/system/conf-sync.service
$sudo sed -i -e "s:PH_DIRECTORY:$run_directory:g" /etc/systemd/system/conf-sync.service
if [ "$client_type" = "server" ]; then # TODO could be replaced in one line: cp conf-sync-$client_type
$sudo cp $run_directory/systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
else
sudo cp systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
fi
else
cp systemd-templates/conf-sync.service /etc/systemd/system/
sed -i -e "s/PH_USER/$(whoami)/g" /etc/systemd/system/conf-sync.service
sed -i -e "s:PH_DIRECTORY:$(pwd):g" /etc/systemd/system/conf-sync.service
if $client_type == "server"; then
cp systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
else
cp systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
fi
$sudo cp $run_directory/systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
fi
echo "Reloading Systemd..."
if [[ $user != 'root' ]]; then
sudo systemctl daemon-reload
else
systemctl daemon-reload
fi
$sudo systemctl daemon-reload
echo "Enabling timer (not starting it, either do it manually or reboot)..."
if [[ $user != 'root' ]]; then
sudo systemctl enable conf-sync.timer
else
systemctl enable conf-sync.timer
fi
$sudo systemctl enable conf-sync.timer
elif [ "$(uname)" = "OpenBSD" ]; then
echo "ERROR: OpenBSD is not yet supported, but this is planned."
exit 0