On Fri, 13 Apr 2007 21:50:50 +0300
Petteri Räty <[EMAIL PROTECTED]> wrote:

> [EMAIL PROTECTED] /usr/portage/virtual $ grep 'DEPEND=""' -r . | wc -l
> 97
> [EMAIL PROTECTED] /usr/portage/virtual $ find -name "*.ebuild" | wc -l
> 102
> 
> [EMAIL PROTECTED] /usr/portage/virtual $ find -name "*.ebuild" | xargs
> grep -L 'DEPEND=""'  | xargs grep DEPEND
> ./pmake/pmake-0.ebuild:RDEPEND="!userland_BSD? ( sys-devel/pmake )"
> ./perl-Scalar-List-Utils/perl-Scalar-List-Utils-1.19.ebuild:RDEPEND="~perl-core/Scalar-List-Utils-${PV}"
> ./c++-tr1-type-traits/c++-tr1-type-traits-0.ebuild:DEPEND="|| (
> >=sys-devel/gcc-4.1 dev-libs/boost )"
> ./c++-tr1-memory/c++-tr1-memory-0.ebuild:DEPEND="|| (
> >=sys-devel/gcc-4.1 dev-libs/boost )"
> ./c++-tr1-functional/c++-tr1-functional-0.ebuild:DEPEND="|| (
> >=sys-devel/gcc-4.1 dev-libs/boost )"
> 
> so only three virtual ebuilds have a DEPEND
> 
> So it seems most ebuilds for new style virtuals don't have DEPENDs.
> Anyone have any idea on how these are supposed to work or are they
> buggy? PMS currently says that RDEPEND doesn't have to be installed at
> the time a package is emerged so as far as I understand it this means
> that DEPEND="virtual/foobar" could mean that it could happen that
> nothing providing the virtual is available. So should we be changing the
> DEPEND atoms to DEPEND="${RDEPEND}" or is there something I am missing here?

As soon as a dependency chain has a DEPEND element then all lower
RDEPEND elements get converted into DEPENDs as well. Guess that might
be confusing, so example would be:

- app/bla has DEPEND="virtual/foo"
- virtual/foo has RDEPEND="lib/bar"
- in the internal depgraph app/bla gets DEPEND="lib/bar" as a result of
the transitive dependency

At least that's just how it should behave conceptually.

Marius
--
[EMAIL PROTECTED] mailing list

Reply via email to