Gentoo Archives: gentoo-dev

From: Ulrich Mueller <ulm@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Pre-GLEP RFC: Automated enforcing of REQUIRED_USE constraints
Date: Sun, 09 Jul 2017 07:22:24
Message-Id: 22881.55708.959987.414503@a1i15.kph.uni-mainz.de
In Reply to: Re: [gentoo-dev] Pre-GLEP RFC: Automated enforcing of REQUIRED_USE constraints by "Michał Górny"
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

Replies