From a878a18584c1b6b5678c11e7c62e65eb8127fd1a Mon Sep 17 00:00:00 2001
From: Julien Cristau <jcristau@debian.org>
Date: Sat, 22 May 2010 13:40:19 +0200
Subject: [PATCH 1/5] Delete obsolete /etc/network/if-{up,down}.d and /etc/ppp/ip-{up,down}.d scripts (closes: #578684).

---
 debian/cdbs/if-updown.mk       |    9 ---------
 debian/cdbs/ip-updown.mk       |    9 ---------
 debian/changelog               |    7 +++++++
 debian/polipo.postinst         |   24 ++++++++++++++++--------
 debian/polipo.postrm           |   25 ++++++++++++++++++-------
 debian/polipo.preinst          |   35 +++++++++++++++++++++++++++++++++++
 debian/rules                   |    2 --
 debian/updown/if-down/01polipo |   20 --------------------
 debian/updown/if-up/01polipo   |   20 --------------------
 debian/updown/ip-down/1polipo  |   20 --------------------
 debian/updown/ip-up/1polipo    |   20 --------------------
 11 files changed, 76 insertions(+), 115 deletions(-)
 delete mode 100644 debian/cdbs/if-updown.mk
 delete mode 100644 debian/cdbs/ip-updown.mk
 create mode 100644 debian/polipo.preinst
 delete mode 100644 debian/updown/if-down/01polipo
 delete mode 100644 debian/updown/if-up/01polipo
 delete mode 100644 debian/updown/ip-down/1polipo
 delete mode 100644 debian/updown/ip-up/1polipo

diff --git a/debian/cdbs/if-updown.mk b/debian/cdbs/if-updown.mk
deleted file mode 100644
index 9f9dba3..0000000
--- a/debian/cdbs/if-updown.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-common-install-arch::
-	shopt nullglob; \
-	for d in if-up if-down; do \
-		for script in debian/updown/$$d/*; do \
-			S=`basename $$script` ;\
-			install --mode=755 -D $$script \
-				$(DEB_DESTDIR)/etc/network/$$d.d/$$S ;\
-		done ;\
-	done
diff --git a/debian/cdbs/ip-updown.mk b/debian/cdbs/ip-updown.mk
deleted file mode 100644
index b9b209a..0000000
--- a/debian/cdbs/ip-updown.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-common-install-arch::
-	shopt nullglob; \
-	for d in ip-up ip-down; do \
-		for script in debian/updown/$$d/*; do \
-			S=`basename $$script` ;\
-			install --mode=755 -D $$script \
-				$(DEB_DESTDIR)/etc/ppp/$$d.d/$$S ;\
-		done ;\
-	done
diff --git a/debian/changelog b/debian/changelog
index 9da2701..801df11 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+polipo (1.0.4.1-1.1) UNRELEASED; urgency=low
+
+  * Delete obsolete /etc/network/if-{up,down}.d and /etc/ppp/ip-{up,down}.d
+    scripts (closes: #578684).
+
+ -- Julien Cristau <jcristau@debian.org>  Sat, 01 May 2010 17:48:59 +0200
+
 polipo (1.0.4.1-1) unstable; urgency=low
 
   * New maintainer.
diff --git a/debian/polipo.postinst b/debian/polipo.postinst
index 28fe6ff..047ef85 100644
--- a/debian/polipo.postinst
+++ b/debian/polipo.postinst
@@ -9,9 +9,25 @@ LOG_DIR=/var/log/polipo
 IPUP_D=/etc/ppp/ip-up.d
 IPDOWN_D=/etc/ppp/ip-down.d
 
+rm_conffile() {
+    local PKGNAME="$1" # Unused
+    local CONFFILE="$2"
+    if [ -f "$CONFFILE".dpkg-del ]; then
+        rm -f "$CONFFILE".dpkg-del
+    fi
+}
+
 case "$1" in
     configure)
 
+        # delete obsolete conffiles
+        if dpkg --compare-versions "$2" le 1.0.4.1-1; then
+            rm_conffile polipo /etc/ppp/ip-up.d/1polipo
+            rm_conffile polipo /etc/ppp/ip-down.d/1polipo
+            rm_conffile polipo /etc/network/if-up.d/01polipo
+            rm_conffile polipo /etc/network/if-down.d/01polipo
+        fi
+
 # Creating needed directories
         mkdir -p "$CACHE_DIR"
 	chown proxy:proxy "$CACHE_DIR"
@@ -24,14 +40,6 @@ case "$1" in
 	chown proxy:adm "$LOG_DIR"
 	chmod 2755 "$LOG_DIR"
 
-# /etc/ppp/ip-up/down.d/1polipo used to be called ip-up/down/polipo, so move
-# the old one out of the way
-	for D in "$IPUP_D" "$IPDOWN_D"; do
-	    if [ -e "$D/polipo" ]; then
-		mv "$D/polipo" "$D/polipo.old"
-	    fi
-	done
-
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/polipo.postrm b/debian/polipo.postrm
index 370bc4a..6f36fff 100644
--- a/debian/polipo.postrm
+++ b/debian/polipo.postrm
@@ -10,6 +10,15 @@ LOG_DIR=/var/log/polipo
 IPUP_D=/etc/ppp/ip-up.d
 IPDOWN_D=/etc/ppp/ip-down.d
 
+rm_conffile() {
+    local PKGNAME="$1" # Unused
+    local CONFFILE="$2"
+
+    if [ -f "$CONFFILE".dpkg-del ]; then
+        mv -f "$CONFFILE".dpkg-del "$CONFFILE"
+    fi
+}
+
 case "$1" in
     purge)
 
@@ -20,16 +29,18 @@ case "$1" in
 	    echo " done"
 	done
 
-# Removing old /etc/ppp/ip-up/down.d/ scripts
-	for D in "$IPUP_D" "$IPDOWN_D"; do
-	    if [ -e "$D/polipo.old" ]; then
-		rm -f "$D/polipo.old"
-	    fi
-	done
+    ;;
 
+    abort-install|abort-upgrade)
+        if dpkg --compare-versions "$2" le 1.0.4.1-1; then
+            rm_conffile polipo /etc/ppp/ip-up.d/1polipo
+            rm_conffile polipo /etc/ppp/ip-down.d/1polipo
+            rm_conffile polipo /etc/network/if-up.d/01polipo
+            rm_conffile polipo /etc/network/if-down.d/01polipo
+        fi
     ;;
 
-    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    remove|upgrade|failed-upgrade|disappear)
 
     ;;
 
diff --git a/debian/polipo.preinst b/debian/polipo.preinst
new file mode 100644
index 0000000..9bb9f60
--- /dev/null
+++ b/debian/polipo.preinst
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+set -e
+
+# Remove a no-longer used conffile
+rm_conffile() {
+    local PKGNAME="$1"
+    local CONFFILE="$2"
+
+    [ -e "$CONFFILE" ] || return 0
+
+    local md5sum="$(md5sum $CONFFILE | sed -e 's/ .*//')"
+    local old_md5sum="$(dpkg-query -W -f='${Conffiles}' $PKGNAME | \
+            sed -n -e "\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")"
+    if [ "$md5sum" != "$old_md5sum" ]; then
+        echo "Obsolete conffile $CONFFILE has been modified by you."
+        echo "Saving as $CONFFILE.dpkg-bak ..."
+        mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
+    else
+        echo "Removing obsolete conffile $CONFFILE ..."
+        mv -f "$CONFFILE" "$CONFFILE".dpkg-del
+    fi
+}
+
+case "$1" in
+install|upgrade)
+    if dpkg --compare-versions "$2" le "1.0.4.1-1"; then
+        rm_conffile polipo /etc/ppp/ip-up.d/1polipo
+        rm_conffile polipo /etc/ppp/ip-down.d/1polipo
+        rm_conffile polipo /etc/network/if-up.d/01polipo
+        rm_conffile polipo /etc/network/if-down.d/01polipo
+    fi
+esac
+
+#DEBHELPER#
diff --git a/debian/rules b/debian/rules
index 06197a5..d023ee3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,8 +3,6 @@ include /usr/share/cdbs/1/rules/dpatch.mk
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/class/makefile.mk
 include debian/cdbs/helper-scripts.mk
