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----- |