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 |