]> git.deb.at Git - pkg/blosxom.git/commitdiff
Added preinst script to cleanup flavour symlinks which aren't shipped anymore, remove...
authorGerfried Fuchs <rhonda@debian.at>
Fri, 25 Jul 2008 14:09:50 +0000 (16:09 +0200)
committerGerfried Fuchs <rhonda@debian.at>
Fri, 25 Jul 2008 14:09:50 +0000 (16:09 +0200)
debian/changelog
debian/postinst [deleted file]
debian/preinst [new file with mode: 0644]
debian/rules

index c326cc788a9a9376ede54282abacff7d2c739caa..23f1c9ae9f36dce79baa7e4dcc0a7d48a53faec1 100644 (file)
@@ -14,8 +14,8 @@ blosxom (2.1.0-1) unstable; urgency=low
   * Generate conffiles file automatically to not miss anything
   * Changed postrm symlink cleanup to cleaning every symlink in the flavours
     dir (Closes: #454942, #486924)
-  * Changed postinst script to also cleanup flavour symlinks which aren't
-    shipped anymore.
+  * Added preinst script to cleanup flavour symlinks which aren't shipped
+    anymore, removed old postinst script.
   * Changed postrm to only do the cleanup when the directory still exists,
     thanks to Carsten Hey for pointing it out.
   * Bumped Standards-Version to 3.8.0:
diff --git a/debian/postinst b/debian/postinst
deleted file mode 100644 (file)
index fb6d298..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh -e
-# postrm script for blosxom
-# copyright 2007-2008 by Gerfried Fuchs <rhonda@debian.at>
-# Licenced in the same way as blosxom itself
-
-# cleanup for old flavors that got installed by packages prior to 2.1.0
-case "$1" in
-    purge)
-       if [ -d /var/lib/blosxom/data/flavours ] ; then
-               cd /var/lib/blosxom/data/flavours
-               for i in content_type.1993 content_type.html content_type.index \
-                       date.1993  date.html  date.index \
-                       foot.1993  foot.html  foot.index \
-                       head.1993  head.html  head.index \
-                       story.1993 story.html story.index ; do
-                       test ! -L $i || test ! -f $i || rm $i
-               done
-       fi
-    ;;
-esac
-
-exit 0
diff --git a/debian/preinst b/debian/preinst
new file mode 100644 (file)
index 0000000..9052dd1
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh -e
+# preinst script for blosxom
+# copyright 2007-2008 by Gerfried Fuchs <rhonda@debian.at>
+# Licenced in the same way as blosxom itself
+
+rm_conffile() {
+       PKGNAME="$1"
+       CONFFILE="$2"
+       if [ -e "$CONFFILE" ]; then
+               md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
+               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 ..."
+                       rm -f "$CONFFILE"
+               fi
+       fi
+}
+
+
+# cleanup for old flavors that got installed by packages prior to 2.1.0
+case "$1" in
+install|upgrade)
+       if dpkg --compare-versions "$2" le-nl "2.1.0-1"; then
+               for i in content_type.1993 content_type.html content_type.index \
+                       date.1993  date.html  date.index \
+                       foot.1993  foot.html  foot.index \
+                       head.1993  head.html  head.index \
+                       story.1993 story.html story.index ; do
+                       rm_conffile blosxom "/etc/blosxom/flavours/$i"
+               done
+       fi
+       if [ -d /var/lib/blosxom/data/flavours ] ; then
+               cd /var/lib/blosxom/data/flavours
+               for i in content_type.1993 content_type.html content_type.index \
+                       date.1993  date.html  date.index \
+                       foot.1993  foot.html  foot.index \
+                       head.1993  head.html  head.index \
+                       story.1993 story.html story.index ; do
+                       test ! -L $i || test ! -f $i || rm $i
+               done
+       fi
+esac
+
+exit 0
index bf77d331c64af06965027e1c8f9279b11d43f17d..4960765e8edb85304ac9728585af0717cf88597e 100755 (executable)
@@ -65,7 +65,7 @@ binary-indep: install
                $(TMP)/usr/share/doc/$(PKG)/changelog.Debian
        cd $(TMP)/usr/share/doc/$(PKG) && gzip -9 changelog.Debian NEWS.Debian
 
-       $(INSTALL_SCRIPT) debian/postinst debian/postrm $(TMP)/DEBIAN
+       $(INSTALL_SCRIPT) debian/preinst debian/postrm $(TMP)/DEBIAN
 
        find $(TMP)/etc -type f | sed -e 's#$(TMP)##' > $(TMP)/DEBIAN/conffiles