-
-
Notifications
You must be signed in to change notification settings - Fork 77
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
remove versionless provides from rpm builds #916
Comments
I think we should aim to do versionless provides as a resolution here and attempt to progress on that basis. Based on the summary analysis at #848 (comment) the TL;DR for the PMC is as follows:
The ask here is therefore for approval to remove the |
Alternative to this may be already described metapackage workaround. That version-less provides are provided by metapackage, which weil not be avialable in the fedora respo. This preventing existence of another set of RPMs, but is adding a bit of repository logic. |
@judovana Just to confirm since I've been looking closer at some of the packages again. I wrote this above:
Would it be feasible to retain the java provides if it had a version number associated with it? (Temurin's one currently doesn't which would seem to have been an oversight) or would that be a problem for other reasons. |
All versionless provides must be removed - java, javac, I have to double check it. |
That's what I expected you to say so thanks for confirming :-) I looked at one example java application in the F40 repos (
I was expecting it to need the system one explicitly. Impressive that it still runs on 8 (assuming the dependencies are valid of course ;-) ). [EDIT: Interestingly temurin-8-jdk does NOT satisfy the prereqs for [EDIT 2: This is interesting because
|
Funnily enough, there was up to recently generator of amven provides: which was generating requires with all version-full(!!) requires. And it is leaving just now: https://fedoraproject.org/wiki/Changes/Drop_Mandatory_Requires_on_JRE I will need to double check this tomorrow morrning in fresh condition, but the acording to that code snippets, temurin jdk8 shares some provides with java-1.8.0-headless (which is a bit weird, as it do not provide java-1.8.0-headless and thus distribution jdk8 shodl be installed anyway..) |
Good plan - I definitely feel my brain needs until tomorrow to process all the possibilities too ;-) |
It sounds like there have been a number of changes in Fedora 41 that will make some of these requirements more consistent so Fedora 40 may not be the best place to investigate things :-) Noting that some of the other distributions do provide
Also noting that bellsoft-java11 provides |
Some further investigation shows that while This makes it harder to justify making this change since it would be a behavioral difference between Temurin and most other providers outside those of the OS. Two potential options at this point if we will not progress with the original plan:
Some extra notes coming out of my experiments this week: The packages in Fedora 41 currently have a mix on what they depend on e.g.:
|
First of all, I personally very like this solution. I 'm perplexed we had not come with it out for start. It is quite common that system wide change will do some mass-sed of provides/requires in related packages. In our case, from aprox 400pkgs we rebuild during system jdk bump, only aprox 50 requires java/java-devel. Others have it through transitive dependence, mostly There will be only one todo on
|
I have the proposal already done, to amned it with this change is simple. |
We have agreed to not drop the provides. and change how fedora deals with it. |
This issue was pinpointed as show-stopper in #848
The versionless provides are blocker for any fedora/rhel like distribution to use temurins instead or in-disro rpms.
The reason is, that versionless provides are suppose to be only for system jdk - the jdk which builds and runs distribution java stack.
If versionless provides can not be removed, then - to achive adjust rpms and (maybe) repositories so Temurin JDKs can serve as replacement of non-system JDKs in Fedora soem repo magic will need to be don (or simply build special set of rpms, which is scary). The meta package repo-magic workaround is like: original temurin repo will contain both meta packages (with versionless provides, which just requires versionless-free normal packages. Tehn for fedora is creatyed repo which contains only versionless-free normal pcakages.
More detailed info in #848
@jiekang fyi!
The text was updated successfully, but these errors were encountered: