profiles/updates/1Q-2013 contains: [...] move x11-libs/qt-svg dev-qt/qtsvg [...] But /var/db/pkg/kde-base/khelpcenter-4.10.0/DEPEND still contains x11-libs/qt-svg, resulting in: # emerge -auDN @world These are the packages that would be merged, in order: Calculating dependencies .... .............. done! emerge: there are no ebuilds to satisfy ">=x11-libs/qt-svg-4.8.0:4". (dependency required by "kde-base/khelpcenter-4.10.0::kde" [installed]) (dependency required by "kde-base/kdelibs-4.10.0[handbook]" [installed]) (dependency required by "kde-misc/polkit-kde-kcmodules-0.98_pre20120917-r1" [installed]) Even though some updates were carried out: # eix-sync [...] /var/cache/portage/gentoo/profiles/updates/1Q-2013......................................... @@@@@@@@@@@@@@@@pppppppppp####################################################################################################################### [...] --- Random-Guess section starts here --- Possible reason: # cat /var/db/pkg/kde-base/khelpcenter-4.10.0/repository kde But on the other hand: # grep masters /var/cache/portage/overlays/kde/metadata/layout.conf masters = gentoo I would assume that Gentoo repository updates are also applied to packages installed from its siblings, but apparently they are not. Reproducible: Always # emerge --info Portage 2.2.0_alpha164 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.2, glibc-2.16.0, 3.8.1-gentoo x86_64) ================================================================= System uname: Linux-3.8.1-gentoo-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5000+-with-gentoo-2.2 KiB Mem: 6108324 total, 1564880 free KiB Swap: 7813116 total, 7801668 free Timestamp of tree: Sun, 03 Mar 2013 10:15:01 +0000 ld GNU ld (GNU Binutils) 2.23.1 distcc 3.2rc1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.2_p42 dev-java/java-config: 2.1.12-r1 dev-lang/python: 2.7.3-r3, 3.2.3-r2 dev-util/cmake: 2.8.10.2-r2::kde dev-util/pkgconfig: 0.28 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.6 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.9.6-r3, 1.11.6, 1.12.6, 1.13.1 sys-devel/binutils: 2.23.1 sys-devel/gcc: 4.7.2-r1 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.8 (virtual/os-headers) sys-libs/glibc: 2.16.0 Repositories: gentoo systemd sage-on-gentoo local enlightenment kde sunrise g-ctan ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -O2 -march=athlon64-sse3" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0 /var/lib/neatx/home" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-pipe -O2 -march=athlon64-sse3" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--depclean-lib-check=n --with-bdeps=y --keep-going --nospinner" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildsyspkg compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://distfiles.gentoo.org" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu" MAKEOPTS="-j3" PKGDIR="/var/cache/portage/packages" PORTAGE_COMPRESS="xz" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/cache/portage/gentoo" PORTDIR_OVERLAY="/var/lib/layman/systemd /var/lib/layman/sage-on-gentoo /var/cache/portage/local /var/cache/portage/overlays/enlightenment /var/cache/portage/overlays/kde /var/cache/portage/overlays/sunrise /var/lib/g-ctan" [...] Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
I manually appended /var/cache/portage/gentoo/profiles/updates/1Q-2013 to /var/cache/portage/overlays/kde/profiles/updates/1Q-2013, which seems to workaround the issue: --update @world applied the profile update for KDE overlay packages and the unresolved dependency issue is gone. And because it came up on IRC: The problem is not with the ebuilds in the KDE overlay, but with the entries in /var/db/pkg from packages that were once installed from the overlay. (The ebuilds themselves have long since vanished from the overlay, when they were moved into the Gentoo repository, so all that remains are the /var/db/pkg entries.)
If an overlay has a profiles/updates directory, then its package moves are considered separate. So, it's expected that you'll copy any package moves that you want from other repositories to the overlay (which you did and said that it worked). You can request for the overlay maintainer(s) to copy those updates to the overlay so that all users get them.
(In reply to comment #2) > If an overlay has a profiles/updates directory, then its package moves are > considered separate. So, it's expected that you'll copy any package moves > that you want from other repositories to the overlay (which you did and said > that it worked). You can request for the overlay maintainer(s) to copy those > updates to the overlay so that all users get them. Not 100% convinced by the logic, but done anyway...
On second thought. I still think this is a portage bug.
(In reply to comment #4) > On second thought. I still think this is a portage bug. Just so I understand: We now have 3 possible offenders? portage - for considering profile updates of a profile separate from its masters egencache - for ignoring /etc/portage/categories crossdev - for not creating $overlay/profile/categories but using /etc/portage/categories instead
(In reply to comment #4) > On second thought. I still think this is a portage bug. If overlays inherit all package moves, then we also need to provide a way for them to dis-inherit them. The current behavior side-steps the issue by simply requiring the overlay to explicitly include all of the package moves that it wants. (In reply to comment #5) > Just so I understand: We now have 3 possible offenders? > portage - for considering profile updates of a profile separate from its > masters As explained, the portage behavior is intended, since an overlay may want to reject some package moves from the masters. > egencache - for ignoring /etc/portage/categories > crossdev - for not creating $overlay/profile/categories but using > /etc/portage/categories instead Now you're talking about bug 460106, which seems unrelated to package moves.
If masters = gentoo is not enough to get the updates applied, what do you think about adding a new layout.conf key to opt in/out of the updates? If an overlay wants to exclude certain updates (can't think of a use case offhand), could they add their own update reversing the move?
(In reply to comment #7) > If masters = gentoo is not enough to get the updates applied, what do you > think about adding a new layout.conf key to opt in/out of the updates? Yeah, that would be fine. > If an overlay wants to exclude certain updates (can't think of a use case > offhand), could they add their own update reversing the move? For them, it's probably fine to opt out (current default) and manually copy any moves they want from the master repo(s).
(In reply to comment #6) > (In reply to comment #4) > > egencache - for ignoring /etc/portage/categories > > crossdev - for not creating $overlay/profile/categories but using > > /etc/portage/categories instead > > Now you're talking about bug 460106, which seems unrelated to package moves. Yes, sorry, I mixed up the two bugs.