summaryrefslogtreecommitdiff
path: root/debian/libPVER-stdlib.prerm.in
diff options
context:
space:
mode:
Diffstat (limited to 'debian/libPVER-stdlib.prerm.in')
-rw-r--r--debian/libPVER-stdlib.prerm.in43
1 files changed, 43 insertions, 0 deletions
diff --git a/debian/libPVER-stdlib.prerm.in b/debian/libPVER-stdlib.prerm.in
new file mode 100644
index 0000000..4a5611b
--- /dev/null
+++ b/debian/libPVER-stdlib.prerm.in
@@ -0,0 +1,43 @@
+#! /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
+ # source and bytecode filename mismatch
+ rm -f /usr/lib/@PVER@/__pycache__/__phello__.cpython-*.py*
+ 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@-stdlib \
+ | grep -v '^.n' | wc -l)
+ if [ "$pc" -le 1 ]; then
+ remove_bytecode lib@PVER@-stdlib@HOST_QUAL@
+ fi
+ ;;
+ upgrade)
+ remove_bytecode lib@PVER@-stdlib@HOST_QUAL@
+ # byte compilation in @PVER@ postinst, strict dependency
+ ;;
+ deconfigure)
+ ;;
+ failed-upgrade)
+ ;;
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#