1 |
>>>>> On Sat, 08 Jul 2017, Michał Górny wrote: |
2 |
|
3 |
> Nobody said anything about the next EAPI. The GLEP doesn't say a |
4 |
> word about introducing it in a future EAPI. |
5 |
|
6 |
> We're adding this as an optional (default off) FEATURE into Portage |
7 |
> and we'll see how it works. As far as I'm concerned, we can enable |
8 |
> it for all EAPIs without touching PMS at all. |
9 |
|
10 |
Not sure if this is a good idea. First, there is the issue that we |
11 |
would have different syntax for REQUIRED_USE, a looser one defined by |
12 |
PMS and a stricter one defined by your GLEP, which can cause |
13 |
confusion. |
14 |
|
15 |
Second, and more important, introduction of an automatic solver would |
16 |
inevitably lead to proliferation of REQUIRED_USE in the tree. However, |
17 |
nothing would guarantee that the package manager on the user's side is |
18 |
capable of solving the constraints automatically. The result would be |
19 |
more emerge failures and asking for more micro-management of flags by |
20 |
users. |
21 |
|
22 |
Also, I believe that with an automatic solver, we would want to change |
23 |
the policy defined in the devmanual which says that REQUIRED_USE |
24 |
should be used sparingly [1]? When would we do this, if the feature |
25 |
isn't connected to an EAPI? After a long enough waiting period? |
26 |
Welcome back to pre-EAPI-0 times. |
27 |
|
28 |
> In fact, the GLEP points out that the PMS does not specifically |
29 |
> define how PMs are supposed to deal with ensuring that REQUIRED_USE |
30 |
> is satisfied. Failing with poor error messages is just established |
31 |
> historical Portage behavior. But if we get good test results and |
32 |
> majority agreement, I see no reason why we couldn't start enabling |
33 |
> it by default and eventually relying on it. |
34 |
|
35 |
> After all, it wouldn't be the first non-PMS extension that we accept |
36 |
> for user convenience yet do not require strictly. |
37 |
|
38 |
See above. I fear it would cause pain for users whose PM doesn't |
39 |
implement the feature. |
40 |
|
41 |
> Of course, if you think it should be made obligatory or at least |
42 |
> accounted for in a future EAPI, I have no problem with that. Ciaran |
43 |
> might, however. |
44 |
|
45 |
That is exactly what EAPI was invented for. Ebuild authors can only |
46 |
rely on package manager support on users' side if the feature is |
47 |
introduced with a new EAPI. Leaving the policy specified in [1] in |
48 |
place forever is no good alternative, because then the full potential |
49 |
of the automatic solver could not be exploited in ebuilds. (Also, how |
50 |
would we enforce the devmanual policy?) |
51 |
|
52 |
Ulrich |
53 |
|
54 |
[1] https://devmanual.gentoo.org/general-concepts/use-flags/index.html#conflicting-use-flags |