~siretart/cryptsetup/debian

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
#! /bin/sh -e

create_etc_keys() {
	[ -d /etc/keys/ ] || mkdir -p /etc/keys/
}

create_crypttab() {
	if [ ! -f /etc/crypttab ]; then
		cat <<-EOC >/etc/crypttab
		# <target name>	<source device>		<key file>	<options>
		EOC
	fi
}

# Remove a no-longer used conffile
rm_conffile() {
	PKGNAME="$1"
	CONFFILE="$2"
	if [ -e "$CONFFILE" ]; then
		md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
		old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE '{s/ obsolete$//;s/.* //p}\"`"
		if [ "$md5sum" != "$old_md5sum" ]; then
			echo "Obsolete conffile $CONFFILE has been modified by you."
			echo "Saving as $CONFFILE.dpkg-bak ..."
			mv -f "$CONFFILE" "$CONFFILE".dpkg-bak
		else
			echo "Removing obsolete conffile $CONFFILE ..."
			rm -f "$CONFFILE"
		fi
	fi
}

LASTVERSION="2:1.0.6-5"
case "$1" in
	install)
		create_etc_keys
		create_crypttab
		if dpkg --compare-versions "$2" le "$LASTVERSION"; then
			rm_conffile cryptsetup "/etc/udev/rules.d/z60_cryptsetup.rules"
		fi
	;;

	upgrade)
		if dpkg --compare-versions "$2" le "$LASTVERSION"; then
			rm_conffile cryptsetup "/etc/udev/rules.d/z60_cryptsetup.rules"
		fi
	;;

	abort-upgrade)
	;;

	*)
		echo "preinst called with unknown argument '$1'" >&2
		exit 1
	;;
esac

#DEBHELPER#

exit 0