summaryrefslogtreecommitdiffstats
path: root/debian/initramfs-tools.preinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/initramfs-tools.preinst')
-rwxr-xr-xdebian/initramfs-tools.preinst42
1 files changed, 42 insertions, 0 deletions
diff --git a/debian/initramfs-tools.preinst b/debian/initramfs-tools.preinst
new file mode 100755
index 0000000..3084c4a
--- /dev/null
+++ b/debian/initramfs-tools.preinst
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+set -e
+
+mvverbose=-v
+
+# from dpkg-maintscript-helper, modified
+ensure_package_owns_file() {
+ local PACKAGE="$1"
+ local FILE="$2"
+
+ dpkg-query -L "$PACKAGE" | grep -F -q -x "$FILE"
+}
+
+# from dpkg-maintscript-helper
+prepare_rm_conffile() {
+ local CONFFILE="$1"
+ local PACKAGE="$2"
+
+ [ -e "$CONFFILE" ] || return 0
+ ensure_package_owns_file "$PACKAGE" "$CONFFILE" || return 0
+
+ local md5sum old_md5sum
+ md5sum="$(md5sum "$CONFFILE" | sed -e 's/ .*//')"
+ old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$PACKAGE" | \
+ sed -n -e "\\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")"
+ if [ "$md5sum" != "$old_md5sum" ]; then
+ mv $mvverbose -f "$CONFFILE" "$CONFFILE.dpkg-backup"
+ else
+ mv $mvverbose -f "$CONFFILE" "$CONFFILE.dpkg-remove"
+ fi
+}
+
+# When upgrading from <0.123, we need to move initramfs.conf away so
+# dpkg will stop remembering it as an 'obsolete' conffile for us. The
+# postinst of either initramfs-tools or initramfs-tools-core will move
+# it back.
+if [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt 0.123~; then
+ prepare_rm_conffile /etc/initramfs-tools/initramfs.conf initramfs-tools
+fi
+
+#DEBHELPER#