#! /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


