Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 239327 - Unable to unmerge packages referenced in a set with a different slot
Summary: Unable to unmerge packages referenced in a set with a different slot
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 144480
  Show dependency tree
 
Reported: 2008-10-02 12:39 UTC by Michele Alzetta
Modified: 2016-04-17 19:46 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michele Alzetta 2008-10-02 12:39:03 UTC
Seems that bug 226307 has crept back in.
I have installed kde-4.1 from kde-testing, and now I can't uninstall because I keep getting messages like this:

emerge -C @kde-4.1

Not unmerging package kde-base/foo-4.1.1 as it is
still referenced by the following package sets:                 
    blah (for example, kdebase)                           

the patch that solved 226307 is no good here, I'm afraid
Comment 1 Michele Alzetta 2008-10-02 12:40:52 UTC
emerge --info
 * Overlay eclasses override eclasses from PORTDIR:
 *                                                 
 *   '/usr/portage/local/layman/kde-testing/eclass/kde4-base.eclass'
 *   '/usr/portage/local/layman/kde-testing/eclass/kde4-functions.eclass'
 *   '/usr/portage/local/layman/kde-testing/eclass/kde4-meta.eclass'     
 *                                                                       
 * It is best to avoid overriding eclasses from PORTDIR because it will  
 * trigger invalidation of cached ebuild metadata that is distributed with
 * the portage tree. If you must override eclasses from PORTDIR then you  
 * are advised to add FEATURES="metadata-transfer" to /etc/make.conf and to
 * run `emerge --regen` after each time that you run `emerge --sync`. Set  
 * PORTAGE_ECLASS_WARNING_ENABLE="0" in /etc/make.conf if you would like to
 * disable this warning.                                                   
