lectrode/xs-update-manjaro

Option to rebuild AUR python packages when python is updated

Closed this issue · 2 comments

AUR python packages often require rebuild after python 3.x minor version updates:
3.7 -> 3.8
3.8 -> 3.9
etc

This is separate from issue #15 in that this will be more automated in nature, and will not require the user to manually specify a bunch of python packages.

This can be manually done with the following (3.8 -> 3.9):

pikaur -S --noconfirm $(pacman -Qqo "/usr/lib/python3.8/site-packages")
  • Script will check if folder exists for previous 3.x python versions, and if packages "own" the site-packages subfolder, AUR frequency timestamps will be reset to allow AUR updates/rebuilds
  • A bit later, if AUR updates are still configured to proceed, script will check /usr/lib/python3.x paths, and rebuild any packages that own files contained in the respective site-packages folder of each, excluding the current version of python

initial implementation in ab4c748

Rebuilds are done in alphabetical order. Unfortunately, some packages may require other packages be rebuilt before they can be rebuilt, such as dockbarx depending on polib. The script will attempt dockbarx first, which fails, then polib.

To make sure everything gets rebuilt, even if it depends on another package, this is done in a while loop. Script will continue to cycle through all of the packages until either there are none left, or none successfully rebuild.

included in 3.5.1 stable release