Update install script with new good practices (sudo and run_directory)

This commit is contained in:
Alexandre CATTEAU 2022-08-28 12:49:38 +02:00
parent e2dcc5cf7c
commit ec76702b93

View File

@ -10,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 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 if [ "$client_type" = "server" ]; then
sudo cp 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 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