gentoo / java-overlay

[MIRROR] Java overlay
https://gitweb.gentoo.org/proj/java.git
16 stars 21 forks source link

dev-java/icedtea wants to "upgrade" from 3.7.0 to 7.2.6.13 AND has a circular dependency on itself #44

Closed d4ddi0 closed 3 years ago

d4ddi0 commented 6 years ago

idk... is this desire to downgrade a problem with the ebuild, or a core problem with gentoo ebuilds? If they really cannot handle slot 8...

also the circular dependency:

Calculating dependencies... done! 

[ebuild  NS    ] dev-java/icedtea-7.2.6.13:7::java [3.7.0:8::gentoo] USE="alsa cups gtk javascript jbootstrap nsplugin source sunec webstart (-cacao) -cjk -debug -doc -examples -headless-awt (-jamvm) -kerberos -libressl -nss -pax_kernel -pulseaudio -sctp (-selinux) -smartcard {-test} -zero" 49,921 KiB 

Total: 1 package (1 in new slot), Size of downloads: 49,921 KiB 

 * Error: circular dependencies: 

(dev-java/icedtea-7.2.6.13:7/7::java, ebuild scheduled for merge) depends on 
 (dev-java/icedtea-7.2.6.13:7/7::java, ebuild scheduled for merge) (buildtime) 

 * Note that circular dependencies can often be avoided by temporarily 
 * disabling USE flags that trigger optional dependencies. 

see also https://forums.gentoo.org/viewtopic-p-8208630.html

chewi commented 6 years ago

It's not clear if you want Java 7 or not. Despite the higher version number, 7.2 is for Java 7 while 3.7 is for Java 8. Gentoo does not officially support Java 7 any more and has removed it. It is present in java-overlay because @gnu-andrew still maintains it. Unfortunately Java 7 cannot be built with Java 8 and we don't provide an icedtea-bin for Java 7 any more so you end up with this circular dependency. You can build it with gcj-jdk instead but that is masked along with older gcc versions. Unmask these if that's what you really want to do.

Nothing depends on an unslotted dev-java/icedtea so if you don't care about Java 7 then I'm guessing you have this entry in your @world file. You should therefore replace it with dev-java/icedtea:8.

@gnu-andrew, it's up to you if you want to renumber 7.2 to just 2. There's less of an impact now that it's gone from the main repository but whether it's worth the hassle at this point is debatable.

d4ddi0 commented 6 years ago

No special desire for jdk7 here but I've just learned something about gentoo versioning that was a bit surprising. [shakes head] More to the point, what I had in my world file is "dev-java/icedtea". For some reason changing it to dev-java/icedtea:8 did not stop portage from trying to install icedtea 7, however, removing it from my world file and replacing it with virtual/jdk (with no slot specifier) worked, and I was able to emerge -DuN world without being blocked. My specific case is fixed, but I'll be happy to help test. proposed fixes

I think the overlay may be broken for others in my situation.

gnu-andrew commented 6 years ago

Yes, IcedTea for OpenJDK 7 has always been the 2.x series. I still don't understand why the 7. prefix was added in Gentoo - it wasn't my choice, despite maintaining these ebuilds - but it's not worth changing now. There's nothing formal as yet, but I don't suspect OpenJDK 7 to be supported much longer. Getting rid of the gcj dependency is still something on my todo list, as we do still need a way of bootstrapping with that gone. Gentoo did remove it very prematurely, as gcj is still available in GCC 6, specifically so we have time to work around this. Incidentally, going forward, OpenJDK always needs the version before to build, so we're going to have to have IcedTea 4.x / OpenJDK 9 around - even though it'll be DOA - to build 10. As such, I see us having versions around that are for build only, not actual use :(

stikonas commented 4 years ago

Getting rid of the gcj dependency is still something on my todo list, as we do still need a way of bootstrapping with that gone. Gentoo did remove it very prematurely, as gcj is still available in GCC 6, specifically so we have time to work around this.

I have actually managed to bootstrap icedtea without gcj (https://git.stikonas.eu/andrius/openjdk-overlay), although only on some platforms (works on at least amd64, arm64 and x86)

d4ddi0 commented 3 years ago

Closing. No action to take here.