diff options
Diffstat (limited to 'debian/cryptsetup-initramfs.prerm')
-rw-r--r-- | debian/cryptsetup-initramfs.prerm | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/debian/cryptsetup-initramfs.prerm b/debian/cryptsetup-initramfs.prerm new file mode 100644 index 0000000..48fa691 --- /dev/null +++ b/debian/cryptsetup-initramfs.prerm @@ -0,0 +1,29 @@ +#! /bin/sh + +set -e + +. /usr/share/debconf/confmodule + +case "$1" in + remove) + if grep -q '^dm_mod\s' /proc/modules; then + # XXX we overshoot here, only devices that need to be present at + # initramfs stage need to be checked here + cryptmap="$(dmsetup table --target crypt | sed -n 's/:.*//p' | tr '\n' ' ')" + if [ -n "$cryptmap" ]; then + db_fset cryptsetup-initramfs/prerm_active_mappings seen false + db_subst cryptsetup-initramfs/prerm_active_mappings cryptmap "$cryptmap" + db_input high cryptsetup-initramfs/prerm_active_mappings || true + db_go || true + db_get cryptsetup-initramfs/prerm_active_mappings + if [ "$RET" = "false" ]; then + exit 1 + fi + fi + fi + ;; +esac + +#DEBHELPER# + +exit 0 |