Gentoo Archives: gentoo-hardened

From: Jason Zaman <perfinion@g.o>
To: gentoo-hardened@l.g.o
Subject: Re: [gentoo-hardened] missing the meeting
Date: Sat, 20 Dec 2014 09:26:00
Message-Id: 20141220092556.GA12812@woodpecker.gentoo.org
In Reply to: [gentoo-hardened] missing the meeting by "Anthony G. Basile"
1 On Thu, Dec 18, 2014 at 08:09:01PM -0500, Anthony G. Basile wrote:
2 > Hi fellow hardened devs:
3 >
4 > I'm sorry for missing the meeting but things came up and the day got
5 > hectic. It is an important meeting because we were to discuss:
6 >
7 > 1) what we want with toolchain.eclass - There is a move to get rid of
8 > the eclas because it is "messy". This is probably a bad thing in
9 > general and especially for hardened so we should discuss the pros and
10 > cons and what we want.
11
12 I quite dislike the eclass, it breaks stable systems whenever there is
13 any change to it. A recent one that broke things for me was when the
14 sanitize useflag was added to stable ebuilds which broke all my crossdev
15 toolchains. (it was defaulted to enabled and im not sure there was much
16 testing and sanitizing makes no sense on AVR or other bare metal
17 microcontrollers.)
18
19 Another thing is the differences between gcc versions. with most
20 packages its pretty simple to see changes with diff -u but that doesn't
21 work obviously. I find using diff a lot easier than stuff like this:
22
23 if tc_version_is_at_least 4.6 ; then
24 LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+"
25 elif tc_version_is_at_least 4.4 ; then
26 LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2+"
27 elif tc_version_is_at_least 4.3 ; then
28 LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ ) FDL-1.2+"
29 elif tc_version_is_at_least 4.2 ; then
30 LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ libgcc libstdc++ ) FDL-1.2+"
31 elif tc_version_is_at_least 3.3 ; then
32 LICENSE="GPL-2+ LGPL-2.1+ FDL-1.2+"
33 else
34 LICENSE="GPL-2+ LGPL-2.1+ FDL-1.1+"
35 fi
36
37 I understand why people like the eclass and I think some of the reasons
38 are good but I think there is far too much stuff in the eclass and a lot
39 of it should be moved into the ebuilds. Especially if there is a feature
40 in a new version of gcc, why take the risk that older stable versions
41 will break when things are added to the eclass?
42
43 Perhaps a cleaner approach would be to split things into eblits like
44 glibc or perl does? Then there can be one per 4.x version of gcc instead
45 of having a single eclass that has to support all the way from gcc-2.95
46 up to gcc-4.9 and all the associated craziness.
47
48 -- Jason