1 |
On Tue, Dec 23, 2014 at 09:10:32AM +0100, Matthias Maier wrote: |
2 |
> I'm a bit surprised about this discussion as Mike, who currently |
3 |
> maintains the toolchain, has never implied that suddenly older versions |
4 |
> of glibc are unusable. Or that we need a big cleanup. |
5 |
> |
6 |
> He simply stated two facts (that have been true for a long time) |
7 |
> |
8 |
> - for a current kernel a current toolchain is necessary and vice versa. |
9 |
> |
10 |
> - we support older versions of glibc (gcc/etc.) mainly for crossdev |
11 |
> (and some other special purposes) on a best effort basis without any |
12 |
> usability or security guarantees. |
13 |
> |
14 |
> The latter implies that you should not actively use them in your regular |
15 |
> Gentoo setup, not that they must be removed from the tree. |
16 |
|
17 |
I cc'd Mike on my original message in this thread specifically because I |
18 |
hoped he would see it and tell me if I was wrong to start discussing a |
19 |
cleanup, because I read part of his message as implying that a cleanup might be |
20 |
coming. |
21 |
|
22 |
Specifically, he also said that if you were stuck on old stuff you |
23 |
should start unsticking your stuff. |
24 |
|
25 |
> just the simple fact that crossdev without the ability to select |
26 |
> specific versions of glibc is only half as useful. And please, do not |
27 |
> underestimate the usefulness of our crossdev script in this regard! |
28 |
|
29 |
I'm not saying anything about breaking the crossdev script by making it |
30 |
unable to select specific versions of glibc. |
31 |
|
32 |
> Because you're arguing that no example was presented: |
33 |
> E.g. I've an embedded armv7a-hardfloat board which ships with glibc |
34 |
> 2.16 (This is a concrete example and not a vague "some users might need |
35 |
> it".). I want to have a cross compile environment for it to compile some |
36 |
> specific software (not a complete userland). I do not want to replace |
37 |
> the userland/ship a custom sysroot/use an LD_LIBRARY_PATH hack, so I'm |
38 |
> basically forced to compile with a glibc of at most 2.16 (otherwise you |
39 |
> get symbol lookup errors.) |
40 |
|
41 |
Ok, this is something to consider then. 2.16 is not all that old, so |
42 |
keeping it around for a while longer isn't a big deal. |
43 |
|
44 |
> To ease the maintenance burden there are multiple possibilities to |
45 |
> tackle it without removing old glibc versions altogether: |
46 |
> |
47 |
> - We could debundle newer glibc versions from toolchain.eclass/eblits |
48 |
|
49 |
I don't see toolchain.eclass being inherited in the glibc ebuilds; it is |
50 |
just eblits. Honestly I wouldn't have a problem with seeing them die in |
51 |
all versions of the ebuilds if we can make that happen. |
52 |
|
53 |
> - We could migrate older versions in a dedicated overlay with some |
54 |
> sort of versioned toolchain.eclass/eblits. (same for the other |
55 |
> canonical packages). |
56 |
|
57 |
It looks like there already is a toolchain overlay that might have this, |
58 |
check git.overlays.gentoo.org. |
59 |
|
60 |
> |
61 |
> Further, if the fact that specific versions are unmaintained (and do not |
62 |
> get any security backports) it is also possible to just drop keywords. |
63 |
|
64 |
(qa hat on for this statement only) as a qa member, my opinion on this |
65 |
is, if something has a serious security issue which the maintainer |
66 |
knows is not going to be fixed, it doesn't belong in the main tree. |