Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 444888 - virtual/jdk prefers icedtea-bin to icedtea
Summary: virtual/jdk prefers icedtea-bin to icedtea
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Java (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-27 04:44 UTC by Rick Farina (Zero_Chaos)
Modified: 2015-09-02 07:02 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rick Farina (Zero_Chaos) gentoo-dev 2012-11-27 04:44:35 UTC
I could be way out of line here, but isn't the first atom in an || set the preferred one?

Why is virtual/jdk written like this?

RDEPEND="|| (
        ppc? ( ${PPC_OPTS} )
        ppc64? ( ${PPC_OPTS} )
        prefix? ( ${PREFIX_OPTS} )
        =dev-java/icedtea-bin-6*
        =dev-java/icedtea-bin-1*
        =dev-java/icedtea-6*

Shouldn't it be:

RDEPEND="|| (
        ppc? ( ${PPC_OPTS} )
        ppc64? ( ${PPC_OPTS} )
        prefix? ( ${PREFIX_OPTS} )
        =dev-java/icedtea-6*
        =dev-java/icedtea-bin-6*
        =dev-java/icedtea-bin-1*

Is it just because icedtea-6 isn't stable or what?  I'm willing to throw in some work and testing to get to this goal.
Comment 1 Ralph Sennhauser (RETIRED) gentoo-dev 2012-11-27 18:53:01 UTC
Stable has nothing to do with this, in fact is irrelevant as the resolver is supposed to pick the first eligible one if none of those is already installed.

The reason is icedtea requires a jdk to be built whereas icedtea-bin does not and so the bootstrapping can be avoided with the latter. As JDKs provide JREs and the needed java-config PDEPENDS on a JRE things soon get hairy for the resolver and what we see is Portage running into pseudo circular deps. See bug 382421 for a start.

The requirement for preferring icedtea over icedtea-bin in the virtual is, the user experience must be at least as good across all visibility levels for all EAPI 4 capable versions of Portage.
This might involve making Portage smarter or figure out what additional information from the ebuild would enable Portage to be smart and get those bits into an EAPI.

I'm afraid this might be out of scope for "willing to throw in some work" but a true fix for the whole issue certainly is desirable.
Comment 2 James Le Cuirot gentoo-dev 2015-09-01 23:03:27 UTC
Building icedtea without icedtea-bin won't be an option in future as gcj is almost certainly going away. Even if that weren't the case, building gcj takes ages and building icedtea can be problematic. Only users who really know what they're doing should bother trying.
Comment 3 Andrew John Hughes 2015-09-01 23:40:25 UTC
Actually, the plan for the demise of gcj is to make IcedTea self-contained. It should then be acceptable to have the source version as the primary one.
Comment 4 James Le Cuirot gentoo-dev 2015-09-02 07:02:58 UTC
(In reply to Andrew John Hughes from comment #3)
> Actually, the plan for the demise of gcj is to make IcedTea self-contained.
> It should then be acceptable to have the source version as the primary one.

I'm not sure how that would work (please enlighten me on IRC!) but I'll review the decision when that happens.