Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: "Anthony G. Basile" <basile@××××××××××××××.edu>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] sys-devel/gcc::mgorny up for testing
Date: Sun, 07 Dec 2014 13:18:37
Message-Id: 20141207141820.055bbdd7@pomiot.lan
In Reply to: Re: [gentoo-dev] sys-devel/gcc::mgorny up for testing by "Anthony G. Basile"
1 Dnia 2014-12-07, o godz. 08:05:59
2 "Anthony G. Basile" <basile@××××××××××××××.edu> napisał(a):
3
4 > On 12/07/14 05:37, Michał Górny wrote:
5 > >
6 > > If you're interested in testing it, 'layman -a mgorny' and enjoy. I'd
7 > > appreciate any bug reports, except for those covering things i've
8 > > already listed as missing :). Any further comments will be very helpful
9 > > in deciding on the way forward.
10 >
11 > Removing the eclass is a bad idea:
12 >
13 > 0) This reduces code reusability. The eclass is used by
14 > sys-devel/kgcc64 in the tree and (at least) the hardened-dev::musl
15 > overlay outside.
16
17 kgcc64 is no longer necessary given --enable-targets in gcc.
18 And the eclass code is not really reusable, it's too damn complex
19 and too tightly-coupled to be.
20
21 > 1) Those version specific conditionals that you don't like give a
22 > history/comparison of gcc versions. It is not cruft. It encodes what
23 > versions allow what features. Moving to the ebuilds makes this history
24 > much harder to read. Think of a diff -Naur when producing a patch. I
25 > like the current eclass approach.
26
27 And why should I care about what gcc3.4 had? I'd rather have a properly
28 working gcc4.[89] ebuild I could understand. Without code that no
29 longer does anything but you can't see it because you are blinded by
30 stupid conditionals and eclass complexity.
31
32 > > If there is a real interest in my fork, I will probably move it to gx86
33 > > as sys-devel/gcc-mgorny.
34 >
35 > I don't think we should proceed this way. The way I'd like to proceed
36 > is to introduce a new toolchain-r1.eclass which addresses at least your
37 > QA issues below. If I understood Ryan's plan with the eclass, it was to
38 > simply refactor the phase functions to modernize things but keep
39 > backwards compat. When toolchain-r1.eclass is mature, then we switch
40 > the inherit. I'd like to keep gcc-2* and gcc-3* around. We could
41 > consider cleaning up those ebuilds to work with EAPI=4 or 5 with the new
42 > eclass or just leave them with the old eclass.
43
44 And we create a new eclass every time the old one proves being
45 unmaintainable to the point nobody is willing to work on it? That's
46 a workaround, not a solution to the problem.
47
48 > Also, no to the name sys-devel/gcc-mgorny. I very much appreciate the
49 > excellent hard work you've done on eclasses, but the reason this is
50 > happening is because of patches that toolchain lead is not accepting.
51 > Anyhow, most of the work with gcc (in my opinion) is with the patches
52 > against gcc itself which are housed in ~vapier, ~rhill and ~zorry. When
53 > you don't accept my patches to gcc-mgorny, shall I add gcc-basile to the
54 > tree?
55
56 Naming is the least of the problems. As far as I am concerned, it can
57 be 'gcc-sanity-restored' or whatever.
58
59 > > I will also be happy to work on replacing
60 > > the new versions of original sys-devel/gcc completely. With QA process
61 > > against toolchain.eclass if necessary.
62 > >
63 >
64 > Let's get the list of QA issues so I at least can work towards a
65 > toolchain-r1.eclass if you're not interested in going that way. Also, I
66 > take the QA issues seriously, but threatening a QA intervention against
67 > toolchain and then acting by forking is heavy handed. QA actions
68 > against the current codebase is understandable.
69 >
70 > So to sum, I'd like to see the QA issues (and others) address in the
71 > current approache and toolchain.eclass. Since we can make mistakes and
72 > since toolchain is fragile, I suggest a toolchain-r1.eclass where we can
73 > test (just change the inheritance in gcc ebuilds for testing) and
74 > finally, when we're happy, do the switcheroo.
75
76 First QA issue: toolchain.eclass is intrusive and makes ebuilds hard to
77 understand and track. If you can remove it and make gcc into proper
78 ebuilds that can get revision-level changes, we can discuss.
79
80 --
81 Best regards,
82 Michał Górny

Replies

Subject Author
Re: [gentoo-dev] sys-devel/gcc::mgorny up for testing "Anthony G. Basile" <blueness@g.o>