Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 94724 - portage has issues with meta packages
Summary: portage has issues with meta packages
Status: RESOLVED DUPLICATE of bug 48195
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-01 04:47 UTC by Thomas Scheffler
Modified: 2007-01-12 07:34 UTC (History)
2 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 Thomas Scheffler 2005-06-01 04:47:52 UTC
I have installed kde via the new split ebuilds (*-meta). These packages are
recorded in the world file correctly. But if I run:
emerge -p --depclean

Emerge shows that it would unmerge kde-base/kdm for example that is installed by
kde-base/kdebase-meta. This is not the way --depclean should work, since kdm is
a dependency of kdebase-meta that is in the world file. Kdm is not the only
package. Emerge lists all dependency (not only the direct) of every meta-package
I installed.

Reproducible: Always
Steps to Reproduce:
1. install a kde split ebuild: let's take kde-base/kdebase-meta-3.4.0
2. run emerge -p --debclean

Actual Results:  
All packackes installed by kdebase-meta-3.4.0 are listed for unmerge.

Expected Results:  
As they are dependencies of kdebase-meta-3.4.0 they should not be listed by
emerge for deletion.

Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.4.3, glibc-2.3.4.20041102-r1,
2.6.11-gentoo-r6 i686)
=================================================================
System uname: 2.6.11-gentoo-r6 i686 Pentium III (Coppermine)
Gentoo Base System version 1.6.12
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Apr 28 2005, 22:46:29)]
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    [Not Present]
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -pipe -march=pentium3 -mtune=pentium3 -funroll-loops
-fomit-frame-pointer -mfpmath=sse -msse -mmmx"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/fax /usr/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O3 -pipe -march=pentium3 -mtune=pentium3 -funroll-loops
-fomit-frame-pointer -mfpmath=sse -msse -mmmx"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distcc distlocks fixpackages sandbox
sfperms strict"
GENTOO_MIRRORS="http://gentoo.inode.at/ http://128.213.5.34/gentoo/
http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/
http://gentoo.mirror.sdv.fr"
LANG="de_DE.utf8"
LINGUAS="de"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aac aalib acl alsa apache2 apm arts avi bash-completion berkdb
bitmap-fonts bzip2 cdparanoia cdr crypt cups curl dga directfb dvd dvdread eds
emboss encode esd fam flac foomaticdb fortran gd gdbm gif gimpprint gphoto2 gpm
gstreamer gtk gtk2 guile imagemagick imlib ipv6 ithreads java jce jpeg jpeg2k
junit kde kdeenablefinal kdexdeltas ldap libcaca libg++ libwww live lm_sensors
lzo mad mikmod mmx mng motif mozdevelop mozilla mozsvg mp3 mpeg mysql nas
ncurses nls nptl nptlonly offensive ogg oggvorbis opengl oss pam pcmcia pda
pdflib perl pic png pnp python qt quicktime readline real rtc samba sdl slang
speex spell sse ssl svg svga tcltk tcpd tetex theora threads tidy tiff truetype
truetype-fonts type1-fonts unicode userlocales vorbis wmf xine xinerama xml xml2
xprint xv xvid xvmc zeroconf zlib linguas_de userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
Comment 1 Jason Stubbs (RETIRED) gentoo-dev 2005-06-01 06:22:52 UTC
Please give the output of the following:   
   
# grep kde -E '(kdm|kdebase-meta)' /var/lib/portage/world  
# emerge -ep world | grep kde -E '(kdm|kdebase-meta)'  
# emerge depclean | grep kde -E '(kdm|kdebase-meta)' 
  
