#! /bin/sh # postinst script for gopher # # 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'. case "$1" in configure) # Allow this part to fail. set +e UNAME=gopher HOMEDIR=/var/gopher if test -d $HOMEDIR; then HOMEDIREXISTS=yes; else HOMEDIREXISTS=no; fi if ! grep -q "^${UNAME}:.*${HOMEDIR}" /etc/passwd then adduser --system --home $HOMEDIR --group $UNAME else echo "Gopher account already in place; not modifying." fi if ! grep -q "^${UNAME}:" /etc/passwd then echo Failed to create user $UNAME exit 1 fi if ! grep -q \^${UNAME}: /etc/group then echo Failed to create group $UNAME exit 1 fi # Restore normal error checking set -e if [ `grep ^gopher: /etc/passwd | cut -d: -f7` = '/bin/false' ] ; then chsh -s /bin/sh gopher fi ;; 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. if [ "$HOMEDIREXISTS" = "no" ]; then chown -R gopher.gopher /var/gopher fi touch /var/log/gopherd.log chown gopher.adm /var/log/gopherd.log #DEBHELPER# exit 0