Gentoo Archives: gentoo-dev

From: Kent Fredric <kentnl@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags
Date: Mon, 22 Jul 2019 13:33:27
Message-Id: 20190723013251.562cdf49@katipo2.lan
In Reply to: Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags by Rich Freeman
1 On Mon, 22 Jul 2019 09:18:38 -0400
2 Rich Freeman <rich0@g.o> wrote:
3
4 > So,
5 > there is a relationship between packages that need to have manpages
6 > pregenerated and the package manager.
7
8 My objection re: pollution is more to the point that this propagation
9 of mechanisms that are inherently "package manager control flow" into
10 USE flags is an anti-feature.
11
12 USE="test" is already objectionable enough, but adding Yet Another Use
13 Flag, and potentially, adding it to every package is just asking for
14 trouble, asking for more ways for the portage resolver to get confused,
15 asking for more ways for annoying auto-unmask mechanics to fire, and
16 asking for more reasons for people to have to come to #gentoo and have
17 somebody hold their hand trying to make sense of the huge mountain of
18 spew ( which is potentially unrelated to the real problem, obscured by
19 portage pushing past the problem before barfing ), and I'd rather we
20 reduced that problem, not expanded on it.
21
22 Like for instance, a common problem is USE="test" introducing cycles,
23 some of them are unavoidable, and portage is completely unable to
24 provide a working merge plan, because it can't even *consider* the
25 option of temporarily disabling USE="test" to resolve the cycle, and
26 then restoring USE="test" and building it a second time.
27
28 End Users who want to employ FEATURES="test" blanket wide across
29 portage have to hand-curate a collection of tools and hacks to make it
30 work.
31
32 Obviously, this is also exacerbated as portage can't soft-install a
33 package or a collection of packages, for the purpose of testing
34 integrity, prior to deploying them to the system, which would be
35 necessary for X -> Y -> Z -> X to proceed far enough that X can be
36 rebuilt, and tested, without potentially deploying a broken X[-test] to
37 the system, and without potentially deploying Y and Z, which could in
38 turn be broken due to X[-test] not throwing a failing test.
39
40 If portage could do that, there's so many other things it could be
41 doing too ...
42
43 Like, ( and this is getting a bit OT ):
44
45 Auto-Reaping build-only dependencies as soon as no targets in the merge
46 plan need them.