X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=83198930629762c28d59f4e0c451454b9e938a19;hb=0a82ca4af4f5e0f10efa5ceb7b00164687bdb2d1;hp=f56b7aca18d4a5e444bda3e08bd851bf707062c6;hpb=83f37b8fd3d56064545b37748c3c511545eb9000;p=squirrelmail-change-pass-cn.git diff --git a/debian/postinst b/debian/postinst index f56b7ac..8319893 100644 --- a/debian/postinst +++ b/debian/postinst @@ -5,18 +5,17 @@ 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.0.2" 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 +min_pass_changed=0 # Configure poppassd to refuse connection from all hosts @@ -36,32 +35,78 @@ if ! egrep -q '^poppassd:' /etc/hosts.allow; then fi -# Configure SquirrelMail change_pass plugin - using defaults, -# no configuration files. +# First of all, do the backup. # -if [ "$2" ] && dpkg --compare-versions $2 lt $VERSION; then +done_backup=0 +for cpconf_file in $SQCPCONF $CPCONF; do + if [ -f "$cpconf_file" ] && [ ! -L "$cpconf_file" ]; then + cp_echo "CN: Doing backup for $cpconf_file" + cp_backup_conffile -d "/var/backups/$PKG" -p $cpconf_file + done_backup=1 + fi +done +if [ $done_backup -eq 1 ]; then + cp_echo "CN: Backup is located in directory: /var/backups/$PKG/" +fi + + +# Remove change_pass configuration files if earlier version is +# older than 3.0-1. +# +if [ "$2" ] && dpkg --compare-versions $2 lt 3.0-1; 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/." + for cpconf_file in $SQCPCONF $CPCONF; do + if [ -f "$cpconf_file" ] || [ -L "$cpconf_file" ]; then + rm -f $cpconf_file + cp_echo "CN: Removed old $cpconf_file" + fi + done +fi + + +# Check for change_pass configuration files and notify user about +# minimum password length configuration. +# +if egrep -q '^\$plugins\[[0-9]+\][\ ]*=[\ ]*'\''change_pass'\' "$SQCONF"; then + /usr/sbin/squirrelmail-configure --remove-plugin change_pass fi -if [ -f "$SQCPCONF" ]; then - mv -f "$SQCPCONF" "$SQCPCONF.cn-old" - cp_echo "CN: Old $SQCPCONF disabled and renamed to $SQCPCONF.cn-old." + +if [ ! -f "$SQCPCONF" ]; then + + if [ -f "$CPCONF" ]; then + cp -f "$CPCONF" "$SQCPCONF" + cp_echo "CN: $CPCONF copied to $SQCPCONF" + else + + # Configuration file does not exist. + cp_echo "CN: Generating new file $SQCPCONF" + cat > "$SQCPCONF" </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 +149,6 @@ fi # cp_mail "$PKG" +#DEBHELPER# + exit 0