-include debian/cdbs/ip-updown.mk
-include debian/cdbs/if-updown.mk
 include debian/cdbs/options.mk
 
 DEB_MAKE_INVOKE = $(DEB_MAKE_ENVVARS) make -C $(DEB_BUILDDIR)
diff --git a/debian/updown/if-down/01polipo b/debian/updown/if-down/01polipo
deleted file mode 100644
index 17418a7..0000000
--- a/debian/updown/if-down/01polipo
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-set -e
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-OPTION_FILE=/etc/polipo/options
-PPCTL=/usr/lib/polipo/polipo-control
-test -x $PPCTL  || exit 0
-
-# Exit if lo interface
-[ "$METHOD" = "loopback" ] && exit 0
-
-if [ -f $OPTION_FILE ] && \
-	( grep -qsxi '^[[:blank:]]*method[[:blank:]]*any[[:blank:]]*$' $OPTION_FILE \
-	|| grep -qsxi '^[[:blank:]]*method[[:blank:]]*$METHOD[[:blank:]]*$' $OPTION_FILE ) then
-    $PPCTL go-offline
-fi
-
-exit 0
diff --git a/debian/updown/if-up/01polipo b/debian/updown/if-up/01polipo
deleted file mode 100644
index 463625c..0000000
--- a/debian/updown/if-up/01polipo
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-set -e
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-OPTION_FILE=/etc/polipo/options
-PPCTL=/usr/lib/polipo/polipo-control
-test -x $PPCTL  || exit 0
-
-# Exit if lo interface
-[ "$METHOD" = "loopback" ] && exit 0
-
-if [ -f $OPTION_FILE ] && \
-	( grep -qsxi '^[[:blank:]]*method[[:blank:]]*any[[:blank:]]*$' $OPTION_FILE \
-	|| grep -qsxi '^[[:blank:]]*method[[:blank:]]*$METHOD[[:blank:]]*$' $OPTION_FILE ) then
-    $PPCTL go-online
-fi
-
-exit 0
diff --git a/debian/updown/ip-down/1polipo b/debian/updown/ip-down/1polipo
deleted file mode 100644
index 0031935..0000000
--- a/debian/updown/ip-down/1polipo
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-set -e
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-OPTION_FILE=/etc/polipo/options
-PPCTL=/usr/lib/polipo/polipo-control
-test -x $PPCTL  || exit 0
-
-# Exit if lo interface
-[ "$METHOD" = "loopback" ] && exit 0
-
-if [ -f $OPTION_FILE ] && \
-	( grep -qsxi '^[[:blank:]]*method[[:blank:]]*any[[:blank:]]*$' $OPTION_FILE \
-	|| grep -qsxi '^[[:blank:]]*method[[:blank:]]*ppp[[:blank:]]*$' $OPTION_FILE ) then
-    $PPCTL go-offline
-fi
-
-exit 0
diff --git a/debian/updown/ip-up/1polipo b/debian/updown/ip-up/1polipo
deleted file mode 100644
index 7c75473..0000000
--- a/debian/updown/ip-up/1polipo
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-set -e
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-OPTION_FILE=/etc/polipo/options
-PPCTL=/usr/lib/polipo/polipo-control
-test -x $PPCTL  || exit 0
-
-# Exit if lo interface
-[ "$METHOD" = "loopback" ] && exit 0
-
-if [ -f $OPTION_FILE ] && \
-	( grep -qsxi '^[[:blank:]]*method[[:blank:]]*any[[:blank:]]*$' $OPTION_FILE \
-	|| grep -qsxi '^[[:blank:]]*method[[:blank:]]*ppp[[:blank:]]*$' $OPTION_FILE ) then
-    $PPCTL go-online
-fi
-
-exit 0
-- 
1.7.1

