1 |
On Mon, 1 Feb 2016 20:25:20 +0100 |
2 |
"Justin Lecher (jlec)" <jlec@g.o> wrote: |
3 |
|
4 |
> Dear all, |
5 |
> |
6 |
> the Gentoo Council will meet again on Sunday, February 14 at 19:00 UTC |
7 |
> in #gentoo-council on FreeNode. |
8 |
> |
9 |
> Please reply to this message with any items you would like us to discuss |
10 |
> or vote on. |
11 |
|
12 |
Since the agenda hasn't been sent yet, I would like the Council to |
13 |
consider helping out with removing cases of 'use*' function calls in |
14 |
global scope. |
15 |
|
16 |
The issue is known for quite some time already, and the offending |
17 |
ebuilds and eclasses are currently tracked in bug #566518 [1]. |
18 |
|
19 |
Those functions can not be used in global scope as their results depend |
20 |
on configuration. This causes two major issues: |
21 |
|
22 |
1. it breaks metadata invariancy -- the ebuild metadata may change |
23 |
dependening on value of USE flags, therefore either invalidating caches |
24 |
or causing the package manager to obtain incorrect results from cache, |
25 |
|
26 |
2. it causes circular dependencies in configuration -- USE flags can be |
27 |
applied to specific SLOTs, SLOTs may depend on USE flags... |
28 |
|
29 |
The global scope use calls were always forbidden by the PMS. Portage |
30 |
bans it in EAPI 6 but we'd like to extend the ban to the remaining |
31 |
EAPIs. However, at the moment we can't because that would cause |
32 |
existing violations to prevent users from installing toolchain. |
33 |
|
34 |
So far most of the developers understood the issue and fixed their |
35 |
violations. However, for years toolchain is actively refusing to do so, |
36 |
and either closing our requests or blocking them with request to |
37 |
provide support for USE-dynamic SLOTs. Which is quite unlikely to be |
38 |
fulfilled since it would still cause the second issue listed above. |
39 |
|
40 |
Sadly, our inability to ban this is causing new violations to be |
41 |
committed accidentally by developers. |
42 |
|
43 |
Therefore, I would like to ask for Council's help on this issue. I see |
44 |
the possible following actions that would help the cause: |
45 |
|
46 |
a. officially refusing the 'dynamic slot' request [2] so that it would |
47 |
not be used to block fixing the QA violations indefinitely, |
48 |
|
49 |
b. setting an official deadline on fixing the remaining violations |
50 |
and making the calls fatal. |
51 |
|
52 |
[1]:https://bugs.gentoo.org/show_bug.cgi?id=566518 |
53 |
[2]:https://bugs.gentoo.org/show_bug.cgi?id=174407 |
54 |
|
55 |
-- |
56 |
Best regards, |
57 |
Michał Górny |
58 |
<http://dev.gentoo.org/~mgorny/> |