Gentoo Archives: gentoo-dev

From: William Hubbs <williamh@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] sys-devel/gcc::mgorny up for testing
Date: Sun, 07 Dec 2014 22:42:03
Message-Id: 20141207224150.GA10530@linux1
In Reply to: Re: [gentoo-dev] sys-devel/gcc::mgorny up for testing by Rich Freeman
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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

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