1 |
Current (possibly unwritten) policy: |
2 |
|
3 |
- eclasses declare USE-flags they honor in their own IUSE |
4 |
- ebuilds declare USE-flags they honor in their own IUSE |
5 |
- ebuilds do not declare USE-flags honored by eclasses they inherit |
6 |
|
7 |
This policy has been around for a while. It assumes that all the |
8 |
flags honored by an eclass are likewise honored by all the ebuilds |
9 |
that inherit that eclass. |
10 |
|
11 |
Of course this assumption is false. An eclass might provide |
12 |
a function "install_docs" that calls, for example, "use doc". The |
13 |
ebuild inheriting the eclass might not call "install_docs". In that |
14 |
case, if IUSE="doc" in the eclass, it will be inaccurately displayed |
15 |
when doing emerge -pv of the package. |
16 |
|
17 |
The other possibility is to push IUSE declarations completely into the |
18 |
ebuild. In that case, it becomes a maintenance headache since an |
19 |
update to the eclass might necessitate a cascading update to all the |
20 |
ebuilds. Hence the current policy, however inaccurate the results |
21 |
might be. |
22 |
|
23 |
So right now the policy is broken, but the apparent alternative is |
24 |
unmanageable. Ideas? |
25 |
|
26 |
Regards, |
27 |
Aron |
28 |
|
29 |
-- |
30 |
Aron Griffis |
31 |
Gentoo Linux Developer |