What is the problem we try to solve: 1. Tumbleweed publishes 2. this triggers rebuilds of all the projects in the OBS where people might use 3. user runs "zypper dup" before those rebuilds are done. now the user has packages that fulfill the Requires but do not give the user a working package. This is something we can solve! And FWIW: when I opened the bug we even still had packages in Tumbleweed that were broken. (In reply to Benjamin Greiner from comment #13) > The title is misleading. There is no unversioned path. Everything is in some > form of python3.Y/site-packages/. > > > importlib.metadata.PackageNotFoundError: No package metadata was found for > > borgbackup > > > > > > that means we should have a macro like %python_version_shebang which updates > > all references from python3 to python3.x. > > In this particular case, the interpreter line of the entry-point is > generated by setuptools because the specfiles use `python3 setup.py > install`. If you don't even use the macros there, why would you want a > %python_version_shebang? > > You can use `python%{python3_bin_suffix} setup.py install` if you think a > package should still work after the /usr/bin/python3 symlink has changed but > your package has not been successfully rebuilt. > > And for the record, https://build.opensuse.org/request/show/983551 is > exactly the fix that was needed. Because the rebuilt package HAS the > metadata in the Python 3.10 platlib. Contrary to the old non-updated > borgbackup package for Python 3.8. > > Fix your builds and all is fine. I am not tied to any specific solution. but a generic solution in the python macros would be preferred so we dont have to fix N places. > > server:mail/getmail6 had the same problem. > > This is not even in Factory. Also, it does successfully build. How does it > have the same problem? And yet one of the main features for the OBS is that users can build their own packages easily and should also not create broken packages just because we change the default python version in Tumbleweed.