1 |
On Thu, 25 Jul 2019 00:10:49 -0400 |
2 |
desultory <desultory@g.o> wrote: |
3 |
|
4 |
> The user-side effects pf the proposal in question, were it to become |
5 |
> policy, would be that anyone seeking to not install what is presently |
6 |
> optional documentation would either be: |
7 |
> (1) wasting build time and space (and, depending on implementation, |
8 |
> dependencies) on their build system (potentially masking the files from |
9 |
> being installed); |
10 |
> (2) wasting the space in their installed image(s) (if they did not mask |
11 |
> the files which would not currently be installed anyway); or |
12 |
> (3) wasting their own time working around what the developers would be |
13 |
> required by policy to implement by repackaging the software themselves |
14 |
> to avoid the time and space drawbacks (though this would generally be |
15 |
> expected to be a rather exceptional case, as it would be relatively |
16 |
> extreme to avoid what would be a distfile and some file masking from the |
17 |
> user side). |
18 |
|
19 |
Those concerns as per current policy is unrelated to the |
20 |
dependency-control-of-USE issue presented here. |
21 |
|
22 |
Its already established not to use a USE flag to toggle building of man |
23 |
pages if it doesn't require additional dependencies. |
24 |
|
25 |
These are _man_ pages we're talking about, not general purpose |
26 |
documentation. |
27 |
|
28 |
End users who don't like man pages are encouraged to use the relevant |
29 |
FEATURES to strip them from the installed image, or use INSTALL_MASK or |
30 |
something. ( FEATURES=noman ) |
31 |
|
32 |
The GOAL here is to provide man pages in *all* circumstances, and, if |
33 |
additional dependencies are required to build them, to ALWAYS install |
34 |
them, or NEVER install them, and then, find a secondary way to obtain |
35 |
man pages (prebuilt) |
36 |
|
37 |
The Total Cost of man pages as pure files on the target system is tiny, |
38 |
and has practically no risk with regards to complexity. |
39 |
|
40 |
But the cost of *dependencies* has risk, and can inflate to complexity, |
41 |
causing much more real problems for more users than a few kb of .1.bz2 |
42 |
files. |
43 |
|
44 |
Hence, why we gate them with USE flags: Because it provides an out for |
45 |
that complexity ( at the cost of giving a different kind of complexity, |
46 |
and a reduction in utility if somebody has to opt-out to get around |
47 |
that initial complexity ) |
48 |
|
49 |
And hence why the counter-proposal to USE flags to solve that |
50 |
complexity a different way is "prebuild them yourself and ship |
51 |
them" ( as that eliminates all the dependency complexity and USE flag |
52 |
complexity user side, while also giving them the man pages -> Quality ) |
53 |
|
54 |
Just the current mechanisms for this counter-proposal shift that |
55 |
inescapable complexity to a place where it becomes harder to manage in |
56 |
a standardized way. |
57 |
|
58 |
And I don't think shifting this complexity to maintainers is the right |
59 |
step, even though I want the same deliverables. |
60 |
|
61 |
That's why I'd rather a way to shift this complexity to a build |
62 |
service, ... albeit, it introduces some complexity of its own with the |
63 |
building and distribution of these man pages. |
64 |
|
65 |
Complexity is a pain-in-the-ass, you can't get rid of it, only shift it |
66 |
around till it stops hurting. |
67 |
|
68 |
However, all that said, If we're going to shoot some kind of |
69 |
documentation in the face for the pain its dependency-complexity |
70 |
introduces, let it be "info". |
71 |
|
72 |
- Far fewer people enjoy or can actually get useful information out of |
73 |
info pages |
74 |
- Its build tooling frequently has dizzying problems in dependency |
75 |
complexity and fragility, frequently made worse by portage getting |
76 |
build ordering wrong after perl upgrades.[1] |
77 |
|
78 |
(Hopefully we've fixed the worst of that, but this is plutonium, a gift |
79 |
that keeps giving cancer) |
80 |
|
81 |
1: https://bugs.gentoo.org/buglist.cgi?quicksearch=texinfo |