See the topic https://forums.gentoo.org/viewtopic-t-1015376.html for further details. I'm running a stable x86_64 systewm, and I currently have dev-java/icedtea-bin-6.1.13.5 installed. 3 days ago, portage wanted to install dev-java/oracle-jdk-bin along with virtual/jdk-1.7.0. I then put dev-java/oracle-jdk-bin and dev-java/oracle-jre-bin in my /etc/portage/package.mask, after which portage no longer insisted on installing virtual/jdk-1.7.0 and virtual/jre-1.7.0. After today's upgrade to portage 2.2.18, emerge -avuDN @world will pull in the unstable packages dev-java/icedtea-bin-7.2.5.3 and dev-java/icedtea-web-1.5.1-r1, again as dependencies to the 1.7 virtuals. Normally, no stable packages will try to pull in unstable packages as dependencies, and I consider this a bug. In order to circumvent the problem, I could of course mask the virtual/{jdk,jre}-1.7.0 packages, but I greatly prefer the old behaviour, which would seem to put the emerge of the 1.7 virtuals on hold until icedtea 1.7 was marked stable. If I must manually mask the 1.7 virtuals, it puts the responsibility on me to manually unmask them when icedtea 1.7 is marked stable. I'd rather not be bothered with that kind of micro-management. Reproducible: Always
I should mention that adding "=sys-apps/portage-2.2.18" to /etc/portage/package.mask and then downgrading to portage 2.2.14 resolved the situation.
This is probably because of --backtrack value being reduced by default (in previous versions portage was probably able to skip the virtual update in that way) This reminds me that we need to push a bit in bug 546902 :S
(In reply to Pacho Ramos from comment #2) > This is probably because of --backtrack value being reduced by default (in > previous versions portage was probably able to skip the virtual update in > that way) It doesn't have anything to do with the default --backtrack setting, because when it settles on what it considers a viable solution (which pulled in unstable deps), it does not backtrack. So, what you want is for it to avoid settling on this solution in the first place.
We actually have a test case called VirtualSlotResolverTestCase.testLicenseMaskedVirtualSlotUpdate for bug 382557 which is supposed to cover this, and the test still passes: https://gitweb.gentoo.org/proj/portage.git/tree/pym/portage/tests/resolver/test_virtual_slot.py So, I guess something about the dependencies on your system is causing autounmask to pull in java 1.7. Does the problem go away if you add --autounmask=n to your emerge options?
(In reply to Zac Medico from comment #4) > We actually have a test case called > VirtualSlotResolverTestCase.testLicenseMaskedVirtualSlotUpdate for bug > 382557 which is supposed to cover this, and the test still passes: > > https://gitweb.gentoo.org/proj/portage.git/tree/pym/portage/tests/resolver/ > test_virtual_slot.py > > So, I guess something about the dependencies on your system is causing > autounmask to pull in java 1.7. Does the problem go away if you add > --autounmask=n to your emerge options? Actually, it does. I reemerged portage 2.2.18 and here are the results, without and with "--autounmask=n": balapapa ~ # nice emerge -avuDN @world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild NS ~] dev-java/icedtea-bin-7.2.5.3:7::gentoo [6.1.13.5:6::gentoo] USE="X alsa cups nsplugin -cjk -doc -examples (-selinux) -source -webstart" 54 414 KiB [ebuild NS ] virtual/jdk-1.7.0:1.7::gentoo [1.6.0-r2:1.6::gentoo] 0 KiB [ebuild NS ] virtual/jre-1.7.0:1.7::gentoo [1.6.0-r1:1.6::gentoo] 0 KiB [ebuild U ~] dev-java/icedtea-web-1.5.1-r1::gentoo [1.4.2::gentoo] USE="icedtea7%* nsplugin -doc -javascript -tagsoup% {-test}" 1 579 KiB Total: 4 packages (1 upgrade, 3 in new slots), Size of downloads: 55 993 KiB The following keyword changes are necessary to proceed: (see "package.accept_keywords" in the portage(5) man page for more details) # required by virtual/jdk-1.7.0::gentoo # required by virtual/jre-1.7.0::gentoo # required by net-dns/libidn-1.29::gentoo[java] # required by app-text/acroread-9.5.5-r2::gentoo # required by @selected # required by @world (argument) =dev-java/icedtea-bin-7.2.5.3 ~amd64 # required by dev-java/icedtea-bin-7.2.5.3::gentoo[nsplugin] # required by virtual/jdk-1.7.0::gentoo # required by virtual/jre-1.7.0::gentoo # required by net-dns/libidn-1.29::gentoo[java] # required by app-text/acroread-9.5.5-r2::gentoo # required by @selected # required by @world (argument) =dev-java/icedtea-web-1.5.1-r1 ~amd64 Would you like to add these changes to your config files? [Yes/No] n balapapa ~ # nice emerge -avuDN --autounmask=n @world These are the packages that would be merged, in order: Calculating dependencies... done! Total: 0 packages, Size of downloads: 0 KiB Nothing to merge; quitting.
(In reply to Leif Biberg Kristensen from comment #5) > Actually, it does. I reemerged portage 2.2.18 and here are the results, > without and with "--autounmask=n": > > balapapa ~ # nice emerge -avuDN @world > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild NS ~] dev-java/icedtea-bin-7.2.5.3:7::gentoo [6.1.13.5:6::gentoo] > USE="X alsa cups nsplugin -cjk -doc -examples (-selinux) -source -webstart" > 54 414 KiB > [ebuild NS ] virtual/jdk-1.7.0:1.7::gentoo [1.6.0-r2:1.6::gentoo] 0 KiB > [ebuild NS ] virtual/jre-1.7.0:1.7::gentoo [1.6.0-r1:1.6::gentoo] 0 KiB > [ebuild U ~] dev-java/icedtea-web-1.5.1-r1::gentoo [1.4.2::gentoo] > USE="icedtea7%* nsplugin -doc -javascript -tagsoup% {-test}" 1 579 KiB Please attach a debug log of the above calculation, created as follows: emerge -pvuDN @world --debug > debug.log 2>&1
Created attachment 401810 [details] debug log
Please reopen if you can trigger this with a recent version of portage. Since bug 658648, keyword changes are disabled by default, so you won't be able to trigger it unless you explicitly enable --autounmask.