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

Bug 279449

Summary: emerge says atoms come from 'world' that really come from world_sets (or nested sets)
Product: Gentoo Linux Reporter: kavol
Component: [OLD] Core systemAssignee: Portage team <dev-portage>
Status: RESOLVED DUPLICATE    
Severity: normal CC: esigra, kde
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 144480    

Description kavol 2009-07-28 09:03:17 UTC
Hi.

When trying to update my system, I'm getting large number of conflicts, packages that block each other. Trying to resolve it manually, I have found that emerge behaves incorrectly. One particular case:

localhost ~ # emerge -au1 kwallet

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] x11-libs/qt-gui-4.5.2-r2 [4.5.2-r1]
[ebuild     U ] dev-util/cmake-2.6.4-r1 [2.6.4]
[ebuild  NS   ] kde-base/kwalletd-4.3.61 [4.2.96] USE="(-aqua) -debug (-kdeprefix)"
[ebuild  NS   ] kde-base/kcmshell-4.3.61 [4.2.96] USE="(-aqua) -debug (-kdeprefix)"
[ebuild  NS   ] kde-base/kwallet-4.3.61 [4.2.95] USE="handbook (-aqua) -debug (-kdeprefix)"
[blocks B     ] kde-base/kcmshell:4.3[-kdeprefix] ("kde-base/kcmshell:4.3[-kdeprefix]" is blocking kde-base/kcmshell-4.3.61)
[blocks B     ] kde-base/kwalletd:4.3[-kdeprefix] ("kde-base/kwalletd:4.3[-kdeprefix]" is blocking kde-base/kwalletd-4.3.61)
[blocks B     ] kde-base/kwallet:4.3[-kdeprefix] ("kde-base/kwallet:4.3[-kdeprefix]" is blocking kde-base/kwallet-4.3.61)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  ('installed', '/', 'kde-base/kwallet-4.2.95', 'nomerge') pulled in by
    kde-base/kwallet:4.3 required by @world

  ('ebuild', '/', 'kde-base/kwallet-4.3.61', 'merge') pulled in by
    kwallet

  ('ebuild', '/', 'kde-base/kcmshell-4.3.61', 'merge') pulled in by
    >=kde-base/kcmshell-4.3.61:4.4[-kdeprefix] required by ('ebuild', '/', 'kde-base/kwallet-4.3.61', 'merge')
    kde-base/kcmshell required by @world

  ('ebuild', '/', 'kde-base/kwalletd-4.3.61', 'merge') pulled in by
    kde-base/kwalletd required by @world
    >=kde-base/kwalletd-4.3.61:4.4[-kdeprefix] required by ('ebuild', '/', 'kde-base/kwallet-4.3.61', 'merge')



- oh well, "kde-base/kwallet:4.3 required by @world"?

localhost ~ # grep kwallet /var/lib/portage/world
localhost ~ #

... not really, is it?

localhost ~ # emerge --unmerge kwallet
Not unmerging package kde-base/kwallet-4.2.95 as it is
still referenced by the following package sets:
    kdeutils


>>> No packages selected for removal by unmerge



... so, is it required by @world or by @kdeutils?

and why I can't force unmerge, so that proper (new) version would be pulled on next emerge world?

Reproducible: Always

Actual Results:  
see above

Expected Results:  
1) report proper dependency chain
2) allow "--nodeps" also for package unmerge
Comment 1 kavol 2009-07-28 09:10:01 UTC
I forgot to mention that it happens with the new portage,

localhost sets # emerge --info
Portage 2.2_rc33 (default/linux/x86/2008.0/desktop, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30-gentoo-r1 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r1-i686-Pentium_III_-Katmai-with-gentoo-2.0.1
Timestamp of tree: Tue, 28 Jul 2009 05:30:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p24
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.6.2-r1
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    2.0
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="cs_CZ.UTF-8"
LC_ALL="cs_CZ.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="cs en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/kde-testing"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi bash-completion berkdb branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvdr dvdread emboss evo exif firefox fortran gdbm gif gtk hal iconv inotify isdnlog jpeg kde libnotify midi mmx moznocompose moznoirc moznomail moznopango moznoroaming mpeg mudflap ncurses nls nptl nptlonly objc ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3support qt4 quicktime readline reflection sdl session spell spl sse ssl startup-notification svg symlink sysfs tiff truetype unicode usb win32codecs x86 xcomposite xml xorg xulrunner xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="cs en" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 2 Zac Medico gentoo-dev 2009-07-31 21:53:47 UTC
(In reply to comment #0)
> localhost ~ # emerge --unmerge kwallet
> Not unmerging package kde-base/kwallet-4.2.95 as it is
> still referenced by the following package sets:
>     kdeutils

You need to remove @kdeutils from /var/lib/portage/world_sets.
Comment 3 kavol 2009-08-01 05:52:22 UTC
(In reply to comment #2)
> You need to remove @kdeutils from /var/lib/portage/world_sets.

no, this is not the case -

localhost ~ # cat /var/lib/portage/world_sets
@kde
@system

finally, I have found that a local copy of the sets definitions was used that was outdated, and I managed to get rid of the failing dependencies by removing it, however, this does not change the point that emerge is inconsistent in reporting dependencies and that it does not allow to force uninstallation ...
Comment 4 Zac Medico gentoo-dev 2009-08-01 07:16:01 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > You need to remove @kdeutils from /var/lib/portage/world_sets.
> 
> no, this is not the case -
> 
> localhost ~ # cat /var/lib/portage/world_sets
> @kde

@kdeutils is apparently nested somewhere inside @kde, so you have to look to the definition of the @kde set.

> @system
> 
> finally, I have found that a local copy of the sets definitions was used that
> was outdated, and I managed to get rid of the failing dependencies by removing
> it, however, this does not change the point that emerge is inconsistent in
> reporting dependencies and that it does not allow to force uninstallation ...

That's already been reported in bug 243020.
Comment 5 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2009-08-04 16:07:44 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > You need to remove @kdeutils from /var/lib/portage/world_sets.
> > 
> > no, this is not the case -
> > 
> > localhost ~ # cat /var/lib/portage/world_sets
> > @kde
> 
> @kdeutils is apparently nested somewhere inside @kde, so you have to look to
> the definition of the @kde set.

The @kde set is a "set of sets" so it's composed of the other @kde* sets. Thus as Zac stated, @kde pulls @kdeutils.

@kavol:

we (KDE team) provide sets in the kde-testing overlay and keep them up to date to follow upstream changes. If you copy or change sets to fit your needs, don't blame Portage / Gentoo for it - "if it breaks you get to pick up the pieces".
I still have to move forward with my RFC to get sets into the tree so users don't need the overlay just for the sets.
Comment 6 kavol 2009-08-05 07:38:10 UTC
(In reply to comment #5)
> @kavol:
> 
> we (KDE team) provide sets in the kde-testing overlay and keep them up to
> date to follow upstream changes. If you copy or change sets to fit your
> needs, don't blame Portage / Gentoo for it - "if it breaks you get to pick up
> the pieces".

I don't blame Portage, nor KDE team for my system broken, my fault, and I had resolved it - but I blame emerge for being inconsistent, it reports "world" at one place and "kdeutils" at another while it should be the same
Comment 7 Theo Chatzimichos (RETIRED) archtester gentoo-dev Security 2010-04-02 12:53:53 UTC

*** This bug has been marked as a duplicate of bug 243020 ***