Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bugzilla DB migration completed. Please report issues to Infra team via email via infra@gentoo.org or IRC
Bug 701132 - [Future EAPI] Accumulate PROPERTIES and RESTRICT across eclasses
Summary: [Future EAPI] Accumulate PROPERTIES and RESTRICT across eclasses
Status: CONFIRMED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PMS/EAPI
URL:
Whiteboard: feasible-for-next-eapi
Keywords:
Depends on:
Blocks: future-eapi
  Show dependency tree
 
Reported: 2019-11-25 11:13 UTC by Ulrich Müller
Modified: 2019-12-16 12:59 UTC (History)
2 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 Ulrich Müller gentoo-dev 2019-11-25 11:13:33 UTC
PMS says:

| 10.2 Eclass-defined Metadata Keys
|
| The IUSE, REQUIRED_USE, DEPEND, BDEPEND, RDEPEND and PDEPEND variables
| are handled specially when set by an eclass. They must be accumulated
| across eclasses, appending the value set by each eclass to the resulting
| value after the previous one is loaded. Then the eclass-defined value is
| appended to that defined by the ebuild. [...]

In https://blogs.gentoo.org/mgorny/2019/11/06/gentoo-eclass-design-pitfalls/, mgorny complains that PROPERTIES and RESTRICT are not in this list. Consider adding them in EAPI 8.

HOMEPAGE, SRC_URI, LICENSE, and KEYWORDS would be additional candidates, but I believe that setting a default value in an eclass and overriding it in the ebuild is a valid usage case for all of them.
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2019-11-25 11:26:05 UTC
(In reply to Ulrich Müller from comment #0)
> HOMEPAGE, SRC_URI, LICENSE, and KEYWORDS would be additional candidates, but
> I believe that setting a default value in an eclass and overriding it in the
> ebuild is a valid usage case for all of them.

The same could be argued about every metadata variable, in particular about dependencies.  It's not like we aren't adding switches to a lot of eclasses to suppress or modify defaults.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2019-12-16 12:59:25 UTC
For the record, I was only being the devil's advocate here.

Let's go with PROPERTIES and RESTRICT then.