Python update ! be aware to rebuild AUR builds using python

I’m getting this error when i try to rebuild python-vdf.

Summary

yay -S python-vdf --rebuild
Sync Check Dependency (2): python-coverage-7.4.4-1, python-nose-1.3.7-16
AUR Dependency (1): python-vdf-3.4-2
:: PKGBUILD up to date, skipping download: python-vdf
1 python-vdf (Installed) (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> a
:: Deleting (1/1): /home/decagrammaton/.cache/yay/python-vdf
HEAD is now at 2b7779f Update to 3.4-2
Removing python-vdf-3.4-2-any.pkg.tar.zst
Removing python-vdf-3.4.tar.gz
1 python-vdf (Installed) (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
==> Making package: python-vdf 3.4-2 (sáb 27 abr 2024 23:08:07)
==> Retrieving sources…
→ Downloading python-vdf-3.4.tar.gz…
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:–:-- --:–:-- --:–:-- 0
100 17082 0 17082 0 0 29201 0 --:–:-- --:–:-- --:–:-- 29201
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums…
python-vdf-3.4.tar.gz … Passed
:: (1/1) Parsing SRCINFO: python-vdf
resolving dependencies…
looking for conflicting packages…

Package (2) New Version Net Change Download Size

extra/python-coverage 7.4.4-1 1,83 MiB 0,34 MiB
extra/python-nose 1.3.7-16 1,59 MiB 0,27 MiB

Total Download Size: 0,62 MiB
Total Installed Size: 3,42 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages…
python-coverage-7.4.4-1-… 348,7 KiB 321 KiB/s 00:01 [-------------------------------] 100%
python-nose-1.3.7-16-any 281,6 KiB 229 KiB/s 00:01 [-------------------------------] 100%
Total (2/2) 630,3 KiB 461 KiB/s 00:01 [-------------------------------] 100%
(2/2) checking keys in keyring [-------------------------------] 100%
(2/2) checking package integrity [-------------------------------] 100%
(2/2) loading package files [-------------------------------] 100%
(2/2) checking for file conflicts [-------------------------------] 100%
:: Processing package changes…
(1/2) installing python-coverage [-------------------------------] 100%
(2/2) installing python-nose [-------------------------------] 100%
:: Running post-transaction hooks…
(1/1) Arming ConditionNeedsUpdate…
==> Making package: python-vdf 3.4-2 (sáb 27 abr 2024 23:08:11)
==> Checking runtime dependencies…
==> Checking buildtime dependencies…
==> Missing dependencies:
→ python-mock
==> ERROR: Could not resolve all dependencies.
→ error making: python-vdf-exit status 8
→ Failed to install the following packages. Manual intervention is required:
python-vdf - exit status 8

Try rebuilding python-mock first.

1 Like

I have informant installed, which means anytime I tried to update something or run the above command, it’d fail with the informant hook crashing.

If anyone else has a similar issue, rebuild that individual package:

yay -S informant --answerclean All

After that everything worked,

Thanks, that worked. Funny that checkrebuild did not said that python-mock needed to be rebuilt as well.

2 Likes

i ran yay -Syu and it just works fine it rebuilt aur packages i guess…

Check checkrebuild output

that is not a command

Oh wait, you’re running standard Arch. Install rebuild-detector and then run the command if you want to see what packages you could rebuild with a new version of Python.

in that case i got foreign python-manimpango to rebuild

When I saw 170 updates (1.5 GB!) I paid attention to the output. I needed to do 5 rebuilds.

2 Likes

only if maintainer triggers an update.

I am still getting foreign rustrover even after a rebuild, any ideas?

This happens to me a lot with proton-ge-custom, it shows it as foreign even after a rebuild, but sometimes it stops showing it, that package has some rust code in it too… Seems to me that this foreign detection is a bit of a hit and miss

1 Like

What worked for me was

yay -S --answerclean=All --noconfirm $(yay -Qoq /usr/lib/python3.11)

1 Like

I do not know if that’s the optimal thread to mention that suggestion.

It was quite surprising for me to find out that a python update could “break” my system.

Is there any ways EOS could automate the rebuilds?

Perhaps in welcome have an option to streamline the rebuild?

Could ALPM-SCRIPTLET modify the python scripts, when failing to launch the app, to either mention the welcome python rebuild menu option or even run the rebuild automatically?

This seems to work pretty well to resolve manually as an example…
I do not think it would be a good idea to do this without user intervention.

There is already rebuild-detector installed that give you a hint in the update terminal, the only thing i could think of would be a better message about this.

It looks a bit of a missing resolver in yay itself… because that’s not an issue with pacman in general. Arch does not support AUR helpers :wink:

1 Like

Thanks, I was thinking of a solution with some prompts.

I missed the hint. What was I supposed to notice?

In practice I spent an entire hour between trying to figure out why the script was no longer running, looking at the pacman log, reading this thread, finding all the parts of autokey that needed update, etc.

This raises, from my perspective, the bar a notch higher in terms of the skillset required to run EOS.

Therein might be some of the confusion for some EOS users. It’s prominently displayed the yay is installed by default.

Many topics/responses in this forum say that yay not only deals with AUR updates, but all updates by simply running yay in terminal. Perhaps if it were to be made clear that yay should not be used instead of, but in addition to pacman, this (and similar update issues) might be less of a problem for EOS users (even if it is technically user error).

I am trying to figure out what is the optimal update path.

How would I use pacman to help streamline rebuilding the packages related to the python upgrade?

I’m not sure yay gives the necessary information whereas pacman does. At least that’s my understanding. If I am mistaken, I’m sure someone will be along to clarify.