diff options
| author | AJ Jordan <alex@strugee.net> | 2020-11-29 03:48:56 -0500 |
|---|---|---|
| committer | AJ Jordan <alex@strugee.net> | 2020-11-29 04:04:38 -0500 |
| commit | 2911dfc37d79bb4069a0ca1272ee6609f0400a39 (patch) | |
| tree | 77aca985cbf0fb161ee1639dc9ddb4a05c0e75f8 /debian | |
| parent | ce82932c9a4a33fd142d56e5b0683429329751ee (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-x | debian/bin/restart.sh | 10 |
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 |
