54 Zeilen
1.9 KiB
Bash
Ausführbare Datei
54 Zeilen
1.9 KiB
Bash
Ausführbare Datei
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# create traintastic group if it doesn't exist:
|
|
if ! getent group traintastic >/dev/null; then
|
|
addgroup --system traintastic
|
|
fi
|
|
|
|
# create traintastic user if it doesn't exist:
|
|
if ! getent passwd traintastic >/dev/null; then
|
|
adduser --system \
|
|
--ingroup traintastic \
|
|
--home /var/opt/traintastic \
|
|
--no-create-home \
|
|
--gecos "traintastic-server daemon" \
|
|
traintastic
|
|
usermod -a -G dialout,plugdev traintastic
|
|
fi
|
|
|
|
if [ ! -e /var/opt/traintastic ]; then
|
|
mkdir -p /var/opt/traintastic
|
|
chown traintastic:traintastic /var/opt/traintastic
|
|
fi
|
|
|
|
# Based on output by dh_installsystemd/13.6ubuntu1 (not auto generated due to CPack being used)
|
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
|
# This will only remove masks created by d-s-h on package removal.
|
|
deb-systemd-helper unmask 'traintastic-server.service' >/dev/null || true
|
|
|
|
# was-enabled defaults to true, so new installations run enable.
|
|
if deb-systemd-helper --quiet was-enabled 'traintastic-server.service'; then
|
|
# Enables the unit on first installation, creates new
|
|
# symlinks on upgrades if the unit file has changed.
|
|
deb-systemd-helper enable 'traintastic-server.service' >/dev/null || true
|
|
else
|
|
# Update the statefile to add new symlinks (if any), which need to be
|
|
# cleaned up on purge. Also remove old symlinks.
|
|
deb-systemd-helper update-state 'traintastic-server.service' >/dev/null || true
|
|
fi
|
|
fi
|
|
|
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
|
|
if [ -d /run/systemd/system ]; then
|
|
systemctl --system daemon-reload >/dev/null || true
|
|
if [ -n "$2" ]; then
|
|
_dh_action=restart
|
|
else
|
|
_dh_action=start
|
|
fi
|
|
deb-systemd-invoke $_dh_action 'traintastic-server.service' >/dev/null || true
|
|
fi
|
|
fi
|