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

Bug 71885

Summary: emerging multiple packages at the same time, depend/provide/block checking fails
Product: Gentoo Linux Reporter: Jussi Sainio <jusic>
Component: [OLD] Core systemAssignee: Portage team <dev-portage>
Status: RESOLVED DUPLICATE    
Severity: normal CC: jusic
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
URL: http://www.gentoo.org/proj/en/portage/index.xml
Whiteboard:
Package list:
Runtime testing required: ---

Description Jussi Sainio 2004-11-20 13:52:30 UTC
Hi,

I explain this in two examples:

Example #1:
Let's take qc-usb package and it's virtual/linux-sources dependency which isn't satisfied in this case.

Then, if we emerge qc-usb and a pkg which would satisfy this dependency, emerge doesn't count that pkg when checking dependencies of the qc-usb. Instead, it would emerge default choice of the virtual/linux-sources.


# emerge -pt qc-usb gentoo-dev-sources

These are the packages that I would merge, in reverse order:

Calculating dependencies ...done!
[ebuild  N    ] sys-kernel/gentoo-dev-sources-2.6.9-r4
[ebuild  N    ]  dev-libs/ucl-1.01-r1
[ebuild  N    ] media-video/qc-usb-0.6.0
[ebuild  N    ]  sys-kernel/gentoo-sources-2.4.26-r12


Same goes other way round: 


# emerge -pt gentoo-dev-sources qc-usb

These are the packages that I would merge, in reverse order:

Calculating dependencies ...done!
[ebuild  N    ] media-video/qc-usb-0.6.0
[ebuild  N    ]  sys-kernel/gentoo-sources-2.4.26-r12
[ebuild  N    ] sys-kernel/gentoo-dev-sources-2.6.9-r4
[ebuild  N    ]  dev-libs/ucl-1.01-r1

Example #2:
Same problem raises when trying to emerge two packages which block each other at the same time. 

For example: 
emerge -p postfix ssmtp (no blocking errors at all) 
emerge -p ssmtp postfix (blocking error, but still seems to emerge both..)

---

So, emerge should check specified packages for what they provide, and also sort them rightly if some package depends on them. And of course check if some package blocks some other package specified, and in positive case give an error.

If this worked rightly, you would easily emerge those packages you emerged in the previous install just by copying the old world file to the new system and running emerge (-p) $(tr '\012' ' ' < old_world_file) for example. (This is what I originally tried to do.. :)

Thanks,
--jussi


# emerge --info
Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.10-rc1 i686)
=================================================================
System uname: 2.6.10-rc1 i686 AMD Athlon(tm) processor
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.14.90.0.8-r1
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=i686 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="ftp://trumpetti.atm.tut.fi/gentoo/ ftp://ftp.du.se/pub/os/gentoo http://ftp.du.se/pub/os/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi alsa apache2 apm arts audiofile avi berkdb bitmap-fonts caps cdr crypt cups dedicated divx4linux emacs encode f77 fam flac foomaticdb fortran gdbm gif gnome gpm gtk gtk2 icq imap imlib jpeg kde libg++ libwww mad maildir mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl php png python qt quicktime readline samba scanner sdl sndfile speex spell ssl svga tcpd tetex theora tiff truetype unicode usb x86 xml2 xmms xv zlib"
Comment 1 Marius Mauch (RETIRED) gentoo-dev 2004-11-21 00:25:04 UTC

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