X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=cd144c9d0cb9b8c6166b36d066e1ea9c38ba596d;hb=HEAD;hp=f56b7aca18d4a5e444bda3e08bd851bf707062c6;hpb=83f37b8fd3d56064545b37748c3c511545eb9000;p=squirrelmail-change-pass-cn.git diff --git a/debian/postinst b/debian/postinst index f56b7ac..cd144c9 100644 --- a/debian/postinst +++ b/debian/postinst @@ -5,19 +5,36 @@ set -e [ "$1" = "configure" ] || exit 0 [ $DEBIAN_SCRIPT_DEBUG ] && set -vx +# Include CARNet functions +. /usr/share/carnet-tools/functions.sh PKG="squirrelmail-change-pass-cn" -VERSION="3.0-1" +VERSION="3.1.4.1" SQCONFDIR="/etc/squirrelmail" SQCONF="$SQCONFDIR/config.php" -SQCPCONF="$SQCONFDIR/config_change_pass.php" -CPCONF="/usr/share/squirrelmail/plugins/change_pass/config.php" need_restart=0 -# Include CARNet functions -. /usr/share/carnet-tools/functions.sh - +# chk_conf_tag () +# +# Check if configuration file has CARNet package info lines. +# return: $RET => 0 - tagged +# 1 - file does not exists +# 2 - file exists, but it is not tagged +# +chk_conf_tag () { + local conf_file + conf_file="$1" + RET=1 + + if [ -f "$conf_file" ]; then + if egrep -q "^## Begin - Generated by CARNet package ${PKG}$" "$conf_file"; then + RET=0 + else + RET=2 + fi + fi +} # Configure poppassd to refuse connection from all hosts # but localhost (127.0.0.1). @@ -36,67 +53,50 @@ if ! egrep -q '^poppassd:' /etc/hosts.allow; then fi -# Configure SquirrelMail change_pass plugin - using defaults, -# no configuration files. -# -if [ "$2" ] && dpkg --compare-versions $2 lt $VERSION; then - cp_echo "CN: This version of change_pass plugin contains major changes." - cp_echo "CN: For detailed description, see documentation in /usr/share/doc/$PKG/." -fi -if [ -f "$SQCPCONF" ]; then - mv -f "$SQCPCONF" "$SQCPCONF.cn-old" - cp_echo "CN: Old $SQCPCONF disabled and renamed to $SQCPCONF.cn-old." -fi -if [ -f "$CPCONF" ]; then - mv -f "$CPCONF" "$CPCONF.cn-old" - cp_echo "CN: Old $CPCONF disabled and renamed to $CPCONF.cn-old." -fi - - # Enable change_pass plugin in SquirrelMail config.php. # if ! egrep -q '^\$plugins\[[0-9]+\][\ ]*=[\ ]*'\''change_pass'\' "$SQCONF"; then - - if cp_check_and_backup "$SQCONF"; then - cp_echo "CN: Old $SQCONF saved as \"/var/backups/${SQCONF##*/}.bak\"." - fi - - cp_echo "CN: Enabling SquirrelMail change_pass plugin in $SQCONF" - /usr/sbin/squirrelmail-configure --install-plugin change_pass + squirrelmail-configure --install-plugin change_pass fi # Convert poppassd service from inetd.conf to xinetd.conf type. # Service configuration is saved in /etc/xinetd.d/ directory. # -if [ -x /etc/init.d/xinetd -a -d /etc/xinetd.d -a -x /usr/sbin/itox ]; then - - if egrep -q '^poppassd' /etc/inetd.conf && \ - [ ! -f /etc/xinetd.d/poppassd ]; then +chk_conf_tag /etc/xinetd.d/poppassd +if [ $RET -lt 2 ]; then + cp_echo "CN: Enabling poppassd in /etc/xinetd.d/poppassd" - cp_echo "CN: Enabling poppassd in /etc/xinetd.d/poppassd" - - touch /etc/xinetd.d/poppassd.$$ - grep "^poppassd" /etc/inetd.conf | \ - itox -daemon_dir /usr/sbin | cp-update "$PKG" /etc/xinetd.d/poppassd.$$ - cp_mv /etc/xinetd.d/poppassd.$$ /etc/xinetd.d/poppassd - - need_restart=1 - fi + if [ ! -d /etc/xinetd.d ]; then + mkdir -p /etc/xinetd.d/ + fi + touch /etc/xinetd.d/poppassd.$$ + cp-update "$PKG" /etc/xinetd.d/poppassd.$$ </dev/null`" ]; then - invoke-rc.d xinetd restart || exit $? - else - /etc/init.d/xinetd restart || exit $? - fi - fi + if [ -x "/etc/init.d/xinetd" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d xinetd restart || exit $? + else + /etc/init.d/xinetd restart || exit $? + fi + fi fi @@ -104,4 +104,6 @@ fi # cp_mail "$PKG" +#DEBHELPER# + exit 0