Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 263911 - >=sys-app/portage-2.2_rc22 --depclean wants to unmerge qt even if it's a dependency of other packages
Summary: >=sys-app/portage-2.2_rc22 --depclean wants to unmerge qt even if it's a depe...
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-26 21:33 UTC by marcin-zbik
Modified: 2009-03-26 22:43 UTC (History)
1 user (show)

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


Attachments
My world file (world,2.56 KB, text/plain)
2009-03-26 21:34 UTC, marcin-zbik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description marcin-zbik 2009-03-26 21:33:35 UTC
From portage 2.2_rc22 orc 23, I'm not pretty shure now, --depclean wants to unmerge qt even if it is required by other packages like for ex. cmake

emerge --info
Portage 2.2_rc26 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.8_p20080602-r1, 2.6.29-gentoo x86_64)
=================================================================
System uname: Linux-2.6.29-gentoo-x86_64-Intel-R-_Core-TM-2_CPU_T5500_@_1.66GHz-with-glibc2.2.5
Timestamp of tree: Mon, 23 Mar 2009 19:00:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.5.2-r7
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.63
sys-devel/automake:  1.4_p6, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /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/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="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="pl_PL.UTF-8"
LC_ALL="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="pl"
MAKEOPTS="-j3"
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/portage/local/layman/roslin /usr/portage/local/partyzantka /usr/portage/local/gfxboot_overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aac acl alsa amarok amd64 berkdb bzip2 cdr cli cracklib crypt cups dri dvd dvdr ffmpeg fortran gdbm gif gpm iconv ieee1394 isdnlog jpeg kde lm_sensors midi mmx mp3 mudflap multilib ncurses network-cron nls nptl nptlonly ogg openmp pam pcre perl png pppd python qt readline reflection samba session sndfile spl sse sse2 ssl sysfs tcpd unicode vcd vorbis xinerama xorg 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="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" USERLAND="GNU" VIDEO_CARDS="i810 intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


hapek ~ # equery d qt:4
[ Searching for packages depending on qt:4... ]
app-crypt/qca-2.0.0-r2 (>=x11-libs/qt-4.2.0:4)
dev-util/cmake-2.6.2-r1 (qt4? >=x11-libs/qt-4.3:4)
hapek ~ # 

>>> These are the packages that would be unmerged:

 sys-apps/hdparm
    selected: 8.9
   protected: none
     omitted: none

 x11-libs/qt
    selected: 4.4.2
   protected: none
     omitted: 3.3.8b-r1

 sys-kernel/gentoo-sources
    selected: 2.6.27
   protected: none
     omitted: 2.6.29

 sys-devel/automake
    selected: 1.4_p6
   protected: none
     omitted: 1.7.9-r1 1.9.6-r2 1.10.2

 x11-libs/qt-svg
    selected: 4.4.2
   protected: none
     omitted: none

 x11-libs/qt-opengl
    selected: 4.4.2
   protected: none
     omitted: none

 x11-libs/qt-xmlpatterns
    selected: 4.4.2
   protected: none
     omitted: none

 x11-libs/qt-test
    selected: 4.4.2
   protected: none
     omitted: none

 x11-libs/qt-assistant
    selected: 4.4.2-r1
   protected: none
     omitted: none

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

Packages installed:   589
Packages in world:    130
Packages in system:   51
Required packages:    580
Number to remove:     9

Reproducible: Always

Steps to reproduce: emerge --depclean
Comment 1 marcin-zbik 2009-03-26 21:34:40 UTC
Created attachment 186362 [details]
My world file
Comment 2 Nick Fortino 2009-03-26 21:42:44 UTC
This is exactly what is supposed to happen. The qt package split into smaller component packages in the last release, and the qt:4 package is now no longer a real package (go look at it).
equery doesn't do what you think it does, it just does a simple grep. Here are the lines you are interested in:

qca-2.0.0-r2.ebuild:
|| ( x11-libs/qt-core:4
                >=x11-libs/qt-4.2.0:4 )

cmake-2.6.2-r1.ebuild:
qt4? ( || ( ( x11-libs/qt-core:4
                x11-libs/qt-gui:4 )
                >=x11-libs/qt-4.3:4 ) )

As you can see with qt-core and qt-gui, you are covered.
Comment 3 Zac Medico gentoo-dev 2009-03-26 22:13:55 UTC
For more a accurate reverse dependency check than equery, use emerge -pv --depclean <atom>.
Comment 4 marcin-zbik 2009-03-26 22:24:55 UTC
So you say what i should believe to depclean? Im still not shure that those
packages are unnecessary. 

For example I have kadu-0.6.5.* which depends on qt-4 I believe, same as qnapi.
I know that qt is now metapackage but I thought that all of those packages are
required, not just few of them, especially qt-4.* package.
Comment 5 Zac Medico gentoo-dev 2009-03-26 22:43:31 UTC
Yes, --depclean is very reliable. If you'd like to see reverse dependencies for all installed packages, do emerge -pv --depclean. You can query the dependency strings of an ebuild like this:

  portageq metadata / ebuild net-im/kadu-0.6.5.1 DEPEND RDEPEND PDEPEND

You'll see that it depends on the split ebuilds like everything else does for qt-4.