Gentoo Archives: gentoo-dev

From: james <garftd@×××××××.net>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] the graveyard overlay
Date: Sat, 09 Jul 2016 14:04:30
Message-Id: 57811366.1080307@verizon.net
In Reply to: Re: [gentoo-dev] the graveyard overlay by Alec Warner
1 On 07/08/2016 04:50 PM, Alec Warner wrote:
2 >
3 >
4 > On Fri, Jul 8, 2016 at 1:21 PM, Philip Webb <purslow@××××××××.net
5 > <mailto:purslow@××××××××.net>> wrote:
6 >
7 > 160708 William Hubbs wrote:
8 > > On Fri, Jul 08, 2016 at 05:56:04PM +0300, Andrew Savchenko wrote:
9 > >> IMO the criteria should be whether they work or not,
10 > >> not whether upstream is more or less active.
11 > >> If they're blockers on other work, by all means cull them.
12 > >> However, if the biggest problem with them is
13 > >> that they're using a few inodes in the repo, they should
14 > probably stay.
15 > > There is an overlay for packages that are removed from the
16 > official tree
17 > > -- https://github.com/gentoo/graveyard --
18 > > and that is where old software should go,
19 > > if it doesn't have an active maintainer.
20 >
21 > A lot of this lengthy discussion is missing some basic points,
22 > though a few people have mentioned them in passing.
23 > As someone who has used Gentoo exclusively since 2003
24 > & who raised the objections to removal of Xcdroast + Nethack,
25 > let me try to get you all to focus on the real-life issues.
26 >
27 > (1) The fact that a pkg has little or no upstream support
28 > or that it doesn't have an active Gentoo maintainer
29 > is not a reason for removing it from the regular tree.
30
31 +1
32
33 >
34 > So basically what you are advocating for is:
35 > "Having completely unmaintained packages in the tree is OK."
36 > And honestly, I do not buy that premise.
37
38 I think what Phillip has outlined is that different use cases have
39 different prospective on use, stability and security. Take the ancient
40 serial (rs232-C) code based net-dialup/minicom for example. It has long
41 outlived it's usefulness for most users. Serial ports that have TCP/IP
42 laid on top of them use to form the backbone of phone line modem access.
43
44 "Upstream: None specified"
45
46 Yet it is still extraordinarily useful to embedded systems work, and
47 industrial uses, such as modbusTCP/ppp/rs232. To a "go hacker" it needs
48 to be cleaned out, but to an older or embedded hacker it is fundamental
49 to raw hardware access. Granted the "Maintainer: embedded@g.o
50 (Embedded Gentoo)" has stepped up. So, my point is there are (probably)
51 lots of other example codes in the 1500 unmaintained packages that have
52 not yet been scrutinized by the larger gentoo user community. I've got
53 over a dozen deprecated packages in my /usr/local/portage/ tree, as I
54 try to keep up with the tree cleaners on old useful codes.
55
56 "no maintainer" should not be part of the criteria for removal, at least
57 not for a year or so. WE need to document the methods and procedures for
58 proxy-maint, to a robust level, before such actions are warranted. Then
59 a campaign to recruit proxy maintainers for a while.
60 Right now the devManual, quizzes, repo structures(github, sunrise etc),
61 eapi, and many other aspects of gentoo are in a phase of rapid change.
62 It's going to take a while to get things stabilized and documented and
63 then a period of recruitment. I know, I for one have been on this path
64 and things are time consuming. Just look at the dev-wrangling over many
65 of these issues. That is the reason we have 1500 orphaned packages.
66
67 For now, I suggest we just label these packages as deficient,
68 no-maintainer, security, inactive-upstream and any other relevant
69 statuses. While some parse the proxy-maint correspondences to first
70 create FAQs and then a guide, with some basic examples. Then aggressive
71 removal would be viable and community supported.
72
73 This effort would also bode well for corporations to train and maintain
74 their linux sources with lots of folks participating in a full-spectrum
75 structure, that these discussions illuminate, should we want to attract
76 new and younger hackers to gentoo. A well defined proxy-maint program
77 would do more for gentoo recruiting (of both devs and users) than most
78 any thing else, imho. Teach a user how to create and maintain their own
79 code, and you'll have a user for life.
80
81
82 > One basic reason some software is no longer being actively developed
83 > is simply that they work perfectly well as they now are,
84 > eg the file manager Krusader & the desktop manager Fluxbox :
85 > both of these are very useful & have no drop-in replacements,
86 > but very little development has occurred for several years.
87 > The same is true of Xcdroast & Nethack, which have been threatened,
88 > but which have been rescued after some small patches have been applied.
89 > This is likely to be true of more + more pkgs, as time passes :
90 > even changes in the kernel these days rarely affect desktop users.
91
92 !1.
93
94 >
95 > No one is trying to remove flubox (which had a release in 2015 and had
96 > activity in its git repo as recently as last week.)
97 >
98 > Xcdroast for example, hasn't had a release in 8 years and I can't even
99 > find its source tracker in sourceforge. These are the sorts of packages
100 > that I think are not great to have in the tree and for Xcdroast, if I
101 > were treecleaner lead i would probably advocate for working around the
102 > security bug (dropped SUID) instead of removal. I do not necessarily
103 > want to remove software that people are using.
104 >
105 > That being said, I do not want unmaintained software in the tree either.
106
107 Funny, I used xcdroast to burn a couple of systemrescue images, just
108 yesterday, and I never used it before yesterday.
109
110
111 > (2) There are 3 basic categories of Gentoo user :
112 > (a) server-farm managers, (b) multi-user sysadmins, (c) single-users.
113 > Each of these have different security concerns :
114 > (a) need to be alert to the many threats from all over the Internet ;
115 > (b) need (among other things) to prevent privilege escalation ;
116 > (c) are largely immune to those types of threat,
117 > though a few of the Internet variety can affect them.
118
119 great perspective. I'd add a forth category of user.
120 Embedded/close-network users of gentoo. For products, you do not need to
121 use the internet, until the very end of product development or product
122 testing.
123 Old codes really shine in this forth category, and gentoo is definitely
124 one of the champions in this stand-alone space. We are the only major
125 distro to support both systemd and legacy init. It's not clear how many
126 embedded projects will even use systemd. (think new arm boards that we
127 all are anticipating).
128
129
130 > I appreciate the argument you are trying to make; but i do not think it
131 > really drives Gentoo Security Policy (nor should it.)
132
133 Basically the current gentoo security policy is a "greedy algorithm"
134 that too aggressively makes too many mistakes (on what to remove) by
135 a limited scope of how linux is used in the wider world. Not every linux
136 system is a multi-user internet connected risk. Granted Rf interfaces
137 may change that, but most responsible designers have a way to 'turn
138 down' RF interfaces. Surely a hacker can identify the single trace that
139 is the antennae connection and ground it out, should the manufacture not
140 provide a software switch. That is a vendor choice of Rf turndown is a
141 problem in the new IoT family of products, but you can blame the NSA for
142 that sort of crap. Sot if a system is not connect to the outside world,
143 99% of the security risks disappear.
144
145 Please stop assuming the worst case environment that a code is used
146 for. If you want that, then create a tree within a tree, such as what
147 the good folks of the 'hardened' project do. Work to assist them to add
148 codes to the musl platform, rather that working the fringes of the
149 existing (rich) portage tree.
150
151 If you did that, then we could all (easily) routinely secure our
152 connections to the internet, and keep other projects alive that do not
153 need a 'security onion' [1] level of security. Perhaps the security team
154 needs to mimic the security onion project, but build everything on
155 hardened gentoo? That effort would do vastly more to secure gentoo
156 users, than fuzzing codes, one at time. We have Pentoo for penetration,
157 but where is the equivalent for defense?
158
159 [1] https://securityonion.net/
160
161
162 > As my security manager used to say "security is not a race to the bottom."
163
164 Anecdotal limericks are mostly useless in real security. Real security,
165 starts at the overall schema. Where was the security project on the
166 recent malaise of check sums not matching for minimal iso? It appears to
167 many that the security team, needs to be "refocused" and more amenable
168 to valid suggestions and a new set of priorities, imho. ymmv.
169
170 > The security objections raised against Xcdroast + Nethack
171 > were both problems which would arise only on multi-user systems,
172 > yet single-users were also to be deprived of access to them.
173 > Perhaps part of the problem is that many Gentoo developers
174 > also earn their livings as sysadmins with many users or many servers :
175 > the simpler happier world of single-users escapes their attention.
176
177 Excellent point!
178
179 > (3) Users generally don't want to be developers : they're too busy
180 > or too old.
181 > Asking them "Are you willing to maintain it yourself ?" is a silly
182 > excuse ;
183 > offering them the chance to dig around in a graveyard is even worse ;
184 > even maintaining an overlay is a nuisance : I tried it with KDE Sunset.
185 > Neither Xcdroast nor Nethack belong in a graveyard of any kind :
186 > once the obscure security problems have been fixed,
187 > they belong in the regular tree marked 'stable',
188 > like many other pkgs whose development has been completed.
189
190 Any effort to separate packages from the tree, should *first* be meet
191 with a robust way to maintain and retrieve those codes. Destruction of a
192 rich legacy of codes, many simple and tightly focus, robs gentoo or
193 a very rich part of it's heritage, needlessly.
194
195
196 > Users all do -- or should -- appreciate the unpaid work of the
197 > developers,
198 > but developers also need to realise that without non-developer users
199 > Gentoo would very quickly die & their justified pride + satisfaction
200 > die too.
201 >
202 >
203 > I'm a bit confused by this argument.
204 >
205 > 1) It appears that no Gentoo developers want to maintain a software package.
206
207 (um, you missed the keyword that is missing, "currently")
208
209 > 2) The software package has no active upstream.
210
211 One fork fixes the no active upstream.
212
213 > 3) The software has no bugs.
214 > 4) We mask the software because it has bugs and no active maintianer,
215 > for years.
216
217 The word "bugs" means many things to different folks. It's a
218 full-spectrum word that you use as an inaccurate 'monolithic' metric.
219
220 > 5) No one volunteers to proxy-maintain the software.
221
222 This is because of numerous, aforementioned changes, including but not
223 limited to the roll out of github, and the lack of sufficient mechanisms
224 for package retrieval, compared to what we had with the attic. If there
225 is a robust method via git(hub), then just document those methods,
226 because git is not an intuitively obvious collect of methodologies to
227 replace what we had. That and the aggressive tree cleansing is unfair to
228 the wider user communities, many of which only drop in occasionally.
229
230 >
231 > But you advocate we keep such software in the tree, because users are
232 > "too busy" or "too old" to maintain it themselves?
233
234 Not a consensus viewpoint but anecdotal, see above comments.
235
236
237 > (4) I have 3 simple recommendations to fix the everyday problems.
238 >
239 > (a) the justification for tree-cleaning should be explicitly
240 > that a pkg either (i) won't compile, (ii) crashes when run
241 > or (iii) has a serious security hole which affects all 3 types of
242 > user.
243 >
244 >
245 > (b) there needs to be a developer role 'General Maintainer',
246 > who should be available to look at pkgs which have no regular
247 > maintainer,
248 > but which compile, run properly & are generally secure :
249 > their job would be to step in, like Mr Savchenko -- thanks again -- ,
250 > to fix small problems which would otherwise be neglected ;
251 > less formally, all developers might see it as part of their role
252 > to help out occasionally with such small problems.
253
254 Good points (+1). It takes time to grow up a proxy team. It takes time
255 to develop documents that are github eapi 6/7 centric and a
256 proxy-dev-guide. It takes time, so stop the aggressive tree pruning, in
257 the absence of a fully functional, well documented system like the attic
258 that is user friendly to learn and use.
259
260 > In an ideal world, the tree would be full of properly maintained packages.
261
262 Yes we agree on this, but, the security and tree-cleaners are being too
263 aggressive as the proxy workflow is new and still not fully functional
264 atm. Once this is fixed, it going to take a while (6 months to a year).
265 How long did the github migration planning and execution take?
266
267
268 > There are over 1500 packages in the tree in the 'maintainer-needed'
269 > state[1].
270
271 So what? Dont use them (gentoo is about choice right?). Modify a
272 existing, common portage tool (eix?) to label your issues with these codes.
273
274 > Even if we allocated 100 packages per developer, this "General
275 > Maintainer" team would be 15 developers strong and one of the largest
276 > projects in Gentoo. To compare the Treecleaner project is 7 people; the
277 > Security project is 10 people.
278
279 How about a refocus on a security onion, gentoo centric, for the
280 security team. Many of us would appreciate that sort of security much
281 more than removal of old packages.
282
283
284 > This is in fact part of the rationale of the Treecleaner project itself.
285 > Ebuilds require maintenance (eclass updates, new EAPIs, etc) and someone
286 > has to do this work (or we end up with 6 supports EAPIs in the tree.)
287 > This is one reason why packages that are unmaintained are removed; we do
288 > not have 15 spare humans to clean up the unmaintained packages, so we
289 > remove them when it is feasible to do so.
290
291 Correct. What you are not fairly considering is the rapid changes and
292 your time allowances for the user community to adapt to all of these
293 changes. Are we nixos or gentoo? At least nixos has documentation [2].
294
295 [2] https://nixos.org/wiki/Development_Environments
296
297 On Gentoo's proxy project, there is scant documentation on a myriad of
298 core issues. The proxy-maint ML is still not functioning for user
299 questions and FAQ parsing.
300
301
302 > (c) Gentoo's rules + policies need explicitly to reflect the fact
303 > that there are 3 types of user, as described :
304 > eg some pkgs might be marked as 'not safe for multi-user systems' ;
305 > that would recognise real distinctions which are now being ignored.
306 >
307 > HTH & thanks as always to all of you for making Gentoo work since 2003.
308
309 Likewise. I appreciated the devs and the gentoo distro, immensely. But,
310 we need a well documented pathway from start to finish on the
311 proxy-maint (regardless of what the details are) before such radical
312 pruning, and that includes robust archiving of what is necessary to
313 personally restore old packages. Use the old attic as your basis of
314 reasonable functionality.
315
316
317 James
318
319 > [1] https://qa-reports.gentoo.org/output/maintainer-needed.html
320 >
321 >
322 > --
323 > ========================,,============================================
324 > SUPPORT ___________//___, Philip Webb
325 > ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto
326 > TRANSIT `-O----------O---' purslowatchassdotutorontodotca
327 >
328 >
329 >