Compare commits
9 Commits
914b5a88e4
...
master
Author | SHA1 | Date | |
---|---|---|---|
42c257c046 | |||
11db96cb90 | |||
ef03efe3c5 | |||
105057bff3 | |||
e3e6a73f95 | |||
ec76702b93 | |||
e2dcc5cf7c | |||
dd0f0e115d | |||
d2d323b150 |
@ -20,3 +20,5 @@ Version 2 implementation works roughly as follows:
|
|||||||
|
|
||||||
### TODO
|
### TODO
|
||||||
* Add install support for OpenBSD
|
* Add install support for OpenBSD
|
||||||
|
* Replace desktop/server timer choice in one line in install script
|
||||||
|
* Add `$sudo` in install script
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/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
|
for dir in $sync_directory/*; do
|
||||||
git -C $dir rev-parse 2>/dev/null >/dev/null
|
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"
|
echo "$dir: not a Git repo"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
if [ -f $dir/.disabled ]; then
|
||||||
|
echo "$dir update is disabled."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
git -C $dir fetch 2>/dev/null >/dev/null
|
git -C $dir fetch 2>/dev/null >/dev/null
|
||||||
UPSTREAM=${1:-'@{u}'}
|
UPSTREAM=${1:-'@{u}'}
|
||||||
LOCAL=$(git -C $dir rev-parse @)
|
LOCAL=$(git -C $dir rev-parse @)
|
||||||
|
44
install.sh
44
install.sh
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
run_directory=$(dirname "$0")
|
run_directory=$(dirname $(readlink -f "$0"))
|
||||||
|
user=$(whoami)
|
||||||
|
|
||||||
source "$run_directory/variables.conf"
|
source "$run_directory/variables.conf"
|
||||||
|
|
||||||
@ -9,42 +10,29 @@ if [ -f $run_directory/.disabled ]; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ $user != 'root' ]]; then
|
||||||
|
sudo="sudo"
|
||||||
|
else
|
||||||
|
sudo=""
|
||||||
|
fi
|
||||||
|
|
||||||
# NOTE: the handling of init/service manager comes from this discussion:
|
# NOTE: the handling of init/service manager comes from this discussion:
|
||||||
# https://unix.stackexchange.com/questions/18209/detect-init-system-using-the-shell
|
# https://unix.stackexchange.com/questions/18209/detect-init-system-using-the-shell
|
||||||
|
|
||||||
if [ -e /run/systemd/system ]; then # service manager is Systemd
|
if [ -e /run/systemd/system ]; then # service manager is Systemd
|
||||||
echo "Copying Systemd units to system directory..."
|
echo "Copying Systemd units to system directory..."
|
||||||
if [[ $user != 'root' ]]; then
|
$sudo cp $run_directory/systemd-templates/conf-sync.service /etc/systemd/system/
|
||||||
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_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
|
||||||
sudo sed -i -e "s:PH_DIRECTORY:$(pwd):g" /etc/systemd/system/conf-sync.service
|
if [ "$client_type" = "server" ]; then # TODO could be replaced in one line: cp conf-sync-$client_type
|
||||||
if $client_type == "server"; then
|
$sudo cp $run_directory/systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
|
||||||
sudo cp systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
|
|
||||||
else
|
else
|
||||||
sudo cp systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
|
$sudo cp $run_directory/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
|
|
||||||
fi
|
fi
|
||||||
echo "Reloading Systemd..."
|
echo "Reloading Systemd..."
|
||||||
if [[ $user != 'root' ]]; then
|
$sudo systemctl daemon-reload
|
||||||
sudo systemctl daemon-reload
|
|
||||||
else
|
|
||||||
systemctl daemon-reload
|
|
||||||
fi
|
|
||||||
echo "Enabling timer (not starting it, either do it manually or reboot)..."
|
echo "Enabling timer (not starting it, either do it manually or reboot)..."
|
||||||
if [[ $user != 'root' ]]; then
|
$sudo systemctl enable conf-sync.timer
|
||||||
sudo systemctl enable conf-sync.timer
|
|
||||||
else
|
|
||||||
systemctl enable conf-sync.timer
|
|
||||||
fi
|
|
||||||
elif [ "$(uname)" = "OpenBSD" ]; then
|
elif [ "$(uname)" = "OpenBSD" ]; then
|
||||||
echo "ERROR: OpenBSD is not yet supported, but this is planned."
|
echo "ERROR: OpenBSD is not yet supported, but this is planned."
|
||||||
exit 0
|
exit 0
|
||||||
|
Reference in New Issue
Block a user