Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 460102

Summary: sys-apps/portage-2.2.0_alpha164 did not execute profile update package move
Product: Portage Development Reporter: Dennis Schridde <devurandom>
Component: UnclassifiedAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: josef64, kensington, slawomir.nizio
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Dennis Schridde 2013-03-03 11:25:45 UTC
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
Comment 1 Dennis Schridde 2013-03-03 11:46:55 UTC
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.)
Comment 2 Zac Medico gentoo-dev 2013-03-03 16:35:05 UTC
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.
Comment 3 Andreas K. Hüttel gentoo-dev 2013-03-04 10:02:27 UTC
(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...
Comment 4 Andreas K. Hüttel gentoo-dev 2013-03-04 10:05:56 UTC
On second thought. I still think this is a portage bug.
Comment 5 Dennis Schridde 2013-03-04 11:58:41 UTC
(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
Comment 6 Zac Medico gentoo-dev 2013-03-04 23:45:53 UTC
(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.
Comment 7 Michael Palimaka (kensington) gentoo-dev 2013-03-05 05:44:48 UTC
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?
Comment 8 Zac Medico gentoo-dev 2013-03-05 05:52:14 UTC
(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).
Comment 9 Dennis Schridde 2013-03-06 07:25:53 UTC
(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.