Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 174530 - Document new style virtual RDEPEND behaviour
Summary: Document new style virtual RDEPEND behaviour
Status: CONFIRMED
Alias: None
Product: Documentation
Classification: Unclassified
Component: Devmanual (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Quality Assurance Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-13 21:51 UTC by Petteri Räty (RETIRED)
Modified: 2021-02-06 21:40 UTC (History)
3 users (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 Petteri Räty (RETIRED) gentoo-dev 2007-04-13 21:51:56 UTC
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
Comment 1 Alex Xu (Hello71) 2015-06-21 16:17:08 UTC
for reference:

$ grep '^DEPEND="$' /usr/portage/virtual/*/*.ebuild
$ grep '^DEPEND="[^"]' /usr/portage/virtual/*/*.ebuild
/usr/portage/virtual/fortran/fortran-0.ebuild:DEPEND="${RDEPEND}"
/usr/portage/virtual/gsasl/gsasl-2.ebuild:DEPEND="|| ( net-libs/libgsasl net-misc/gsasl )"
/usr/portage/virtual/linux-sources/linux-sources-1.ebuild:DEPEND="firmware? ( sys-kernel/linux-firmware )"
/usr/portage/virtual/yacc/yacc-0.ebuild:DEPEND="|| ( sys-devel/bison dev-util/byacc dev-util/yacc )"