
Hi Axel, Am 19.01.21 um 22:33 schrieb Axel Braun:
Hello Ben, What happens if one builds only python3 and the interpreter changes from 3.8 to 3.9. The stuff installed under ..python38/site-packages should then not be accessible anymore? Schöne Grüße Axel
If I understand you correctly, you have the following situation for pkgA: - You either: * explicitly `%define pythons python3`, or * don't use %python_subpackages, %python_expand, unflavored %python_build, %python_install, %pytest, %python_sitelib in %files, and so on. If any, you literally specify (Build)Requires: python3-pkgB. - If any, you use %python3_xxxx macros. - You either produce a binary package python3-pkgA or have an app named pkgA without the python prefix. By python3, you always refer to the primary interpreter. At the time the /usr/bin/python3 starts to point to /usr/bin/python3.9 (note the dot in between), all singlespec enabled packages python-pkgB will move the `Provides: python3-pkgB =%{version}-%{release}` and matching `Obsoletes:` from the python38-pkgB package to python39-pkgB. So for example at the time, when pkgA-1.0-1 was built, it built against python3-pkgB-0.9-1 provided by python38-pkgB-0.9-1. The change of the primary provider will trigger a rebuild for pkgA and it will now build against python3-pkgB-0.9-2 provided by python39-pkgB-0.9-2. At the very least, python-pkgB is python-base. So then pkgA moves from /usr/lib(64)/python3.8/site-packages/ to python3.9/site-packages. Cheers, Ben