The situation: I've got dev-lang/sun-jdk-1.6.0 (and eclipse) installed. I tried to do a world update and encountered the problem, that some package of eclipse now wants to re-emerge virtual/jdk, and with this, the whole icedtea jdk.
It seems that dev-java/sun-jdk recently is masked by license. But portage doesn't show this issue to me, instead it wants to emerge another JDK.
After some research (better: trying) I found out, that I need to add sun-jdk to package.license or ACCEPT_LICENSE, so problem solved.
Steps to Reproduce:
1. Have sun-jdk (without unmasking license) and some java apps installed
2. try to update "world" after the package in question has been masked by license in portage
portage would like to emerge another JVM. the user doesn't know the problem is a missing license mask.
# emerge -uDtp world
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!
[nomerge ] dev-util/eclipse-sdk-3.4-r2
[nomerge ] dev-java/lucene-1.9.1
[nomerge ] virtual/jdk-1.6.0
[ebuild N ] dev-java/icedtea6-bin-1.6.1 USE="X alsa nsplugin -doc -examples -source"
[nomerge ] media-video/kino-1.3.3
[nomerge ] media-libs/libquicktime-1.1.3
[nomerge ] media-libs/mesa-7.5.2
[ebuild U ] app-admin/eselect-opengl-1.1.0 [1.0.9]
portage might should show that sun-jdk is (now) masked by license. I'm unsure how to accomplish this with virtual/jdk ebuild's deps order
Workaround: Find out, that the package in question is now masked by license and unmask it.
As someone said on #gentoo: "not a technical bug; but communication problem ... leading users to the wrong path"
When I asked in #gentoo for help there were at least 2 other people having the same problem, so I think this _is_ an issue.
the emerge error message is wrong, not a technical bug; but communication problem ... leading users to the wrong path, saying that the problem is due to missing keyword, and incitating the user to unmask, when actually, it seems to be a licensing problem.
If all ebuilds that can satisfy one dependency (such as this virtual) are masked, Portage should either display ALL of them in the error output or prefer the ones that have installed atoms and those that are "only" masked by license.
*** This bug has been marked as a duplicate of bug 288083 ***
(In reply to comment #2)
> If all ebuilds that can satisfy one dependency (such as this virtual) are
> masked, Portage should either display ALL of them in the error output or prefer
> the ones that have installed atoms and those that are "only" masked by license.
That's bug 164457.