aboutsummaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorAJ Jordan <alex@strugee.net>2020-11-29 03:48:56 -0500
committerAJ Jordan <alex@strugee.net>2020-11-29 04:04:38 -0500
commit2911dfc37d79bb4069a0ca1272ee6609f0400a39 (patch)
tree77aca985cbf0fb161ee1639dc9ddb4a05c0e75f8 /debian
parentce82932c9a4a33fd142d56e5b0683429329751ee (diff)
Don't restart with sudo(8) if it's not available
Some environments, like system containers, have no reason to have sudo(8) installed. In these environments restart.sh will silently fail because /usr/bin/sudo does not exist to execute, so test that sudo exists and don't try to use it otherwise. Note also that hardcoding sudo's path is wrong: it can be installed in other places. On FreeBSD, for example, it is /usr/local/bin/sudo when installed from ports.
Diffstat (limited to 'debian')
-rwxr-xr-xdebian/bin/restart.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/debian/bin/restart.sh b/debian/bin/restart.sh
index 46a70c497..6aea24ee4 100755
--- a/debian/bin/restart.sh
+++ b/debian/bin/restart.sh
@@ -34,13 +34,19 @@ else
fi
fi
+if type sudo >/dev/null 2>&1; then
+ sudo_command=sudo
+else
+ sudo_command=
+fi
+
echo "Detected service control platform '$cmd'; using it to restart Jellyfin..."
case $cmd in
'systemctl')
- echo "sleep 0.5; /usr/bin/sudo systemctl start jellyfin" | at now
+ echo "sleep 0.5; $sudo_command systemctl start jellyfin" | at now
;;
'service')
- echo "sleep 0.5; /usr/bin/sudo service jellyfin start" | at now
+ echo "sleep 0.5; $sudo_command service jellyfin start" | at now
;;
'sysv')
echo "sleep 0.5; /usr/bin/sudo /etc/init.d/jellyfin start" | at now