42 lines
1.0 KiB
Bash
Executable File
42 lines
1.0 KiB
Bash
Executable File
#! /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/python3.10 \
|
|
\( -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 libpython3.10-minimal \
|
|
| grep -v '^.n' | wc -l)
|
|
if [ "$pc" -le 1 ]; then
|
|
remove_bytecode libpython3.10-minimal:amd64
|
|
fi
|
|
;;
|
|
upgrade)
|
|
remove_bytecode libpython3.10-minimal:amd64
|
|
# byte compilation in python3.10-minimal postinst, strict dependency
|
|
;;
|
|
deconfigure)
|
|
;;
|
|
failed-upgrade)
|
|
;;
|
|
*)
|
|
echo "prerm called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
|