Re: [gentoo-dev] Empty DEPEND strings in virtuals
-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
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
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