summaryrefslogtreecommitdiffstats
path: root/debian/cryptsetup.postinst
blob: 635324b1ec843ab744209e61706b0dde8e2821e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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