[DRE-commits] [schleuder] 05/10: debian/schleuder.postinst: Check if fresh install or upgrade
Georg Faerber
georg-alioth-guest at moszumanska.debian.org
Tue Dec 13 18:03:17 UTC 2016
This is an automated email from the git hooks/post-receive script.
georg-alioth-guest pushed a commit to tag debian/3.0.0_beta11-1+wip-2
in repository schleuder.
commit 07adc3ee8d241ea11b1f682674349bc56877e52c
Author: Georg Faerber <georg at riseup.net>
Date: Sat Dec 10 16:49:34 2016 +0100
debian/schleuder.postinst: Check if fresh install or upgrade
---
debian/schleuder.postinst | 71 ++++++++++++++++++++++++++++-------------------
1 file changed, 43 insertions(+), 28 deletions(-)
diff --git a/debian/schleuder.postinst b/debian/schleuder.postinst
index 7d37aae..2442d3d 100644
--- a/debian/schleuder.postinst
+++ b/debian/schleuder.postinst
@@ -4,40 +4,55 @@ set -e
case "$1" in
configure)
- # We need to do this because code ordering in 'schleuder install' is wrong currently.
- # Upstream is informed, will be resolved and fixed very soon.
- touch /var/lib/schleuder/db.sqlite
+ # Fresh installations or upgrades of schleuder (< 3.0).
+ if [ -z "$2" ] || dpkg --compare-versions "$2" lt 3.0; then
+ # We need to do this because code ordering in 'schleuder install' is wrong currently.
+ # Upstream is informed, will be resolved and fixed very soon.
+ touch /var/lib/schleuder/db.sqlite
+ fi
- # 'schleuder install' will set up the database and run migrations.
- schleuder install >/dev/null
+ # 'schleuder install' will set up the database and/or run migrations.
+ # This needs to be done in any case.
+ schleuder install >/dev/null
+
+ # Fresh installations or upgrades of schleuder (< 3.0).
+ if [ -z "$2" ] || dpkg --compare-versions "$2" lt 3.0; then
+ if ! id schleuder >/dev/null 2>&1; then
+ adduser --system --group --gecos "Schleuder GPG-enabled mailing list manager" \
+ --no-create-home --home /var/lib/schleuder schleuder >/dev/null
+ fi
+
+ # Ensure sane permissions.
+ chown -R schleuder:schleuder /var/lib/schleuder /var/log/schleuder /etc/schleuder
+ chmod -R 750 /var/lib/schleuder /var/log/schleuder /etc/schleuder
+
+ # Enable and start 'schleuder-api-daemon' by default.
+ # We're doing this here manually instead of just relying on debhelper because we need
+ # to set up the database first, see above and 'debian/rules'.
+ deb-systemd-helper enable schleuder-api-daemon.service
+ deb-systemd-invoke restart schleuder-api-daemon.service
+
+ # All done, so let's exit here.
+ exit 0
+ fi
- if ! id schleuder >/dev/null 2>&1; then
- adduser --system --group --gecos "Schleuder GPG-enabled mailing list manager" \
- --no-create-home --home /var/lib/schleuder schleuder >/dev/null
+ # Upgrades of schleuder (>= 3.0).
+ if ! [ -z "$2" ]; then
+ # Only restart 'schleuder-api-daemon' if it is running currently.
+ RUNNING=$(systemctl is-active schleuder-api-daemon.service >/dev/null && echo $?)
+
+ if [ $RUNNING = 0 ]; then
+ deb-systemd-invoke restart schleuder-api-daemon.service
+ fi
fi
+ ;;
- if ! dpkg-statoverride --list "/var/lib/schleuder"; then
- chown -R schleuder:schleuder /var/lib/schleuder
- chmod -R 750 /var/lib/schleuder
- fi
-
- if ! dpkg-statoverride --list "/var/log/schleuder"; then
- chown -R schleuder:schleuder /var/log/schleuder
- chmod -R 750 /var/log/schleuder
- fi
-
- if ! dpkg-statoverride --list "/etc/schleuder"; then
- chown -R schleuder:schleuder /etc/schleuder
- chmod -R 750 /etc/schleuder
- fi
-
- # We're doing this here manually instead of just relying on debhelper because we need
- # to set up the database first, see above and 'debian/rules'.
- deb-systemd-helper enable schleuder-api-daemon.service
- deb-systemd-invoke restart schleuder-api-daemon.service
+ abort-upgrade|abort-remove|abort-deconfigure)
;;
-
+
*)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
;;
esac
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/schleuder.git
More information about the Pkg-ruby-extras-commits
mailing list