Gentoo Archives: gentoo-dev

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

Attachments

File name MIME type
environment-variables-for-distro-specifics.patch text/x-patch
environment-variables-for-distro-specifics.patch.sig application/pgp-signature

Replies