Gentoo Archives: gentoo-dev

From: Marius Mauch <genone@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Empty DEPEND strings in virtuals
Date: Fri, 13 Apr 2007 22:02:00
Message-Id: 20070413235640.0d292011.genone@gentoo.org
In Reply to: [gentoo-dev] Empty DEPEND strings in virtuals by "Petteri Räty"
1 On Fri, 13 Apr 2007 21:50:50 +0300
2 Petteri Räty <betelgeuse@g.o> wrote:
3
4 > betelgeuse@pena /usr/portage/virtual $ grep 'DEPEND=""' -r . | wc -l
5 > 97
6 > betelgeuse@pena /usr/portage/virtual $ find -name "*.ebuild" | wc -l
7 > 102
8 >
9 > betelgeuse@pena /usr/portage/virtual $ find -name "*.ebuild" | xargs
10 > grep -L 'DEPEND=""' | xargs grep DEPEND
11 > ./pmake/pmake-0.ebuild:RDEPEND="!userland_BSD? ( sys-devel/pmake )"
12 > ./perl-Scalar-List-Utils/perl-Scalar-List-Utils-1.19.ebuild:RDEPEND="~perl-core/Scalar-List-Utils-${PV}"
13 > ./c++-tr1-type-traits/c++-tr1-type-traits-0.ebuild:DEPEND="|| (
14 > >=sys-devel/gcc-4.1 dev-libs/boost )"
15 > ./c++-tr1-memory/c++-tr1-memory-0.ebuild:DEPEND="|| (
16 > >=sys-devel/gcc-4.1 dev-libs/boost )"
17 > ./c++-tr1-functional/c++-tr1-functional-0.ebuild:DEPEND="|| (
18 > >=sys-devel/gcc-4.1 dev-libs/boost )"
19 >
20 > so only three virtual ebuilds have a DEPEND
21 >
22 > So it seems most ebuilds for new style virtuals don't have DEPENDs.
23 > Anyone have any idea on how these are supposed to work or are they
24 > buggy? PMS currently says that RDEPEND doesn't have to be installed at
25 > the time a package is emerged so as far as I understand it this means
26 > that DEPEND="virtual/foobar" could mean that it could happen that
27 > nothing providing the virtual is available. So should we be changing the
28 > DEPEND atoms to DEPEND="${RDEPEND}" or is there something I am missing here?
29
30 As soon as a dependency chain has a DEPEND element then all lower
31 RDEPEND elements get converted into DEPENDs as well. Guess that might
32 be confusing, so example would be:
33
34 - app/bla has DEPEND="virtual/foo"
35 - virtual/foo has RDEPEND="lib/bar"
36 - in the internal depgraph app/bla gets DEPEND="lib/bar" as a result of
37 the transitive dependency
38
39 At least that's just how it should behave conceptually.
40
41 Marius
42 --
43 gentoo-dev@g.o mailing list