summaryrefslogtreecommitdiff
path: root/debian/libPVER-minimal.prerm.in
blob: 16aa0840a9d9b1515ec71ad2cf26a4a8fa9542e5 (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
#! /bin/sh

set -e

remove_bytecode()
{
    pkg=$1
    max=$(LANG=C LC_ALL=C xargs --show-limits < /dev/null 2>&1 | awk '/Maximum length/ {print int($NF / 4)}')
    dpkg -L $pkg \
	| awk -F/ 'BEGIN {OFS="/"} /\.py$/ {$NF=sprintf("__pycache__/%s.*.py[co]", substr($NF,1,length($NF)-3)); print}' \
	| xargs --max-chars="$max" echo \
	| while read files; do rm -f $files; done
    find /usr/lib/python3 /usr/lib/@PVER@ \
	\( -name dist-packages -prune \) -o \
	\( -name __pycache__ -type d -empty -print \) \
	| xargs -r rm -rf
}

case "$1" in
    remove)
	pc=$(dpkg-query -f '${db:Status-Abbrev} ${binary:Package}\n' -W lib@PVER@-minimal \
	     | grep -v '^.n' | wc -l)
	if [ "$pc" -le 1 ]; then
	    remove_bytecode lib@PVER@-minimal@HOST_QUAL@
	fi
        ;;
    upgrade)
	remove_bytecode lib@PVER@-minimal@HOST_QUAL@
	# byte compilation in @PVER@-minimal postinst, strict dependency
        ;;
    deconfigure)
        ;;
    failed-upgrade)
        ;;
    *)
        echo "prerm called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

#DEBHELPER#