diff options
Diffstat (limited to 'debian/dselect.preinst')
-rw-r--r-- | debian/dselect.preinst | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/debian/dselect.preinst b/debian/dselect.preinst new file mode 100644 index 0000000..59d36e9 --- /dev/null +++ b/debian/dselect.preinst @@ -0,0 +1,50 @@ +#!/bin/sh +# See deb-preinst(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 +install|upgrade) + if [ -n "$2" ]; then + rename_method_state_dir disk mounted file file + rename_method_state_dir multicd multi_cd media media + fi + ;; +abort-upgrade) + ;; +*) + echo "$0 called with unknown argument '$1'" 1>&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 |