#! /bin/sh # postinst script for privoxy # # 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 http://www.debian.org/doc/debian-policy/ or # the debian-policy package # # 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'. CONFDIR=/etc/privoxy CONFIG=$CONFDIR/config EXAMPLE_CONFIG=/usr/share/privoxy/config . /usr/share/debconf/confmodule case "$1" in configure) adduser --quiet --system --home $CONFDIR --no-create-home \ --ingroup nogroup --disabled-password privoxy chown privoxy:adm /var/log/privoxy [ -f /var/log/privoxy/logfile ] \ && chown privoxy:adm /var/log/privoxy/logfile chmod 750 /var/log/privoxy chown privoxy $CONFDIR/user.action $CONFDIR/trust [ -f $CONFDIR/match-all.action ] \ && chown privoxy $CONFDIR/match-all.action chown privoxy:adm /var/lib/privoxy/certs chmod 700 /var/lib/privoxy/certs db_get privoxy/listen-address || true perl -le ' $done = 0; while () { chomp; if ($_ =~ m/^\s*listen-address\s+.*/) { if (!$done) { foreach (@ARGV) { print "listen-address $_"; } } $done = 1; } else { print; } }' \ $RET \ < $EXAMPLE_CONFIG > $CONFIG.ucftmp ucf --three-way --debconf-ok $CONFIG.ucftmp $CONFIG ucfr privoxy $CONFIG rm -f $CONFIG.ucftmp db_stop if [ "x$2" != "x" ] && dpkg --compare-versions "$2" lt "3.0.4" then # Upgrading from a 3.0.3* version chown root $CONFDIR/default.action fi if [ "x$2" != "x" ] && dpkg --compare-versions "$2" lt "3.0.7" \ && grep -q '^actionsfile [a-z]*[[:space:]]*#.*$' $CONFIG then # Upgrading from version before 3.0.7 where the user kept his old # (modified) config file: # Try to change "actionsfile foo" to "actionsfile foo.action" # as needed in 3.0.7: sed 's/^actionsfile \([a-z]*\)\([ ]*\#\)/actionsfile \1.action\2/' \ -i.bak $CONFIG fi if [ "x$2" != "x" ] && dpkg --compare-versions "$2" lt "3.0.11" then # Upgrading from a version before 3.0.11 # Try to work around problems with missing action files if grep -q '^actionsfile.*global.action' $CONFIG then if [ -e $CONFDIR/global.action ] then mv $CONFDIR/global.action $CONFDIR/global.action.dpkg-old fi (cd $CONFDIR; ln -s match-all.action global.action) fi if grep -q '^actionsfile.*standard.action' $CONFIG then if [ -e $CONFDIR/standard.action ] then if ! grep -q migration $CONFDIR/standard.action then mv $CONFDIR/standard.action \ $CONFDIR/standard.action.dpkg-old echo "# migration file. Not used in 3.0.11 and newer" \ > $CONFDIR/standard.action fi else echo "# migration file. Not used in 3.0.11 and newer" \ > $CONFDIR/standard.action fi fi fi ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0