Summary: | "emerge --depclean" removes packages that "emerge -uND world" pulls back in | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | xo0ox <xo0ox> |
Component: | [OLD] Java | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mgorny |
Priority: | High | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 335925 | ||
Attachments: | "emerge -dcp" and "emerge -uNDdp world" stdin and stdout 4 files |
Description
xo0ox
2010-08-14 11:54:19 UTC
I guess it all depends on what `equery depends virtual/jdk' tells you. (In reply to comment #1) > I guess it all depends on what `equery depends virtual/jdk' tells you. That was a kind of question. Could you answer it and reopen, please? (In reply to comment #2) > (In reply to comment #1) > > I guess it all depends on what `equery depends virtual/jdk' tells you. > > That was a kind of question. Could you answer it and reopen, please? > Sorry, that i misunderstood it. Here is the output. # equery depends virtual/jdk [ Searching for packages depending on virtual/jdk... ] dev-java/ant-core-1.7.1-r4 (>=virtual/jdk-1.4) dev-java/antlr-2.7.7 (>=virtual/jdk-1.3) dev-java/bcprov-1.40 (>=virtual/jdk-1.5) dev-java/commons-cli-1.2 (>=virtual/jdk-1.4) dev-java/gjdoc-0.7.9-r2 (>=virtual/jdk-1.4) dev-java/json-simple-20080420 (>=virtual/jdk-1.4) dev-java/log4j-1.2.15-r2 (>=virtual/jdk-1.4) dev-java/swt-3.5.2 (>=virtual/jdk-1.4) dev-libs/protobuf-2.3.0-r1 (java? >=virtual/jdk-1.5) dev-libs/soprano-2.4.4 (java? >=virtual/jdk-1.6.0) dev-vcs/subversion-1.6.11 (java? >=virtual/jdk-1.5) media-libs/libpano13-2.9.14 (java? >=virtual/jdk-1.3) media-libs/pdflib-7.0.2_p8 (java? >=virtual/jdk-1.4) net-dns/libidn-1.19 (java? >=virtual/jdk-1.4) net-libs/xulrunner-1.9.2.8-r1 (java? >=virtual/jdk-1.4) net-p2p/vuze-4.3.1.4-r2 (>=virtual/jdk-1.5) sys-libs/db-4.7.25_p4 (java? >=virtual/jdk-1.5) sys-libs/db-4.8.30 (java? >=virtual/jdk-1.5) virtual/jre-1.5.0 (=virtual/jdk-1.5.0*) virtual/jre-1.6.0 (=virtual/jdk-1.6.0*) www-client/firefox-3.6.8-r1 (java? >=virtual/jdk-1.4) equery depends doesn't seem to be affected by USE flags. It just dumps dependencies as they're specified in ebuilds. Portage however (--depclean) takes USE flags into consideration. I guess this bug can be treated either as: - feature request for equery - invalid/wontfix, if equery is to list dependencies as they are specified and not as they are installed Portage deletes and installs these three packages every time i run "emerge --depclean" and "emerge -uND world". equery is not the problem. (In reply to comment #5) > Portage deletes and installs these three packages every time i run "emerge > --depclean" and "emerge -uND world". equery is not the problem. Why didn't you mention that earlier? Please post the output of both commands with both --pretend and --debug options enabled. > Why didn't you mention that earlier? Please post the output of both commands
> with both --pretend and --debug options enabled.
Sorry, i thought this clear after my first post.
I will add the following files to this bugreport:
With the 3 mentioned packages installed (before depclean):
emerge-dcp emerge-uNDdp_world
Without them (after a depclean):
emerge-dcp2 emerge-uNDdp_world2
Created attachment 246398 [details]
"emerge -dcp" and "emerge -uNDdp world" stdin and stdout 4 files
--depclean shows this: Candidates: virtual/jdk-1.5.0: ['=dev-java/sun-jdk-1.5.0*'] while the update command shows this: Candidates: virtual/jdk-1.5.0: ['=dev-java/ibm-jdk-bin-1.5.0*'] I guess you have sun-jdk-1.5.0 masked somehow, maybe by license. Please post the output of this command: emerge -pv '=dev-java/sun-jdk-1.5.0*' > Please post the output of this command: > > emerge -pv '=dev-java/sun-jdk-1.5.0*' # emerge -pv '=dev-java/sun-jdk-1.5.0*' These are the packages that would be merged, in order: Calculating dependencies... done! !!! All ebuilds that could satisfy "=dev-java/sun-jdk-1.5.0*" have been masked. !!! One of the following masked packages is required to complete your request: - dev-java/sun-jdk-1.5.0.22-r1 (masked by: package.mask) /usr/portage/profiles/package.mask: # Vlastimil Babka <caster@gentoo.org> (30 Jun 2010) # Masked for removal due to EOL and security, bug #292001. # Do this to avoid pulling other 1.5 JDK: # emerge -av --depclean sun-jdk:1.5 jdk:1.5 jre:1.5 For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. Additional: grep -v "^#" /etc/portage/*|grep java /etc/portage/package.use:app-emulation/emul-linux-x86-java X alsa nsplugin /etc/portage/package.use:dev-java/sun-jre-bin X alsa nsplugin /etc/portage/package.use:www-client/firefox javascript java mozdevelop The masked sun-jdk package is supposed to be rejected in this part of depgraph._dep_check_composite_db._visible(): if pkg.installed and not pkg.visible: return False I'll have to do some debugging to find out why this case isn't handled correctly. On a side, not, it seems like the above pkg.visible check should be wrapped with self._pkg_visibility_check(). This is fixed in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ed1555f7b5ba3233c55050ed469c597101ed38b0 Test case confirms: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ed3c3869998605f640920de540a6cdee0d1d96db > This is fixed in git:
I installed the git version and now portage works as expected.
Thank you for this fix!
Thanks for testing. This is fixed in 2.1.9.2 and 2.2_rc78. *** Bug 338000 has been marked as a duplicate of this bug. *** |