Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: Gentoo Dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] [RFC] PROPERTIES=virtual for meta-packages (clarification of definition)
Date: Sun, 24 Aug 2008 21:01:59
Hash: SHA1

Hi everyone,

Since there were some questions about ambiguity in the meaning of
the proposed PROPERTIES=virtual [1] value, we need to clarify it.
Just as the "live" property [2] is intended to have a pure and
simple meaning, so is the "virtual" property. The "virtual" property
will serve only as a hint, to indicate that dependency calculations
should consider the package to have zero installation cost (see bug
141118 [3] for an example of why this knowledge is useful). The
"virtual" property should not imply anything more than this, and
therefore the package manager should assume that the package is to
be treated exactly the same as other ebuilds in every other way. The
package should be installed and uninstalled just like any other
ebuild, including execution of all of the normal ebuild phase
functions that would be executed for any other ebuild that does not
exhibit the "virtual" property.

Ebuilds that exhibit the "virtual" property commonly serve as a
layer of indirection in dependencies. All of the ebuilds in the
existing "virtual" category [4] should be eligible to define
PROPERTIES=virtual. If the ebuilds in the virtual category were the
only ones that exhibited this "virtual" property, then the
information that PROPERTIES=virtual represents could simply be
inferred from membership of that category. However, existence of
meta-packages in the "java-virtuals" category [5], among others,
makes it useful to introduce the "virtual" property as a means to
identify these ebuilds. Note that some packages, such as x11-libs/qt
[6], exhibit this property for some versions and not others. So, in
some cases it may be useful to be able to specify the "virtual"
property separately for different ebuild versions.

Do the name and definition of this PROPERTIES=virtual value seem
good? Would anybody like to discuss any changes to the name,
definition, or both?

- --
Version: GnuPG v2.0.9 (GNU/Linux)