summaryrefslogtreecommitdiffstats
path: root/debian/dselect.prerm
diff options
context:
space:
mode:
Diffstat (limited to 'debian/dselect.prerm')
-rw-r--r--debian/dselect.prerm51
1 files changed, 51 insertions, 0 deletions
diff --git a/debian/dselect.prerm b/debian/dselect.prerm
new file mode 100644
index 0000000..0a49491
--- /dev/null
+++ b/debian/dselect.prerm
@@ -0,0 +1,51 @@
+#!/bin/sh
+# See deb-prerm(5).
+
+set -e
+
+: "${DPKG_ADMINDIR:=/var/lib/dpkg}"
+
+# Rename state directories to match renamed method names.
+rename_method_state_dir() {
+ methodoldname="$1"
+ methodoldopt="$2"
+ methodnewname="$3"
+ methodnewopt="$4"
+ methodsdir="$DPKG_ADMINDIR/methods"
+
+ if [ -d "$methodsdir/$methodoldname" ]; then
+ if [ -e "$methodsdir/$methodnewname" ]; then
+ rm -rf "$methodsdir/$methodoldname"
+ else
+ if [ -e "$methodsdir/$methodoldname/shvar.$methodoldopt" ]; then
+ cp -a "$methodsdir/$methodoldname/shvar.$methodoldopt" \
+ "$methodsdir/$methodoldname/shvar.$methodnewopt"
+ fi
+ mv "$methodsdir/$methodoldname" "$methodsdir/$methodnewname"
+ rm -f "$methodsdir/$methodnewname/shvar.$methodoldopt"
+ fi
+ # Update the currently selected method and option if needed.
+ sed -i -e "s/^$methodoldname $methodoldopt/$methodnewname $methodnewopt/" \
+ "$DPKG_ADMINDIR/cmethopt"
+ fi
+}
+
+case "$1" in
+upgrade)
+ if dpkg --compare-versions "$2" lt 1.21.3; then
+ # Downgrade
+ rename_method_state_dir file file disk mounted
+ rename_method_state_dir media media multicd multi_cd
+ fi
+ ;;
+deconfigure|remove|failed-upgrade)
+ ;;
+*)
+ echo "$0 called with unknown argument '$1'" 1>&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0