Re: [gentoo-dev] Empty DEPEND strings in virtuals

2007-04-13 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Petteri Räty wrote:
 so only three virtual ebuilds have a DEPEND

According to GLEP 37 [1], they should only define RDEPEND.  The
reason that only RDEPEND is needed is that a package that has a
virtual dependency has freedom to include the virtual atom in any of
DEPEND, RDEPEND, and PDEPEND as necessary.  Note that when portage's
$ROOT feature is used, DEPEND is installed to the build platform.
The virtual ebuild itself does not make this decision, but rather
the package that has a virtual dependency.

 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.

The bit about RDEPEND doesn't have to be installed is only for
solving circular RDEPEND during the installation process.  When a
package has RDEPEND that is not installed, it must be considered
unusable and therefore this state should only exist for a relatively
short period of time during the installation process.

 So should we be changing the
 DEPEND atoms to DEPEND=${RDEPEND} or is there something I am missing here?

We should not, as I've explained above.

Zac

[1] http://www.gentoo.org/proj/en/glep/glep-0037.html
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.3 (GNU/Linux)

iD8DBQFGH/fs/ejvha5XGaMRAhZoAJwPH7W04pL8EfkJ4STM+79Drl0jcQCdGjGz
n4Ee8wfFp3RgpKy25ftjoXo=
=TBuW
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] Empty DEPEND strings in virtuals

2007-04-13 Thread Petteri Räty
Zac Medico kirjoitti:
 
 [1] http://www.gentoo.org/proj/en/glep/glep-0037.html

We should link this info to the devmanual. Opened a bug about this:
https://bugs.gentoo.org/show_bug.cgi?id=174530

Regards,
Petteri



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Empty DEPEND strings in virtuals

2007-04-13 Thread Marius Mauch
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