Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 155559 - depclean requires the highest available dep instead of what is installed
Summary: depclean requires the highest available dep instead of what is installed
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 147007
  Show dependency tree
 
Reported: 2006-11-18 02:39 UTC by UncleOwen
Modified: 2006-11-20 06:41 UTC (History)
0 users

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


Attachments
force depclean dep_check calls to preference installed packages (depclean.patch,1.12 KB, patch)
2006-11-18 05:32 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description UncleOwen 2006-11-18 02:39:28 UTC
$ emerge -pv --depclean
[...]
Calculating dependencies... done!

Dependencies could not be completely resolved due to
the following required packages not being installed:

=virtual/perl-Test-Simple-0.65 required by dev-perl/Locale-gettext-1.05
~perl-core/Test-Simple-0.65 required by dev-perl/Locale-gettext-1.05

Have you forgotten to run `emerge --update --newuse --deep world` prior to
depclean?  It may also be necessary to manually uninstalled packages that no
longer exist in the portage tree since it may not be possible to satisfy their
dependencies.



I _have_ run emerge -uDN world. However, I still only have version 0.64 of virtual/perl-Test-Simple and perl-core/Test-Simple installed. emerge -uDN --with-bdeps world wants to update them.
Comment 1 Zac Medico gentoo-dev 2006-11-18 03:00:30 UTC
This issue want supposed to have been fixed in svn r4732 and released in portage-2.1.2_rc1.  Please reopen if you are running the latest portage-2.1.2_rc2 and still experience the problem (2.1.2_rc2 has some changes in the virtuals handling).
Comment 2 UncleOwen 2006-11-18 03:09:06 UTC
Oops, forgot my emerge --info. Short version: Yes, I am running 2.1.2_rc2.

$ emerge --info
Portage 2.1.2_rc2 (default-linux/amd64/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.17-gentoo-r8-20060912 x86_64)
=================================================================
System uname: 2.6.17-gentoo-r8-20060912 x86_64 AMD Athlon(tm) 64 Processor 3700+
Gentoo Base System version 1.12.6
Last Sync: Sat, 18 Nov 2006 09:20:01 +0000
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.4, 2.5-r1
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -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/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=k8 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--alphabetical"
FEATURES="autoconfig candy distlocks metadata-transfer parallel-fetch sandbox sfperms strict userpriv userpriv_fakeroot usersandbox"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/local"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="amd64 X aac alsa bitmap-fonts bzip2 cairo cdinstall cdr cjk cli cracklib crypt cups dbus dlloader dri dvb dvd dvdr elibc_glibc emboss encode fam firefox flac fortran gif gpm gstreamer gtk gtk2 hal iconv input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kde kdeenablefinal kdehiddenvisibility kernel_linux ldap libg++ mad mikmod mp3 mpeg mplayer ncurses nls nptl nptlonly nvidia ogg opengl pam pcre perl png ppds pppd python qt3 quicktime readline reflection sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts udev unicode userland_GNU userlocales video_cards_nv video_cards_vga vorbis xine xml xorg xv zlib"
Unset:  CTARGET, INSTALL_MASK, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Zac Medico gentoo-dev 2006-11-18 03:56:48 UTC
I'm able to reproduce that problem locally.  Our || (  ) preference algorithm locks the dependency to the highest available version, even though that's not desirable for depclean.  I see what I can do to make it settle for the installed version.
Comment 4 Zac Medico gentoo-dev 2006-11-18 04:56:38 UTC
Even though the case that you've stumbled on is fixable, the only way that we can really ensure that --depclean will always work is to update with --with-bdeps=y enabled.  Otherwise, it's always possible that some of the build-time deps will have some unsatisfied run-time deps.  So, even the preference algorithm is fixed, we still need to update the depclean ouput to recommend --with-bdeps=y along with the other options.
Comment 5 Zac Medico gentoo-dev 2006-11-18 05:32:43 UTC
Created attachment 102262 [details, diff]
force depclean dep_check calls to preference installed packages

This patch fools the preference algorithm into thinking that only the installed packages are available.  It's a hack, but it works.
Comment 6 Zac Medico gentoo-dev 2006-11-20 06:41:42 UTC
This has been released in 2.1.2_rc2-r1.