Comment 2 Thomas Scheffler 2005-06-01 12:17:48 UTC
(In reply to comment #1)
> Please give the output of the following:   
>    
> # grep kde -E '(kdm|kdebase-meta)' /var/lib/portage/world

I assume you mean 
# grep -E '(kdm|kdebase-meta)' /var/lib/portage/world
kde-base/kdebase-meta

> # emerge -ep world | grep kde -E '(kdm|kdebase-meta)'
# emerge -ep world | grep -E '(kdm|kdebase-meta)'
[nada]

> # emerge depclean | grep kde -E '(kdm|kdebase-meta)'
# emerge -p depclean | grep -E '(kdm|kdebase-meta)'
kde-base/kdm


Does emerge have a problem if I remove entries of package.keywords? I just want
to clean sometimes the package.keywords file, so it doesn't get to big. Because
the kdebase-meta dependecies are not met (they are all in ~x86 now) it fails. It
rather should look for the dependencies that where met during the install. This
method now removes to much packages. 
Comment 3 Marius Mauch (RETIRED) gentoo-dev 2005-06-01 14:11:00 UTC
Hmm, is kdebase-meta actually installed?
What does `emerge -pv kdebase-meta` or `ls -ld /var/db/pkg/kde-base/*-meta` say?
Comment 4 Thomas Scheffler 2005-06-02 00:49:56 UTC
# emerge -pv kdebase-meta
These are the packages that I would merge, in order:

Calculating dependencies
!!! All ebuilds that could satisfy "kdebase-meta" have been masked.
!!! One of the following masked packages is required to complete your request:
- kde-base/kdebase-meta-3.4.1 (masked by: ~x86 keyword)
- kde-base/kdebase-meta-3.4.0 (masked by: ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or
section 2.2 "Software Availability" in the Gentoo Handbook.

# ls -ld /var/db/pkg/kde-base/*-meta
ls: /var/db/pkg/kde-base/*-meta: No such file or directory

# ls -ld /var/db/pkg/kde-base/*-meta*
drwxr-xr-x  2 root root 920 Mar 21 12:20 /var/db/pkg/kde-base/kdeaddons-meta-3.4.0
drwxr-xr-x  2 root root 920 Mar 20 14:23 /var/db/pkg/kde-base/kdeartwork-meta-3.4.0
drwxr-xr-x  2 root root 920 Mar 20 11:29 /var/db/pkg/kde-base/kdebase-meta-3.4.0
drwxr-xr-x  2 root root 920 Mar 20 17:05 /var/db/pkg/kde-base/kdegraphics-meta-3.4.0
drwxr-xr-x  2 root root 920 Mar 20 19:03
/var/db/pkg/kde-base/kdemultimedia-meta-3.4.0
drwxr-xr-x  2 root root 920 Mar 20 21:13 /var/db/pkg/kde-base/kdenetwork-meta-3.4.0
drwxr-xr-x  2 root root 920 Mar 21 10:25 /var/db/pkg/kde-base/kdewebdev-meta-3.4.0

It really seems to me that that for the --depclean internally something like the
simple "emerge -ep kdebase-meta" is used. It should look in the database if the
package that is now masked ~x86 was installed before. And use this as a matched
dependecy to rebuild the dependency graph. This would result in a more correct
"--depclean" and won't remove half of the system. 
Comment 5 Jason Stubbs (RETIRED) gentoo-dev 2005-06-02 05:26:54 UTC
That's exactly what it does. It builds --emptytree and then removes anything 
that's not in it. However, if you're not managing your system within 
recommended guidelines (with regard to masked packages), you can't really 
expect a feature that covered in warnings and caution messages to work 
properly. 
Comment 6 Thomas Scheffler 2005-06-02 23:26:22 UTC
I have seen it several times that packages where masked ~x86 or -* after
release. This would cause the error, too! Guidelines used or not. I still think
that the behaviour is not correct and pointed out, how it should be. All that
needs to be done is something like
"emerge -ep --use-installed world", where --use-installed takes all installed
packages automatically as stable.
Wouldn't this solve the issue?
Would it make my system more unstable?
I don't think, that "RESOLVED LATER" will help to track that bug.
Comment 7 Marius Mauch (RETIRED) gentoo-dev 2007-01-12 06:08:03 UTC
Reopening for duping
Comment 8 Marius Mauch (RETIRED) gentoo-dev 2007-01-12 06:09:36 UTC

*** This bug has been marked as a duplicate of bug 48195 ***
Comment 9 Rickard Närström 2007-01-12 07:34:05 UTC
(In reply to comment #6)
> I have seen it several times that packages where masked ~x86 or -* after
> release. This would cause the error, too! Guidelines used or not. I still think
> that the behaviour is not correct and pointed out, how it should be. All that
> needs to be done is something like
> "emerge -ep --use-installed world", where --use-installed takes all installed
> packages automatically as stable.
> Wouldn't this solve the issue?
> Would it make my system more unstable?
> I don't think, that "RESOLVED LATER" will help to track that bug.

I think that --depclean should remove any masked packages.... there is a reason for them to be masked, sometimes security issues. A 'emerge -uDN --world' will always downgrade any package to the latest stable version (if there is one -- if it isn't it will fail with an error telling you so), and you should always do this prior --depclean.

If you wont to have a masked package installed add it to packages.keywords or packages.unmask