Add elwig-backend.service to .deb package
This commit is contained in:
12
pkg/deb.sh
12
pkg/deb.sh
@ -8,6 +8,12 @@ mkdir -p build/
|
||||
mkdir -p build/usr/bin/
|
||||
cp src/elwig-backend build/usr/bin
|
||||
|
||||
mkdir -p build/lib/systemd/system/
|
||||
cp pkg/elwig-backend.service build/lib/systemd/system
|
||||
|
||||
mkdir -p build/etc/elwig
|
||||
cp backend.sample.ini build/etc/elwig/backend.ini
|
||||
|
||||
mkdir -p build/DEBIAN/
|
||||
echo -n "\
|
||||
Package: elwig-backend
|
||||
@ -17,11 +23,15 @@ Priority: optional
|
||||
Essential: no
|
||||
Architecture: all
|
||||
Depends: python3
|
||||
Installed-Size: $(du -ks build/usr/bin/ | cut -f 1)
|
||||
Installed-Size: $(du -ks build/usr/bin/ build/etc/ build/lib/systemd/system/ | cut -f 1 | paste -sd+ | bc)
|
||||
Maintainer: Lorenz Stechauner <lorenz.stechauner@necronda.net>
|
||||
Homepage: https://git.necronda.net/winzer/elwig-backend
|
||||
Description: Local backend for Elwig's REST API
|
||||
" > build/DEBIAN/control
|
||||
echo -n "\
|
||||
/etc/elwig/backend.ini
|
||||
" > build/DEBIAN/conffiles
|
||||
cp pkg/postinst pkg/prerm pkg/postrm build/DEBIAN
|
||||
|
||||
chmod 0755 build/usr/bin/*
|
||||
sudo chown root:root -R build/
|
||||
|
13
pkg/elwig-backend.service
Normal file
13
pkg/elwig-backend.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Elwig backend
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
RestartSec=5s
|
||||
Type=simple
|
||||
User=nobody
|
||||
ExecStart=/usr/bin/elwig-backend /etc/elwig/backend.ini
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
25
pkg/postinst
Executable file
25
pkg/postinst
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
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 'elwig-backend.service' >/dev/null || true
|
||||
# was-enabled defaults to true, so new installations run enable.
|
||||
if deb-systemd-helper --quiet was-enabled 'elwig-backend.service'; then
|
||||
# Enables the unit on first installation, creates new
|
||||
# symlinks on upgrades if the unit file has changed.
|
||||
deb-systemd-helper enable 'elwig-backend.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 'elwig-backend.service' >/dev/null || true
|
||||
fi
|
||||
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 'elwig-backend.service' >/dev/null || true
|
||||
fi
|
||||
fi
|
16
pkg/postrm
Executable file
16
pkg/postrm
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
if [ -d /run/systemd/system ]; then
|
||||
systemctl --system daemon-reload >/dev/null || true
|
||||
fi
|
||||
if [ "$1" = "remove" ]; then
|
||||
if [ -x "/usr/bin/deb-systemd-helper" ]; then
|
||||
deb-systemd-helper mask 'elwig-backend.service' >/dev/null || true
|
||||
fi
|
||||
fi
|
||||
if [ "$1" = "purge" ]; then
|
||||
if [ -x "/usr/bin/deb-systemd-helper" ]; then
|
||||
deb-systemd-helper purge 'elwig-backend.service' >/dev/null || true
|
||||
deb-systemd-helper unmask 'elwig-backend.service' >/dev/null || true
|
||||
fi
|
||||
fi
|
Reference in New Issue
Block a user