1 |
On Sun, Dec 07, 2014 at 08:32:57AM -0500, Rich Freeman wrote: |
2 |
> On Sun, Dec 7, 2014 at 8:05 AM, Anthony G. Basile |
3 |
> <basile@××××××××××××××.edu> wrote: |
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 sys-devel/kgcc64 in |
14 |
> > the tree and (at least) the hardened-dev::musl overlay outside. |
15 |
> |
16 |
> Well, other packages could keep using the eclass. |
17 |
> |
18 |
> I think that eclasses tend to get abused in situations like these. It |
19 |
> is one thing if you have 300 ebuilds that are all maintained together |
20 |
> like there are with kde and logic really is shared in common between |
21 |
> them. |
22 |
> |
23 |
> However, this eclass is only used by a few packages, the shared code |
24 |
> isn't across stuff installed in parallel but across stuff that changes |
25 |
> over time. This is done without upstream support for the most part, |
26 |
> so it becomes a growing collection of workarounds. When eclasses |
27 |
> start following different code paths every time a package that uses |
28 |
> them is versioned, it makes a lot more sense to either version the |
29 |
> eclass every time or move the code to the ebuild. |
30 |
|
31 |
This makes sense to me as well, let's work twoard getting rid of |
32 |
toolchain.eclass. |
33 |
|
34 |
> |
35 |
> > |
36 |
> > 1) Those version specific conditionals that you don't like give a |
37 |
> > history/comparison of gcc versions. It is not cruft. It encodes what |
38 |
> > versions allow what features. Moving to the ebuilds makes this history much |
39 |
> > harder to read. Think of a diff -Naur when producing a patch. I like the |
40 |
> > current eclass approach. |
41 |
> |
42 |
> Why do we need a history/comparison of gcc written in shell script? |
43 |
> Wouldn't a text file or webpage be a better way to document this? |
44 |
> Wouldn't upstream be the place to document this? |
45 |
> |
46 |
> This seems a bit like saying that we don't need the EAPI/PMS guide or |
47 |
> even PMS itself because anybody can just read the portage source code |
48 |
> and figure out how it works. |
49 |
> |
50 |
> If you need a list of what features are supported in what versions of |
51 |
> gcc, wouldn't it make more sense to create a wiki page somewhere? |
52 |
|
53 |
I thinkk this makes more sense as well. Historical reasons don't work |
54 |
for me by them selves as a reason to justify keeping old code, |
55 |
especially when it is to support versions of packages that are no longer |
56 |
really supported upstream. |
57 |
|
58 |
> |
59 |
> >> |
60 |
> >> If there is a real interest in my fork, I will probably move it to gx86 |
61 |
> >> as sys-devel/gcc-mgorny. |
62 |
> > |
63 |
> > |
64 |
> > I don't think we should proceed this way. The way I'd like to proceed is to |
65 |
> > introduce a new toolchain-r1.eclass which addresses at least your QA issues |
66 |
> > below. If I understood Ryan's plan with the eclass, it was to simply |
67 |
> > refactor the phase functions to modernize things but keep backwards compat. |
68 |
> > When toolchain-r1.eclass is mature, then we switch the inherit. I'd like to |
69 |
> > keep gcc-2* and gcc-3* around. We could consider cleaning up those ebuilds |
70 |
> > to work with EAPI=4 or 5 with the new eclass or just leave them with the old |
71 |
> > eclass. |
72 |
|
73 |
Why do you want to keep these outdated and not supported versions of gcc |
74 |
around? Have you tried building a modern system with gcc-2 or gcc-3? I |
75 |
haven't but I'm sure it would fail horribly. |
76 |
|
77 |
> > |
78 |
> > Also, no to the name sys-devel/gcc-mgorny. I very much appreciate the |
79 |
> > excellent hard work you've done on eclasses, but the reason this is |
80 |
> > happening is because of patches that toolchain lead is not accepting. |
81 |
> > Anyhow, most of the work with gcc (in my opinion) is with the patches |
82 |
> > against gcc itself which are housed in ~vapier, ~rhill and ~zorry. When you |
83 |
> > don't accept my patches to gcc-mgorny, shall I add gcc-basile to the tree? |
84 |
> |
85 |
> Well, that would be in keeping with GLEP 39, which seems to encourage |
86 |
> everybody to fork each other's packages. :) |
87 |
> |
88 |
> It seems like there is a fundamental disagreement here over the right |
89 |
> way to refactor all this code. Honestly, the fact that nobody seems |
90 |
> to even want to look at the toolchain suggests to me that |
91 |
> simplification is probably worthwhile. |
92 |
|
93 |
I tend to agree here too; let's get rid of the old versions of things |
94 |
where we can and simplify. |
95 |
|
96 |
William |