summaryrefslogtreecommitdiffstats
path: root/debian/bfh-container.preinst
blob: 3bf584f05f2b79ac4a4de18e603d7877279db0aa (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
54
55
56
#!/bin/sh

set -e

case "${1}" in
	install|upgrade)
		mkdir -p /lib/container/divert

		for FILE in halt poweroff reboot shutdown coldreboot
		do
			TRUENAMEUSR=$(dpkg-divert --truename "/usr/sbin/$FILE")
			TRUENAMEALIAS=$(dpkg-divert --truename "/sbin/$FILE")
			RENAME_FLAG=--no-rename
			if test "$TRUENAMEUSR" = "/usr/sbin/$FILE"; then
				if test "$TRUENAMEALIAS" = "/sbin/$FILE"; then
					RENAME_FLAG=--rename
				fi
				dpkg-divert --package bfh-container --quiet --add "$RENAME_FLAG" --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE"
			fi
			# DEP17 M18 duplicated diversion. Can be removed after trixie.
			if test "$TRUENAMEALIAS" = "/sbin/$FILE"; then
				dpkg-divert --package bfh-container --quiet --add "$RENAME_FLAG" --divert "/lib/container/divert/$FILE.orig.usr-is-merged" "/sbin/$FILE"
			elif test "$TRUENAMEALIAS" != "/lib/container/divert/$FILE.orig.usr-is-merged"; then
				dpkg-divert --package bfh-container --quiet --remove --no-rename "/sbin/$FILE"
				dpkg-divert --package bfh-container --quiet --add --no-rename --divert "/lib/container/divert/$FILE.orig.usr-is-merged" "/sbin/$FILE"
				if test -e "$TRUENAMEALIAS" || test -h "$TRUENAMEALIAS"; then
					mv "$TRUENAMEALIAS" "/lib/container/divert/$FILE.orig.usr-is-merged"
				fi
			fi
		done

		for FILE in pm-hibernate pm-suspend pm-suspend-hybrid
		do
			TRUENAMEUSR=$(dpkg-divert --truename "/usr/sbin/$FILE")
			if test "$TRUENAMEUSR" = "/lib/container/divert/$FILE.orig"; then
				dpkg-divert --package bfh-container --quiet --remove --no-rename "/usr/sbin/$FILE"
				dpkg-divert --package bfh-container --quiet --add --no-rename --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE"
			else
				dpkg-divert --package bfh-container --quiet --add --rename --divert "/usr/lib/container/divert/$FILE.orig" "/usr/sbin/$FILE"
			fi
		done
		;;

	abort-upgrade)

		;;

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

#DEBHELPER#

exit 0