java-1.5.0-gcj has virtual provides of java, java-devel, java-javadoc, etc. Since yum prefers shortest name everytime a package requires java >= 1:1.5.0 gcj gets installed on users systems even if they already have openjdk installed. Which makes installations way bigger than needed and in practice we install a non-working jvm on users systems as java-1.5.0-gcj can't really be used because many packages contain 1.6 bytecode so it can't load it. This should not break gcj-compiled packages since they already requires post/postun java-gcj-compat.
This was proposed on fedora-java mailing list half year ago and no one opposed: http://lists.fedoraproject.org/pipermail/java-devel/2012-August/004495.html
To give an example of problems this is causing, we've started to try out automatic requires for Maven packages. This coupled with few optimizations let us simplify dependencies significantly. We went down from 330 packages to 146[1], but in the process automatic requires pulled in gcj partially due to mentioned yum bug. Even though we went to 146 packages, our install size actually grew by around 80 MB. [1] https://binaryparadise.com/~w0rm/files/fedora/min_install/maven.svg
I'll look into this tomorrow, but I have one question for those affected. This was reported against rawhide. Is this going to be a problem in F18/17 as well?
(In reply to comment #3) > I'll look into this tomorrow, but I have one question for those affected. > This was reported against rawhide. Is this going to be a problem in F18/17 > as well? Such changes shouldn't happen in already released version. Even if there are people using gcj we would not do any good for them switching the jvm mid-release.
(In reply to comment #4) > (In reply to comment #3) > > I'll look into this tomorrow, but I have one question for those affected. > > This was reported against rawhide. Is this going to be a problem in F18/17 > > as well? > > Such changes shouldn't happen in already released version. Even if there are > people using gcj we would not do any good for them switching the jvm > mid-release. Seconded. There's obvious problem with Java on secondary architectures where openjdk is not available though. If provides are simply removed, other archs will stop working since there will be no package that would provide "java". The real problem is yum pulling in gcj when it should not(#910093), but that is likely a bugfix with higher likelihood of breaking other things.
(In reply to comment #5) > If provides are simply removed, other archs will stop working since there will be no package that would provide "java". Bah, scratch that. I am should have had that coffee first...
Built in rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=5054507 Please reopen with comments if any issues.