-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Python 3.14 (and future Python versions) bootstrap issue #169
Comments
Can the Python rebuild side tag be configured to not use the rpmautospec plugin and instead rely on the fallback value already defined in the buildroot until the dependencies are bootstrapped? Reducing the dependency footprint is also possible. Replacing |
Well, the fallback value is 1%{dist}, isn't it? That might conflict with already used NVRs. |
One possible solution is to be able to switch from the mock plugin to the koji plugin in our side tag. The obvious disadvantage is that it means the Koji plugin needs to be maintained forever. |
Another option worth considering is replacing the Python implementation (using PyGit2) with a C or other compiled language implementation using libgit2 directly. |
Or using Bash 😀 (only partially kidding, but it might work) |
Anyway, if the Python dependnecy footprint is minimal (flit-core, hatchling, or setuptools buildsystem, no runtime deps beyond pygit2), we can plot the path to rpmautospec and use static relese number when bootstrapping the path. |
Is it possible to have a side tag use the koji plugin while the rest of the koji deployment uses the mock plugin? Based on what I had seen so far I was under the impressions it was all or nothing, and the whole deployment used the same method. |
No, it's not possible. If the koji plugin is installed, it's part of every action. I mean, we can tweak it so it is a noop most of the time, but it's been decided that it's a dead path forward since we cannot use it for RHEL builders. It's not going to be seeing any development/maintenance work. |
COPR isn’t affected:
Even if it doesn’t solve the issue on its own, I plan to split off the CLI to reduce the impact of dependencies: #175
The koji plugin is only a couple of lines of code really – right now less than 20. It can’t yet opt into being run only on a certain side tag, but that it wouldn’t take much code to implement. It would still be more of a hack, but it could work and it would take comparatively little effort.
I’ve thought about it as one option to tackle this – would make the rug that could be pulled out under rpmautospec considerably smaller – but it would also be a serious piece of work, not without risk of introducing new or old bugs when porting.
🤔 Sounds painful to me. 😅 |
A friendly reminder that we now only have ~half a year to resolve this. |
Hello.
Now when Fedora deployed the rpmautospec mock plugin in Koji, we have a bootstrap problem.
I suspect the moment we swap Python 3.13 for Python 3.14 in our Python 3.14 side tag (currently planned for Fedora 43), it will no longer be possible to install rpmautospec into the buildroot (as it requires
python(abi) = 3.13
and plenty of other packages that do that as well).We need to figure out how to solve this by May 2025, assuming this does not affect copr. If this also affects copr, we need to figure this out by Oct 2024.
The text was updated successfully, but these errors were encountered: