Compare the dependency tree with the graph printed by autounmask: # emerge -pv --tree lxc [...] Calculating dependencies... done! [ebuild N *] app-emulation/lxc-0.8.0_rc1-r4 USE="-examples -vanilla" 299 kB [ebuild N ] app-text/docbook-sgml-utils-0.6.14-r1 USE="-jadetex" 123 kB [ebuild N ] www-client/lynx-2.8.8_pre12 USE="bzip2 ipv6 nls ssl unicode -cjk -gnutls -idn" 2,481 kB [ebuild N ] app-text/openjade-1.3.2-r3 USE="-static-libs" 874 kB [ebuild N ] app-text/opensp-1.5.2-r2 USE="nls -doc -static-libs -test" 1,486 kB [ebuild N ] dev-perl/SGMLSpm-1.03-r6 92 kB [ebuild U ~] sys-apps/openrc-0.10.2 [0.9.8.4] USE="ncurses pam unicode -debug (-selinux) -static-libs" 168 kB [ebuild U ~] sys-kernel/linux-headers-3.4 [3.1] 5,000 kB [nomerge ] sys-fs/cryptsetup-1.4.1 USE="nls (-selinux) -static" [nomerge ] sys-fs/udev-164-r2 USE="-build -extras (-selinux) -test" [ebuild U ~] sys-apps/baselayout-2.1-r1 [2.0.3] USE="-build" 40 kB [...] The following keyword changes are necessary to proceed: #required by virtual/os-headers-0, required by sys-apps/openrc-0.10.2, required by sys-apps/baselayout-2.1-r1, required by @system, required by @selected, required by @world (argument) =sys-kernel/linux-headers-3.4 ~ia64 While the tree shows that lxc depends on linux-headers (in fact >=3.2), the graph shown by autounmask suggests that os-headers enforces this dependency, which in fact has no dependency on any version of linux-headers. This can confuse the user who wants to figure out who actually requires the masked version. I suggest using the same information for the autounmask comment that is used for printing the dependency tree. Reproducible: Always
Maybe a duplicate of bug 399863? Please post output of emerge --version.
(In reply to comment #1) > Maybe a duplicate of bug 399863? Please post output of emerge --version. Portage 2.2.0_alpha109 (hardened/linux/ia64/server, gcc-4.5.3, glibc-2.14.1-r3, 2.6.27-openvz-repin.1 ia64) I just tried it again, the message changed slightly: * Removed linux-headers from package.keywords * Downgraded it * Tried to emerge lxc again # emerge -pv lxc These are the packages that would be merged, in order: Calculating dependencies... done! [binary U ~] sys-kernel/linux-headers-3.4 [3.1] 0 kB [binary N ] www-client/lynx-2.8.8_pre12 USE="bzip2 ipv6 nls ssl unicode -cjk -gnutls -idn" 0 kB [ebuild N ] app-text/docbook-sgml-utils-0.6.14-r1 USE="-jadetex" 0 kB [ebuild N *] app-emulation/lxc-0.8.0_rc1-r4 USE="-examples -vanilla" 0 kB Total: 4 packages (1 upgrade, 3 new, 2 binaries), Size of downloads: 0 kB The following keyword changes are necessary to proceed: #required by virtual/os-headers-0, required by @system, required by @selected, required by @world (argument) =sys-kernel/linux-headers-3.4 ~ia64 It appears the string is influenced by what other packages will also be build, but generally it uses the wrong dependency chain.
*** Bug 425108 has been marked as a duplicate of this bug. ***
*** Bug 432336 has been marked as a duplicate of this bug. ***
*** Bug 451298 has been marked as a duplicate of this bug. ***
*** Bug 480556 has been marked as a duplicate of this bug. ***
*** Bug 489418 has been marked as a duplicate of this bug. ***
*** Bug 498316 has been marked as a duplicate of this bug. ***
I also encountered what I think of is an instance of this bug: # emerge -1 spacefm These are the packages that would be merged: Calculating dependencies... done! [ebuild U ] x11-misc/spacefm-0.9.3 [0.8.7] USE="-startup-notification" 1,262 kB [nomerge ] x11-libs/cairo-1.12.14-r4 USE="X glib opengl svg (-aqua) -debug -directfb -doc (-drm) (-gallium) (-gles2) -legacy-drivers -openvg (-qt4) -static-libs -valgrind -xcb -xlib-xcb" [nomerge ] media-libs/mesa-9.1.6 USE="classic egl gallium nptl openvg shared-glapi xa xorg xvmc -bindist -debug -gbm -gles1 -gles2 -llvm -osmesa -pax_kernel -pic (-r600-llvm-compiler) (-selinux) -vdpau -wayland" PYTHON_SINGLE_TARGET="python2_7 -python2_6" PYTHON_TARGETS="python2_7 -python2_6" VIDEO_CARDS="-i915 -i965 -intel -nouveau -r100 -r200 -r300 -r600 -radeon (-radeonsi) -vmware" [nomerge ] x11-base/xorg-server-1.14.3-r2:0/1.14.3 USE="ipv6 nptl suid udev xnest xorg xvfb -dmx -doc -kdrive -minimal (-selinux) -static-libs -tslib" [nomerge ] x11-base/xorg-drivers-1.14 INPUT_DEVICES="evdev keyboard mouse synaptics -acecad -aiptek -elographics -fpit -hyperpen -joystick -mutouch -penmount -tslib -vmmouse -void -wacom" VIDEO_CARDS="nvidia -apm -ast -chips -cirrus -dummy -epson -fbdev -fglrx (-geode) -glint -i128 (-i740) -intel -mach64 -mga -modesetting -neomagic -nouveau -nv (-omap) (-omapfb) -qxl -r128 -radeon -radeonsi -rendition -s3virge -savage -siliconmotion -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo)" [nomerge ] x11-drivers/nvidia-drivers-331.38 USE="X acpi tools (-multilib) -pax_kernel" [nomerge ] x11-libs/gtk+-2.24.22:2 USE="cups vim-syntax xinerama (-aqua) -debug -examples -introspection {-test}" [nomerge ] net-print/cups-1.7.1 USE="X gnutls pam ssl threads -acl -dbus -debug -java -kerberos -lprng-compat -python (-selinux) -static-libs -usb -xinetd -zeroconf" LINGUAS="-ca -es -fr -it -ja -ru" PYTHON_SINGLE_TARGET="python2_7 -python2_6" PYTHON_TARGETS="python2_7 -python2_6" [nomerge ] net-print/cups-filters-1.0.43-r1 USE="foomatic jpeg png tiff -dbus -perl -static-libs -zeroconf" [nomerge ] app-text/ghostscript-gpl-9.10-r2 USE="X cups gtk -bindist -dbus -djvu -idn -static-libs" LINGUAS="-de -ja -ko -zh_CN -zh_TW" [ebuild NS #] x11-libs/gtk+-3.10.7:3 [2.24.22:2] USE="X vim-syntax xinerama (-aqua) -colord -cups -debug -examples -introspection (-packagekit) {-test} -wayland" 14,028 kB [ebuild N ] app-accessibility/at-spi2-atk-2.10.2:2 USE="{-test}" 266 kB [ebuild N ] app-accessibility/at-spi2-core-2.10.2:2 USE="X -introspection" 436 kB Total: 4 packages (1 upgrade, 2 new, 1 in new slot), Size of downloads: 15,990 kB The following mask changes are necessary to proceed: (see "package.unmask" in the portage(5) man page for more details) # required by app-text/ghostscript-gpl-9.10-r2[gtk] # required by @selected # required by @world (argument) # /etc/portage/package.mask/gtk: =x11-libs/gtk+-3.10.7 # grep gtk+ /usr/portage/app-text/ghostscript-gpl/ghostscript-gpl-9.10-r2.ebuild gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) ) Oh and, how come this bug has 6 duplicates and still is considered "UNCONFIRMED"? Could I help somehow in confirming it?
oh I forgot to mention: % emerge --version Portage 2.2.8-r1 (default/linux/amd64/13.0/no-multilib, gcc-4.7.3, glibc-2.17, 3.13.1-aufs x86_64)
Created attachment 373512 [details] cleaned up version of emerge --info
This is absolutely still an issue. When a certain version of a dep "foo" is being forced, autounmask's comment's may blame ANY package which depends on "foo", not necessarily the one with the strict version dep. This is still a problem today on 2.2.10, and FYI the "reason" is correct when one uses --autounmask=n.
*** Bug 513844 has been marked as a duplicate of this bug. ***
*** Bug 541600 has been marked as a duplicate of this bug. ***
Still an issue. # emerge --version Portage 2.2.18 (python 2.7.9-final-0, default/linux/amd64/13.0, gcc-4.8.3, glibc-2.19-r1, 3.19.0-pf1-tia-n550 x86_64) Example: # required by virtual/libc-0::gentoo # required by @system # required by @world (argument) # /etc/portage/package.mask: =sys-libs/glibc-2.20-r2 But virtual/libc-0 depends on glibc:2.2.
*** Bug 553360 has been marked as a duplicate of this bug. ***
*** Bug 556182 has been marked as a duplicate of this bug. ***
also stumbled across this bug today: -------- autounmask message ------------ ---some output during update... The following keyword changes are necessary to proceed: (see "package.accept_keywords" in the portage(5) man page for more details) # required by kde-apps/kdebase-data-4.14.3-r1::gentoo[wallpapers] # required by kde-apps/kdebase-runtime-meta-4.14.3::gentoo # required by kde-apps/kdebase-meta-4.14.3-r2::gentoo # required by @selected # required by @world (argument) =kde-apps/kde-wallpapers-15.08.3 ~amd64 ------- real cause of unmask ---------- # equery d kde-wallpapers * These packages depend on kde-wallpapers: kde-apps/kdebase-data-4.14.3-r1 (wallpapers ? >=kde-apps/kde-wallpapers-4.14.3:4[aqua=]) kde-apps/kdebase-meta-4.14.3-r2 (wallpapers ? >=kde-apps/kde-wallpapers-15.08.3:4[aqua=]) kde-base/kdebase-startkde-4.11.22 (wallpapers ? >=kde-apps/kde-wallpapers-15.08.3:4[aqua=])
# emerge --version Portage 2.2.26 (python 2.7.10-final-0, default/linux/amd64/13.0/desktop/kde, gcc-4.9.3, glibc-2.21-r1, 4.1.12-gentoo x86_64)
Currently, the best_match_to_list function is used to select the parent that will be displayed, and it does a poor job of selecting the most appropriate atom. The best_match_to_list function could be improved, but it will never be able to pick the correct atom in all cases. Therefore, we should probably have the autounmask infrastructure keep track of the specific atom(s) that trigger autounmask, make the depgraph._get_dep_chain method give preference to those atoms.
*** Bug 527604 has been marked as a duplicate of this bug. ***
*** Bug 571082 has been marked as a duplicate of this bug. ***