File: cryptsetup.postinst

package info (click to toggle)
cryptsetup 2%3A1.1.3-4squeeze2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 2,972 kB
  • ctags: 726
  • sloc: sh: 12,278; ansic: 6,758; xml: 555; makefile: 249; python: 90; perl: 53; sed: 16
file content (76 lines) | stat: -rw-r--r-- 2,025 bytes parent folder | download
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#! /bin/sh

set -e

# 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)
	if [ -x /usr/sbin/update-initramfs ]; then
		update-initramfs -u
	fi

	# Do a number of checks on the currently installed crypttab
	
	egrep -v "^[[:space:]]*(#|$)" /etc/crypttab | while read dst src key opts; do
		if [ -z "$dst" ]; then
			continue
		elif [ -z "$src" ] || [ -z "$key" ] || [ -z "$opts" ]; then
			# All fields must be present
			echo "WARNING: $dst in /etc/crypttab is missing some arguments, see man cryptab(5)." >&2
			continue
		else
			# Strip comments - https://bugs.launchpad.net/bugs/185380
			opts=$(echo -n $opts | sed 's/ *#.*//')
			plainopts="0"
			IFS=','
			for opt in $opts; do
				PARAM=$(echo "$opt" | sed 's/=.*//')
				case "$PARAM" in
				# Some options are deprecated
				gpg)
					echo "WARNING: $dst in /etc/crypttab uses the deprecated gpg option, see man crypttab(5)." >&2
					;;
				ssl)
					echo "WARNING: $dst in /etc/crypttab uses the deprecated ssl option, see man crypttab(5)." >&2
					;;
				luks)
					plainopts="3"
					;;
				cipher|hash|size)
					plainopts="$(($plainopts+1))"
					;;
				esac
			done
			if [ "$plainopts" -lt "3" ]; then
				echo "WARNING: you need to set all of cipher, hash and size for the plain dm-crypt mapping $dst in /etc/crypttab." >&2
			fi
			unset IFS
		fi

	done
    ;;

    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#

exit 0