#! /bin/sh # postinst script for sbuild # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # 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'. # Move a conffile without triggering a dpkg question mv_conffile() { OLDCONFFILE="$1" NEWCONFFILE="$2" if [ -e "$OLDCONFFILE" ]; then echo "Preserving user changes to $NEWCONFFILE ..." mv -f "$NEWCONFFILE" "$NEWCONFFILE".dpkg-new mv -f "$OLDCONFFILE" "$NEWCONFFILE" fi } case "$1" in configure) if dpkg --compare-versions "$2" lt "0.60.1-1"; then mv_conffile "/etc/sbuild/copyfiles-defaults" \ "/etc/schroot/buildd/copyfiles" mv_conffile "/etc/sbuild/nssdatabases-defaults" \ "/etc/schroot/buildd/nssdatabases" fi # 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 --gecos "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. exit 0