Gentoo Archives: gentoo-dev

From: Brian Dolbec <dolsen@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Proposal for addition of distribution variables
Date: Mon, 05 Dec 2016 02:21:26
Message-Id: 20161204182051.40fe1cfa.dolsen@gentoo.org
In Reply to: [gentoo-dev] RFC: Proposal for addition of distribution variables by "A. Wilcox"
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA512
3
4 On Sun, 4 Dec 2016 17:31:30 -0600
5 "A. Wilcox" <awilfox@×××××××××××.org> wrote:
6
7 > ===============================================
8 > Proposal for addition of distribution variables
9 > ===============================================
10 >
11 > :Author:
12 > A. Wilcox (Adélie Linux)
13 > :Date:
14 > 2016-12-04
15 > :Status:
16 > Request for Comment
17 >
18 >
19 >
20 >
21 > Introduction
22 > - ------------
23 >
24 > This proposal outlines the addition of environment variables to a
25 > future EAPI for the purposes of identifying the builder of packages,
26 > and a route for their more immediate addition to the Gentoo package
27 > tree before the next EAPI is published.
28 >
29 >
30 > Background
31 > - ----------
32 >
33 > The Gentoo package repository is used not only by thousands of users,
34 > but also used by other distributions and organisations, such as
35 > Funtoo, CoreOS, and Google ChromeOS. From the Gentoo Foundation's own
36 > charter, it self-describes in the following way: "Gentoo is a
37 > metadistribution". That allows users to make their own flavours of
38 > Gentoo themselves. Several forks already exist, including Exherbo,
39 > Funtoo, Sabayon, Galapagos, Vida, and Calculate. Google also
40 > maintains a fork, ChromeOS, for their Chromebook laptops. CoreOS also
41 > uses Gentoo's repository for their distribution. In addition, there
42 > are also binary distributions such as Pentoo and Adélie that provide
43 > additional value but are not, in so many words, a 'fork' of Gentoo.
44 >
45 >
46 > Current Situation
47 > - -----------------
48 >
49 > Currently, forks and derivatives of Gentoo are required to choose one
50 > of only two options. They can either use the tree as is, which causes
51 > packages to identify as being built for Gentoo and causes most
52 > autoconf -based packages (and some CMake packages in KDE) to have
53 > their bug report URLs to point to bugs.g.o. Alternatively, they can
54 > fork the Git repository, requiring the need of manual merges when
55 > conflicts arise, and additional wasted effort when upstreams release
56 > new versions of software.
57 >
58 >
59 > Deficiencies
60 > - ------------
61 >
62 > If a fork or derivative of Gentoo does not have the manpower or
63 > resources to modify all ebuilds that mention the Gentoo name / bug URL
64 > (about 1500 at my last count), then both distributions suffer. Users
65 > of the fork will file bugs with Gentoo that are not bugs in Gentoo.
66 > Developers of the fork will not know about said bugs, and be unable to
67 > fix them. Gentoo bug-wranglers and devs will have to waste time and
68 > resources testing bugs, finding out they are not even Gentoo bugs, and
69 > closing them as WONTFIX or WORKSFORME.
70 >
71 > If they choose the alternative of forking the repository and changing
72 > these parameters in ebuilds, then it makes upstreaming their
73 > improvements much more difficult. Sabayon has a repository on GitHub
74 > specifically for this, and Adélie wastes continual effort applying
75 > patches against the tree as it evolves.
76 >
77 >
78 > Solution Objectives
79 > - -------------------
80 >
81 > * Protect Gentoo's name, trademark, and reputation by avoiding any
82 > appearance that derivative distributions are associated with Gentoo.
83 >
84 > * Lessen number of inappropriate bugs filed on bugs.g.o due to forks
85 > and derivatives.
86 >
87 > * Foster better collaboration and sharing of improvements between
88 > Gentoo and its forks/derivatives.
89 >
90 > * Future potential changes to the bug report URL, while exceedingly
91 > unlikely, is additionally made easier.
92 >
93 >
94 > Solution Vision
95 > - ---------------
96 >
97 > I hereby propose adding the following two variables to the src_*
98 > phases. None of these variables will have a default specified in PMS
99 > if they are added.
100 >
101 > :``${DISTRO}``:
102 > The name of the distribution. This would be set in
103 > ``profiles/base/make.defaults`` on Gentoo to "Gentoo".
104 >
105 > :``${DISTRO_BUG_URL}``:
106 > The URL to use to report bugs with software on the distribution.
107 > This would be set to "https://bugs.gentoo.org/" on Gentoo.
108 >
109 > By replacing references to 'Gentoo' passed to ./configure, make, etc
110 > with ``${DISTRO}``, distributions like Sabayon, Calculate, and Adélie
111 > will be able to notate their name as the distributor on packages.
112 > This will affect packages such as LibreOffice, OpenRC, X.Org, and KDE,
113 > which are all compiled with the name of the distribution internally.
114 > They use this for bug information, and having the proper distribution
115 > name will allow for more proper bug handling and ensure less
116 > inappropriate blame is assigned to Gentoo. This also ensures that the
117 > fork or derivative's own mailing lists, forums, and so on are searched
118 > and contacted before Gentoo's.
119 >
120 > By replacing references to 'bugs.gentoo.org' passed to ./configure
121 > with ``${DISTRO_BUG_URL}``, the Gentoo project will have a significant
122 > reduction in wasted effort handling inappropriately filed bugs when
123 > the issues are caused by changes by the forks and derivatives.
124 >
125 >
126 > Roadmap
127 > - -------
128 >
129 > Since the shell environment is flexible, this change can be
130 > implemented almost immediately; the defaults specified in the Gentoo
131 > base profile ensure that at worst nothing will immediately change. As
132 > forks, derivatives, and other organisations change the environment
133 > variables in their profiles or ``make.conf`` files, all updated
134 > ebuilds will immediately reflect the changes.
135 >
136 > During this, the variables can be added to the EAPI=7 specification,
137 > and may eventually be added to PMS §11.1.
138 >
139 >
140 > Suggested Wording
141 > - -----------------
142 >
143 > Attached is a patch for pms.git with suggested wording for the two
144 > variables mentioned above.
145 >
146 > - --
147 > A. Wilcox (awilfox)
148 > Project Lead, Adélie Linux
149 > http://adelielinux.org
150
151
152 oooh, I like it :)
153
154 - --
155 Brian Dolbec <dolsen>
156
157 -----BEGIN PGP SIGNATURE-----
158 Version: GnuPG v2
159
160 iQJ8BAEBCgBmBQJYRM8DXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
161 ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNUQ3Qzc0RTA4MUNDNzBEQjRBNEFBRjVG
162 QkJEMDg3Mjc1ODIwRUQ4AAoJEPu9CHJ1gg7YBygP/2nQpokQuH00x8AfYO10lT11
163 XfVQuDEcDwsq2dtai1w7Q19nSdlQU1Re6HR8CV76aZcohis0dJOBV0gbF/vdU+oH
164 tbw7MBjXJDRELKs1+imxbpLvFmMjeTlRE/rm0qtjafmSq1ZfHZlqzA+pDjInTGvX
165 fcH57ee39PPK+j3zOU2ZRfnv/OhiFg30YRDPQ88YS9uaVng7TJGxLgAjLVI2TICq
166 1dyiSCDzRNDmYBxZxgbw/FOE5gk3nqKHOQ6mBhbfeXHYuZPNEAO3/lBErWqB51R9
167 S20HP9J1gXzD7JeQcumrmoF5rxoJ4XyjtQti75HnEY338V08DlSzPqTbFZB+yL1l
168 irG6BU/CAJKlN6Kj8uoTKc8vv+wLIGFW2ecaoBJO59t8FdW6fk86M76bGlC72Ghv
169 +b7hZUA9z3V40cwUBJ2CeZwo3xxk7eQqmhAsuq+SiYs4kpeOShGSjf9be4IX787J
170 8NDhuzxJAiSbZdfIkqVwG1gsXjcGMxemp2/8cghN86S+ESHGNEGG5Q/VMaRBcNnt
171 l+ciFVPFHZ8pVbJ+zjKfS+x4j38NXfCY1NDnG3VNu+/uSyznWFCkZExfwSWflB1R
172 +j6I5ulxnbHCr+HWjIgW0gl3eCDXO5ESOlfTs3gXvYEbteb0pAtVJQGPNi3JB856
173 Cy7Y++qf+4xrlAWAZ5cA
174 =C/+p
175 -----END PGP SIGNATURE-----