Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/lib/dpkg/info/ |
#! /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-distutils
;;
upgrade)
remove_bytecode python3-distutils
;;
deconfigure)
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac