Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 15658 - PROVIDE="virtual/linux-sources" not inherited from kernel ebuild
Summary: PROVIDE="virtual/linux-sources" not inherited from kernel ebuild
Status: RESOLVED DUPLICATE of bug 9050
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-13 16:37 UTC by Oliver Burnett-Hall
Modified: 2011-10-30 22:20 UTC (History)
1 user (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 Oliver Burnett-Hall 2003-02-13 16:37:51 UTC
After a bit of a purge of old kernel ebuilds, I started getting this error
message when running an update:


# emerge --update --deep world --pretend

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

Calculating world dependencies |
!!! all ebuilds that could satisfy "virtual/linux-sources" have been masked.
!!!    (dependency required by "media-video/nvidia-kernel-1.0.3123-r2" [ebuild])


I have the following kernel packages installed:

# qpkg -v -I -g sys-kernel
sys-kernel/wolk-sources-4.0_pre9 *
sys-kernel/linux-headers-2.4.19 *
sys-kernel/vanilla-sources-2.4.20 *
sys-kernel/usermode-sources-2.4.19-r25 *


Both vanilla-sources-2.4.20 and wolk-sources-4.0_pre9 inherit from the kernel
eclass.  This eclass does PROVIDE="virtual/linux-sources" but this variable is
obviously not getting passed down.

I doubt if this is relevant, but I'm not actually running either of these
kernels (I'm using vanilla 2.4.21-pre4, which I downloaded/patched myself).

Portage version is 2.0.46-r12.

- olly
Comment 1 SpanKY gentoo-dev 2003-02-13 17:09:20 UTC
please post `emerge info`
Comment 2 Oliver Burnett-Hall 2003-02-13 18:38:45 UTC
Okay, been doing more digging and it wasn't what I thought - virtual/linux-sources was being inherited (it was showing up in /var/db/pkg/sys-kernel/*/PROVIDE").

The problem seems to have been down to the way portage handles virtual dependencies and keyword masking.

'emerge -up --deep nvidia-kernel' fails due to unsatified dependency for virtual/linux-sources.  On the other hand 'ACCEPT_KEYWORDS="~x86" emerge -up --deep nvidia-kernel' works.  This is because wolk-sources are masked with KEYWORDS="~x86".

The update without ACCEPT_KEYWORDS="~x86" still fails after wolk-sources have been unmerged.  This is despite the only kernel-sources package now being vanilla-sources-2.4.20 which is stable.  And the update with ~x86 will now result in wolk-sources being remerged.

Finally, remerging vanilla-sources makes the problem go away.  The virtual/linux-sources dependency is now satisfied both with and without ACCEPT_KEYWORDS="~x86".

As far as I can tell, this is all happening because portage is only looking at the only the last package to be emerged that satisfies the virtual dependency.  I can't tell why it is doing this (/etc/make.profile/virtuals has always given gentoo-sources as being the default for linux-sources, and I wasn't sure where else to look).

In cases like this - if the last merged package satisfying the dependency is masked or has since been unmerged, portage needs to be more intelligent and see if any other merged packages will do.

- olly
Comment 3 Oliver Burnett-Hall 2003-02-13 18:41:46 UTC
Oops, forgot emerge info.  And sorry about the word-wrapping - thought
bugzilla would do that for me :(

# emerge info
Portage 2.0.46-r12 (default-x86-1.4, gcc-3.2.1, glibc-2.3.1-r2)
=================================================================
System uname: 2.4.21-pre4 i686 AMD Athlon(tm) XP 1900+
GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo/                 http://gentoo.oregonstate.edu/                 http://www.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY="/usr/local/portage"
USE="x86 3dnow apm avi crypt cups encode gif jpeg libg++ libwww mikmod mmx mpeg 
ncurses nls pdflib png qtmt quicktime spell truetype xml2 xmms xv zlib gtkhtml 
alsa gdbm berkdb slang readline bonobo svga tcltk java guile X sdl gpm tcpd pam 
ssl perl python esd imlib oggvorbis gnome gtk qt opengl mozilla cdr +3dnow +alsa 
-arts +cups +doc +evo +gtk +gtk2 +gpm +java -kde +maildir +mmx -motif +mozilla 
+nls +oggvorbis +opengl -oss +python +quicktime +sdl +truetype +X +xmms"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -pipe -funroll-loops -fomit-frame-pointer"
CXXFLAGS="-march=athlon-xp -O3 -pipe -funroll-loops -fomit-frame-pointer"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache"
Comment 4 SpanKY gentoo-dev 2003-02-13 19:48:04 UTC
don't worry about it, i just wanted to make sure that the reason it was failing was what i 
thought it was ;) 

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