summaryrefslogtreecommitdiffstats
path: root/debian/initramfs-tools-core.postinst
blob: 395e997d35a5267b6459857f9bd440744daaca74 (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
#!/bin/sh

set -e

if [ ! -e /etc/initramfs-tools/modules ]; then
	sed '/^###/d' /usr/share/initramfs-tools/modules \
		> /etc/initramfs-tools/modules
fi

mvverbose=-v

# from dpkg-maintscript-helper, modified
ensure_package_owns_file() {
	local PACKAGE="$1"
	local FILE="$2"

	dpkg-query -L "$PACKAGE" | grep -F -q -x "$FILE"
}

# from dpkg-maintscript-helper, modified
finish_mv_conffile() {
	local CONFFILE="$1"
	local PACKAGE="$2"

	rm $mvverbose -f "$CONFFILE.dpkg-remove"

	[ -e "$CONFFILE.dpkg-backup" ] || return 0
	ensure_package_owns_file "$PACKAGE" "$CONFFILE" || return 0

	echo "Preserving user changes to $CONFFILE (now owned by $PACKAGE)..."
	if [ -e "$CONFFILE" ]; then
		mv $mvverbose -f "$CONFFILE" "$CONFFILE.dpkg-new"
	fi
	mv $mvverbose -f "$CONFFILE.dpkg-backup" "$CONFFILE"
}

# When installing as a new dependency of initramfs-tools, or upgrading
# from <0.123, we need to move initramfs.conf back into place.
if [ "$1" = configure ] && dpkg --compare-versions "$2" lt 0.123~; then
	finish_mv_conffile /etc/initramfs-tools/initramfs.conf initramfs-tools-core
fi

#DEBHELPER#