summaryrefslogtreecommitdiffstats
path: root/debian/cryptsetup.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/cryptsetup.postinst')
-rw-r--r--debian/cryptsetup.postinst53
1 files changed, 53 insertions, 0 deletions
diff --git a/debian/cryptsetup.postinst b/debian/cryptsetup.postinst
new file mode 100644
index 0000000..635324b
--- /dev/null
+++ b/debian/cryptsetup.postinst
@@ -0,0 +1,53 @@
+#! /bin/sh
+
+set -e
+
+# needed for debconf magic in prerm script
+. /usr/share/debconf/confmodule
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+
+case "$1" in
+ configure)
+ for file in cryptdisks_start cryptdisks_stop; do
+ if [ ! -e "/usr/sbin/$file" ]; then
+ ln -s "/sbin/$file" "/usr/sbin/$file"
+ fi
+ done
+
+ # Do a number of checks on the currently installed crypttab
+ . /lib/cryptsetup/functions
+ crypttab_foreach_entry crypttab_parse_options || true
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+# try to remove /etc/init if it exists, it's empty and isn't owned
+# NOTE: this needs to placed *after* the dh_installdeb-replaced snippet
+# which contains calls to `dpkg-maintscript-helper rm_conffile`
+if [ "$1" = "configure" ] && [ -d /etc/init ] && dpkg --compare-versions -- "${2-}" lt "2:2.4.0-1" && \
+ ! { dpkg-query -S /etc/init >/dev/null 2>&1 || [ $? -ne 1 ]; } then
+ rmdir --ignore-fail-on-non-empty /etc/init
+fi
+
+exit 0