summaryrefslogtreecommitdiffstats
path: root/debian/sbuild.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/sbuild.postinst')
-rwxr-xr-xdebian/sbuild.postinst81
1 files changed, 81 insertions, 0 deletions
diff --git a/debian/sbuild.postinst b/debian/sbuild.postinst
new file mode 100755
index 0000000..d8b8854
--- /dev/null
+++ b/debian/sbuild.postinst
@@ -0,0 +1,81 @@
+#! /bin/sh
+# postinst script for sbuild
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see /usr/share/doc/packaging-manual/
+#
+# quoting from the policy:
+# Any necessary prompting should almost always be confined to the
+# post-installation script, and should be protected with a conditional
+# so that unnecessary prompting doesn't happen if a package's
+# installation fails and the `postinst' is called with `abort-upgrade',
+# `abort-remove' or `abort-deconfigure'.
+
+case "$1" in
+ configure)
+
+ # If sbuild is a user group, migrate to a system group. Save
+ # a list of group members, then add them back to the new group
+ # once created.
+ SGID="$(grep ^sbuild: /etc/group | sed -r -e 's/([^:]+):([^:]+):([^:]+):.*/\3/')"
+ if [ -n "$SGID" ] && [ "$SGID" -ge "1000" ]; then
+ SUSR="$(grep ^sbuild: /etc/group | sed -r -e 's/([^:]+):([^:]+):([^:]+):(.*)$/\4/' -e 's/,/ /g')"
+ delgroup --quiet sbuild
+ fi
+
+ if ! getent group sbuild > /dev/null; then
+ addgroup --system --quiet sbuild
+ fi
+
+ # Restore group membership to users in old user group (if any)
+ for user in $SUSR; do
+ adduser $user sbuild
+ done
+
+ # Create dedicated sbuild user
+ if ! getent passwd sbuild > /dev/null; then
+ adduser --system --quiet --home /var/lib/sbuild --no-create-home \
+ --shell /bin/bash --ingroup sbuild --comment "Debian source builder" sbuild
+ fi
+ # Unlock account in case it was locked from previous purge.
+ usermod -U -e '' sbuild || true
+
+ chown sbuild:sbuild /var/lib/sbuild /var/lib/sbuild/apt-keys /var/lib/sbuild/build
+ chmod 02770 /var/lib/sbuild
+ chmod 02770 /var/lib/sbuild/apt-keys
+ [ -f /var/lib/sbuild/avg-build-space ] && \
+ chmod 0664 /var/lib/sbuild/avg-build-space
+ [ -f /var/lib/sbuild/avg-build-times ] && \
+ chmod 0664 /var/lib/sbuild/avg-build-times
+
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+
+ ;;
+
+ *)
+
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 0
+
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0