Current (possibly unwritten) policy:

  - eclasses declare USE-flags they honor in their own IUSE
  - ebuilds declare USE-flags they honor in their own IUSE
  - ebuilds do not declare USE-flags honored by eclasses they inherit

This policy has been around for a while.  It assumes that all the
flags honored by an eclass are likewise honored by all the ebuilds
that inherit that eclass.

Of course this assumption is false.  An eclass might provide
a function "install_docs" that calls, for example, "use doc".  The
ebuild inheriting the eclass might not call "install_docs".  In that
case, if IUSE="doc" in the eclass, it will be inaccurately displayed
when doing emerge -pv of the package.

The other possibility is to push IUSE declarations completely into the
ebuild.  In that case, it becomes a maintenance headache since an
update to the eclass might necessitate a cascading update to all the
ebuilds.  Hence the current policy, however inaccurate the results
might be.

So right now the policy is broken, but the apparent alternative is
unmanageable.  Ideas?

Regards,
Aron

--
Aron Griffis
Gentoo Linux Developer

Attachment: pgpkKPYjeiMnW.pgp
Description: PGP signature

Reply via email to