Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Cc: qa <qa@g.o>
Subject: Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags
Date: Sat, 20 Jul 2019 19:31:28
Message-Id: CAGfcS_mEjFAyNymkKphfc-0Oescb8LN-UOOuuDRQ2z=C+DVCxQ@mail.gmail.com
In Reply to: Re: [gentoo-dev] [RFC] New QA policy: Packages must not disable installing manpages via USE flags by "Michał Górny"
1 On Sat, Jul 20, 2019 at 2:28 PM Michał Górny <mgorny@g.o> wrote:
2 >
3 > Could you please read the proposed policy? It explicitly says you are
4 > *not* supposed to force extra deps on users but build manpages for them.
5 >
6
7 This seems like a significant increase in maintainer effort compared
8 to just leaving things as they are for very little benefit. Simple
9 revbumps turn into needing to do a separate build just to build the
10 manpages, then package those up, host them somewhere, then fetch and
11 install that from the ebuild. It would be easier to just make the
12 whole package a binary package since then all the logic happens
13 outside the ebuild, and all the ebuild does is fetch/install a
14 tarball, which it would have to do anyway just for the manpages.
15
16 Most packages with stable build systems take almost no effort to
17 revbump, and this would add a fair bit of complexity. I suspect that
18 you'll find far more maintainers stop going to the trouble to strip
19 out the dependencies needed for building manpages vs maintaining two
20 build systems in parallel, with one having no place to host it.
21
22 Then whenever a maintainer disappears the package goes to
23 maintainer-needed, and anybody who wants to touch it has to figure out
24 how to build the manpages likely without the benefit of any scripts
25 the original maintainer had lying around.
26
27 If we REALLY wanted to do something like this it seems like it would
28 be better to build some tooling around it. Maybe an eclass combined
29 with a special USE flag like "man-build". A daemon would check for
30 packages that have this IUSE and would build the package using it,
31 which will generate the manpages. It would then store those pages
32 using a standardized naming convention. The ebuild would inherit the
33 eclass which would check if man-build was set, and if not it would
34 automatically fetch and install the manpages built by the build server
35 from the mirrors.
36
37 Then ebuilds that currently have IUSE=man would just inherit the
38 eclass and change to the man-build flag. That flag would only be used
39 by the build servers and not by end users, unless they wanted to build
40 their own manpages from scratch, which would work fine, as the flag
41 would not suppress building the rest of the package.
42
43 Really though I don't see THAT much benefit from doing either.
44
45 --
46 Rich