Prva inacica za jessie
[squirrelmail-change-pass-cn.git] / debian / postinst
index f56b7ac..cd144c9 100644 (file)
@@ -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.$$ <<EOF
+service poppassd
+{
+       socket_type     = stream
+       protocol        = tcp
+       wait            = no
+       user            = root
+       server          = /usr/sbin/poppassd
+}
+EOF
+    cp_mv /etc/xinetd.d/poppassd.$$ /etc/xinetd.d/poppassd
+
+    need_restart=1
 fi
 
 
 # Restart xinetd if needed.
 #
 if [ $need_restart -eq 1 ]; then
-
-       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
+    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