File: initramfs-tools.preinst

package info (click to toggle)
initramfs-tools 0.133
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 504 kB
  • sloc: sh: 1,748; makefile: 18
file content (42 lines) | stat: -rwxr-xr-x 1,131 bytes parent folder | download | duplicates (3)
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
#!/bin/sh

set -e

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
prepare_rm_conffile() {
	local CONFFILE="$1"
	local PACKAGE="$2"

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

	local md5sum old_md5sum
	md5sum="$(md5sum "$CONFFILE" | sed -e 's/ .*//')"
	old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$PACKAGE" | \
		sed -n -e "\\' $CONFFILE ' { s/ obsolete$//; s/.* //; p }")"
	if [ "$md5sum" != "$old_md5sum" ]; then
		mv $mvverbose -f "$CONFFILE" "$CONFFILE.dpkg-backup"
	else
		mv $mvverbose -f "$CONFFILE" "$CONFFILE.dpkg-remove"
	fi
}

# When upgrading from <0.123, we need to move initramfs.conf away so
# dpkg will stop remembering it as an 'obsolete' conffile for us.  The
# postinst of either initramfs-tools or initramfs-tools-core will move
# it back.
if [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt 0.123~; then
	prepare_rm_conffile /etc/initramfs-tools/initramfs.conf initramfs-tools
fi

#DEBHELPER#