summaryrefslogtreecommitdiff
path: root/debian/dpkg.postrm
blob: f218e959372b9cb7452fdd2853c07ac83894ebd8 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/sh
# This script can be called in the following ways:
#
# After the package was removed:
#	<postrm> remove
#
# After the package was purged:
#	<postrm> purge
#
# After the package was upgraded:
#	<old-postrm> upgrade <new-version>
# if that fails:
#	<new-postrm> failed-upgrade <old-version>
#
#
# After all of the packages files have been replaced:
#	<postrm> disappear <overwriting-package> <version>
#
#
# If preinst fails during install:
#	<new-postrm> abort-install
#
# If preinst fails during upgrade of removed package:
#	<new-postrm> abort-install <old-version>
#
# If preinst fails during upgrade:
#	<new-postrm> abort-upgrade <old-version>

set -e

# Remove log file when dpkg is purged
remove_logfile() {
    rm -f /var/log/dpkg.log /var/log/dpkg.log.* 2>/dev/null
}

# Cleanup multiarch infodb leftovers
cleanup_multiarch_infodb()
{
    admindir=${DPKG_ADMINDIR:-/var/lib/dpkg}
    pkgadmindir=$admindir/info

    echo "Cleaning up the multiarch dpkg control files database ..."
    ls $pkgadmindir | grep : | while read oldfile; do
        rm "$pkgadmindir/$oldfile"
    done
    rm -f $pkgadmindir/format
}

case "$1" in
    remove)
	;;

    purge)
	remove_logfile
	;;

    upgrade)
	# Downgrade the multiarch db to a “monoarch” db layout
	if dpkg --compare-versions "$2" lt 1.16.2; then
	    cleanup_multiarch_infodb
	fi
	;;

    failed-upgrade|disappear|abort-install|abort-upgrade)
	;;


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

#DEBHELPER#
exit 0