#! /bin/sh # postinst script for pure-ftpd-common 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) CONF=/etc/default/pure-ftpd-common # create CONF if it doesn't exist if [ ! -e $CONF ]; then cat > $CONF <<-END # Configuration for pure-ftpd # (this file is sourced by /bin/sh, edit accordingly) # STANDALONE_OR_INETD # valid values are "standalone" and "inetd". # Any change here overrides the setting in debconf. STANDALONE_OR_INETD= # VIRTUALCHROOT: # whether to use binary with virtualchroot support # valid values are "true" or "false" # Any change here overrides the setting in debconf. VIRTUALCHROOT= # UPLOADSCRIPT: if this is set and the daemon is run in standalone mode, # pure-uploadscript will also be run to spawn the program given below # for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or # pure-uploadscript(8) # example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl UPLOADSCRIPT= # if set, pure-uploadscript will spawn $UPLOADSCRIPT running as the # given uid and gid UPLOADUID= UPLOADGID= END fi # get settings from debconf . /usr/share/debconf/confmodule db_get pure-ftpd/standalone-or-inetd SOI="$RET" db_get pure-ftpd/ftpwho-setuid SUID="$RET" db_get pure-ftpd/virtualchroot VCH="$RET" # If the admin deleted or commented some variables but then set # them via debconf, (re-)add them to the conffile. test -z "$SOI" || grep -Eq '^ *STANDALONE_OR_INETD=' $CONF || \ echo "STANDALONE_OR_INETD=" >> $CONF test -z "$VCH" || grep -Eq '^ *VIRTUALCHROOT=' $CONF || \ echo "VIRTUALCHROOT=" >> $CONF # replace values sed -e "s/STANDALONE_OR_INETD=.*/STANDALONE_OR_INETD=$SOI/" \ -e "s/VIRTUALCHROOT=.*/VIRTUALCHROOT=$VCH/" \ < $CONF > $CONF.new mv -f $CONF.new $CONF . $CONF # if no statoverrides available or none exist for us... if [ -x /usr/sbin/pure-ftpwho ]; then if ! dpkg-statoverride --list /usr/sbin/pure-ftpwho >/dev/null; then if [ "$SUID" = true ]; then chmod 4755 /usr/sbin/pure-ftpwho else chmod 0755 /usr/sbin/pure-ftpwho fi fi 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. exit 0