41 lines
861 B
Bash
Executable File
41 lines
861 B
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
|
|
dpkg -L "$pkg" \
|
|
| sed -ne 's,^\(/.*/\)[^/]*\.py$,\1__pycache__,p' \
|
|
| sort -u \
|
|
| while read dir; do \
|
|
if [ -d "$dir" ]; then \
|
|
rmdir --ignore-fail-on-non-empty "$dir"; \
|
|
fi; \
|
|
done
|
|
}
|
|
|
|
case "$1" in
|
|
remove)
|
|
remove_bytecode python3-lib2to3
|
|
;;
|
|
upgrade)
|
|
remove_bytecode python3-lib2to3
|
|
;;
|
|
deconfigure)
|
|
;;
|
|
failed-upgrade)
|
|
;;
|
|
*)
|
|
echo "prerm called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
|