Portage 2.2_rc11 (default/linux/amd64/2008.0/desktop, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.26-gentoo-r1N x86_64)
=================================================================                                                 
System uname: Linux-2.6.26-gentoo-r1N-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5200+-with-glibc2.2.5       
Timestamp of tree: Thu, 02 Oct 2008 04:24:01 +0000                                                                
ccache version 2.4 [disabled]                                                                                     
app-shells/bash:     3.2_p39                                                                                      
dev-java/java-config: 1.3.7, 2.1.6-r1                                                                             
dev-lang/python:     2.5.2-r8                                                                                     
dev-python/pycrypto: 2.0.1-r6                                                                                     
dev-util/ccache:     2.4-r8                                                                                       
sys-apps/baselayout: 2.0.0                                                                                        
sys-apps/openrc:     0.2.5                                                                                        
sys-apps/sandbox:    1.2.18.1-r3                                                                                  
sys-devel/autoconf:  2.13, 2.63                                                                                   
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1                                          
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe -msse3"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/env /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /usr/shutdown /var/lib/hsqldb"
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/terminfo /etc/texmf/web2c/etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe -msse3"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo"
LANG="IT_it@euro"
LC_ALL="IT_it@euro"
LDFLAGS="-Wl,-O1"
LINGUAS="it"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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/portage/local/layman/enlightenment /usr/portage/local/layman/jokey /usr/portage/local/layman/sunrise /usr/portage/local/layman/kde-testing"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac aalib acl acpi alsa amd64 amrnb amrwb apache2 arts atlas bash-completion berkdb blas bluetooth branding bzip2 cairo cdparanoia cdr cli cracklib crypt cups curl dbus dga directfb divx divx4linux dovecot-sasl dri dts dv dvb dvd dvdr dvdread eds emboss encode esd evo f77 fam fbcon fetchmail firefox flac font-server fortran gb gcj gdbm gif gimp gimpprint gnome gpm gs gstreamer gtk gtk2 hal http humanities iconv imap innodb ipv6 isdnlog java javascript joystick jpeg jpeg2k kde kerberos lapack ldap leim lesstif libcaca libgda libnotify libwww mad maildir mbox mgetty midi mikmod mmx mmxext mp3 mpeg mudflap multilib music mysql ncurses network nls nptl nptlonly nsplugin nvidia obex ogg opengl openmp oss pam pcre pda pdf perl pic png pop3d portaudio postgres ppds pppd prelude pstricks publishers python qt3 qt3support qt4 quicktime readline realmedia reflection sasl science sdl session slang spell spl sqlite sqlite3 sse sse2 ssl startup-notification svg sysfs tcpd tiff timidity tk truetype unicode usb uudeview v4l vcd vim-with-x vorbis xemacs xml xmlreader xmlrpc xmlwriter xorg xpm xprint xscreensaver xsl xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev nv vmware"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Zac Medico gentoo-dev 2008-10-02 15:06:07 UTC
Please attach the package sets from the overlay and also please attach /var/lib/portage/world_sets.
Comment 3 Michele Alzetta 2008-10-02 16:45:52 UTC
(In reply to comment #2)
> Please attach the package sets from the overlay and also please attach
> /var/lib/portage/world_sets.

/var/lib/portage/world_sets:
@kde
@system

Sets from kde-testing/sets: 
kde                   kdeartwork-4.1  kdegraphics        kdepim-4.1
kde-3.5               kdebase         kdegraphics-4.1    kdesdk
kde-4                 kdebase-4.1     kdemultimedia      kdesdk-4.1
kde-4.1               kdedeps         kdemultimedia-4.1  kdetoys
kdeaccessibility      kdedeps-4.1     kdenetwork         kdetoys-4.1
kdeaccessibility-4.1  kdeedu          kdenetwork-4.1     kdeutils
kdeadmin              kdeedu-4.1      kdeoptional        kdeutils-4.1
kdeadmin-4.1          kdegames        kdeoptional-4.1    qt-split
kdeartwork            kdegames-4.1    kdepim

Comment 4 Zac Medico gentoo-dev 2008-10-02 17:06:36 UTC
I think it's working the way that it's designed to work. It seems like you should be running `emerge -C @kde` since @kde is the one that's listed in /var/lib/portage/world_sets.
`
Comment 5 Michele Alzetta 2008-10-02 17:15:16 UTC
(In reply to comment #4)
> I think it's working the way that it's designed to work. It seems like you
> should be running `emerge -C @kde` since @kde is the one that's listed in
> /var/lib/portage/world_sets.
> `

Right. But if I try to run emerge -C @kde I get:


>>> These are the packages that would be unmerged:
Not unmerging package kde-base/korganizer-4.1.1 as it is
still referenced by the following package sets:
    kdepim

Not unmerging package kde-base/kuiserver-4.1.1 as it is
still referenced by the following package sets:
    kdebase

Not unmerging package kde-base/kdeartwork-kworldclock-4.1.1 as it is
still referenced by the following package sets:
    kdeartwork

Not unmerging package kde-base/kde-wallpapers-4.1.1 as it is
still referenced by the following package sets:
    kdebase

Not unmerging package kde-base/kcalc-4.1.1 as it is
still referenced by the following package sets:
    kdeutils

Not unmerging package kde-base/kalgebra-4.1.1 as it is
still referenced by the following package sets:
    kdeedu

Not unmerging package kde-base/konquest-4.1.1 as it is
still referenced by the following package sets:
    kdegames

Not unmerging package kde-base/akonadi-4.1.1 as it is
still referenced by the following package sets:
    kdepim

Not unmerging package kde-base/kcmshell-4.1.1 as it is
still referenced by the following package sets:
    kdebase

Not unmerging package kde-base/kstars-4.1.1 as it is
still referenced by the following package sets:
    kdeedu

[ etc etc ... ]


Not unmerging package kde-base/ksystemlog-4.1.1 as it is
still referenced by the following package sets:
    kdeadmin

Not unmerging package kde-base/nepomuk-4.1.1 as it is
still referenced by the following package sets:
    kdebase


 kde-base/korganizer
    selected: 3.5.10
   protected: none
     omitted: none

 kde-base/kdeartwork-kworldclock
    selected: 3.5.10
   protected: none
     omitted: none

 kde-base/kcalc
    selected: 3.5.10
   protected: none
     omitted: none

etc. etc.

In other words, it wants to wipe out my kde 3.5 but it is impossible to wipe out kde-4.1 

Comment 6 Michele Alzetta 2008-10-02 19:01:39 UTC
Well, I have solved my problem by using the following steps:

grep 4.1.1 /var/log/emerge.log to get the list of packages installed.
Trying to unmerge a package at a time, or the whole list of packages, or the whole list of packages plus the whole list of sets doesn't work. Same problem as above.

However, after:
layman -d kde-testing
emerge -C =kde-base/kdelibs-4.1.1-r4 =kde-base/kdepimlibs-4.1.1 etc. etc. etc. works perfectly.

So maybe it is a portage bug, maybe it is a bug in the kde-testing overlay, in which case I apologize for having posted here.
Comment 7 Rick Harris 2008-11-04 07:20:10 UTC
Can confirm this bug is still present for portage-2.2_rc12 and portage-2.2_rc13

Except for me I have not emerged any sets, only singular packages.
Yet trying to un-emerge any one of these packages gives:

Not unmerging package <package> as it is
still referenced by the following package sets:
    <set>
Comment 8 Rick Harris 2008-11-04 07:22:13 UTC
Perhaps we need a temporary override switch for this new feature until it functions nicely.
Comment 9 Rick Harris 2008-11-04 22:52:53 UTC
Able to workaround for now by moving sets/ and sets.conf out the way, un-merging the packages and then putting sets/ and sets.conf back where they were.
Comment 10 Lars 2008-11-23 09:49:50 UTC
(In reply to comment #9)
> Able to workaround for now by moving sets/ and sets.conf out the way,
> un-merging the packages and then putting sets/ and sets.conf back where they
> were.

Could you please go into details what exactly you were doing?

I found:
 find / -iname sets
 /usr/portage/local/layman/kde-testing/Documentation/sets
 /usr/portage/local/layman/kde-testing/sets              
 /usr/lib64/portage/pym/portage/tests/sets               
 /usr/lib64/portage/pym/portage/sets                     
 find / -iname sets.conf              
 /usr/portage/local/layman/kde-testing/sets.conf         
 /usr/share/portage/config/sets.conf                     

If I do
 layman -d kde-testing
 * Successfully deleted overlay "kde-testing".
and
 mv /usr/share/portage/config/sets.conf /root/backup/kde-testing/

the result is:
 emerge -Cav @kde-4.1 @kdebase-4.1
 WARNING: repository at /usr/local/portage is missing a repo_name entry
  * Overlay eclasses override eclasses from PORTDIR:                   
  *                                                                    
  *   '/usr/portage/local/layman/vmware/eclass/vmware.eclass'          
  *   '/usr/portage/local/layman/vmware/eclass/vmware-mod.eclass'      
  *                                                                    
  * It is best to avoid overriding eclasses from PORTDIR because it will
  * trigger invalidation of cached ebuild metadata that is distributed with
  * the portage tree. If you must override eclasses from PORTDIR then you  
  * are advised to add FEATURES="metadata-transfer" to /etc/make.conf and to
  * run `emerge --regen` after each time that you run `emerge --sync`. Set  
  * PORTAGE_ECLASS_WARNING_ENABLE="0" in /etc/make.conf if you would like to
  * disable this warning.                                                   
 emerge: incomplete set configuration, no "world" set defined               
         sets defined:                                                      
 emerge: incomplete set configuration, no "system" set defined              
         sets defined:                                                      
 emerge: There are no sets to satisfy 'kde-4.1'. The following sets exist:  

If I also move /sets
 mv /root/backup/kde-testing/sets /root/backup/kde-testing/tests/
 mv /usr/lib64/portage/pym/portage/sets  /root/backup/kde-testing/
 emerge -Cav @kde-4.1 @kdebase-4.1
 Traceback (most recent call last):
   File "/usr/bin/emerge", line 12, in <module>
     import _emerge
   File "//usr/lib64/portage/pym/_emerge/__init__.py", line 69, in <module>
     from portage.sets import load_default_config, SETPREFIX
 ImportError: No module named sets

If I move /sets and sets.conf back:
 mv /root/backup/kde-testing/sets.conf /usr/share/portage/config/                   
 emerge -Cav @kde-4.1 @kdebase-4.1
 WARNING: repository at /usr/local/portage is missing a repo_name entry
  * Overlay eclasses override eclasses from PORTDIR:
  *
  *   '/usr/portage/local/layman/vmware/eclass/vmware.eclass'
 [...]
 emerge: There are no sets to satisfy 'kde-4.1'. The following sets exist:
 
     downgrade
     installed
     live-rebuild
     module-rebuild
     preserved-rebuild
     security
     system
     world

And if I finally add the kde-testing overlay again, I get the same behaviour as described in this bug-reports initial post.
Comment 11 Lars 2008-11-23 10:50:42 UTC
OK. I finally did it by moving /usr/portage/local/layman/kde-testing/sets/kdebase and uninstalling the remaining packages from set 'world' by hand. 
Comment 12 Michele Alzetta 2016-04-17 18:10:12 UTC
I think this should be obsolete by now, no?
Comment 13 Zac Medico gentoo-dev 2016-04-17 19:46:30 UTC
(In reply to Michele Alzetta from comment #12)
> I think this should be obsolete by now, no?

Yes, this was "fixed" by the following commit:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=cdb5a4554b9c73c6d4f32d0f20cb4157b77b6e71