3 pyver
=$
(pacman
-S --print-format %v python |
grep -oP '^[0-9]+\.[0-9]+')
4 exclude
=('python2' 'python2-.*' 'pypy3\?' 'cython2' 'cuda' 'metasploit'
5 'mysql-workbench' 'ntop' 'dia' 'ghidra' 'kross-interpreters'
6 'kodi-gbm' 'kodi-wayland' 'kodi-x11')
9 pacman
-Fq /usr
/lib
/python
${pyver}/ |
grep -v archlinuxcn | cut
-d / -f 2
10 pacman
-Fxq "\.cpython-${pyver/.}.pyc$" |
grep -v archlinuxcn | cut
-d / -f 2
11 sogrep all libpython
${pyver}.so
12 ssh dragon.archlinux.org
"parallel \"zstdgrep -q 'Py_Initialize\|PyInit_\|PyModule_Create2' {} && pacman -Qpq {}\" ::: /srv/ftp/pool/*/*.zst"
13 ssh dragon.archlinux.org
"parallel \"xzgrep -q 'Py_Initialize\|PyInit_\|PyModule_Create2' {} && pacman -Qpq {}\" ::: /srv/ftp/pool/*/*.xz"
14 } |
grep -xvf <(printf "%s\n" "${exclude[@]}") |
sort -u