Add initial structure for supporting multiple service managers
This commit is contained in:
parent
64573a9f58
commit
a552c76a36
@ -17,3 +17,6 @@ Version 2 implementation works roughly as follows:
|
|||||||
* `systemd-templates/` contains Systemd units templates for running the script unattended.
|
* `systemd-templates/` contains Systemd units templates for running the script unattended.
|
||||||
#### Installation
|
#### Installation
|
||||||
* `install.sh` script copies Systemd templates to their destination, and enables conf-sync timer.
|
* `install.sh` script copies Systemd templates to their destination, and enables conf-sync timer.
|
||||||
|
|
||||||
|
### TODO
|
||||||
|
* Add install support for OpenBSD
|
||||||
|
33
install.sh
33
install.sh
@ -2,22 +2,31 @@
|
|||||||
|
|
||||||
source "$(dirname "$0")/variables.conf"
|
source "$(dirname "$0")/variables.conf"
|
||||||
|
|
||||||
# TODO handle non-Systemd systems
|
# NOTE: the handling of init/service manager comes from this discussion:
|
||||||
|
# https://unix.stackexchange.com/questions/18209/detect-init-system-using-the-shell
|
||||||
|
|
||||||
echo "Copying Systemd units to system directory..."
|
if [ -e /run/systemd/system ]; then # service manager is Systemd
|
||||||
sudo cp $(dirname "$0")/systemd-templates/conf-sync.service /etc/systemd/system/
|
echo "Copying Systemd units to system directory..."
|
||||||
sudo sed -i -e "s/PH_USER/$(whoami)/g" /etc/systemd/system/conf-sync.service
|
sudo cp $(dirname "$0")/systemd-templates/conf-sync.service /etc/systemd/system/
|
||||||
sudo sed -i -e "s:PH_DIRECTORY:$(pwd):g" /etc/systemd/system/conf-sync.service
|
sudo sed -i -e "s/PH_USER/$(whoami)/g" /etc/systemd/system/conf-sync.service
|
||||||
if [ "$client_type" = "server" ]; then
|
sudo sed -i -e "s:PH_DIRECTORY:$(pwd):g" /etc/systemd/system/conf-sync.service
|
||||||
|
if [ "$client_type" = "server" ]; then
|
||||||
sudo cp $(dirname "$0")/systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
|
sudo cp $(dirname "$0")/systemd-templates/conf-sync-server.timer /etc/systemd/system/conf-sync.timer
|
||||||
else
|
else
|
||||||
sudo cp $(dirname "$0")/systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
|
sudo cp $(dirname "$0")/systemd-templates/conf-sync-desktop.timer /etc/systemd/system/conf-sync.timer
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Reloading Systemd..."
|
echo "Reloading Systemd..."
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
echo "Enabling timer (not starting it, either do it manually or reboot)..."
|
echo "Enabling timer (not starting it, either do it manually or reboot)..."
|
||||||
sudo systemctl enable conf-sync.timer
|
sudo systemctl enable conf-sync.timer
|
||||||
|
elif [ "$(uname)" = "OpenBSD" ]; then
|
||||||
|
echo "ERROR: OpenBSD is not yet supported, but this is planned."
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "ERROR: could not determine a supported system. Exiting."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Finished install. Exiting..."
|
echo "Finished install. Exiting..."
|
||||||
exit 0
|
exit 0
|
||||||
|
Loading…
Reference in New Issue
Block a user