Gentoo Archives: gentoo-dev

From: "Kevin F. Quinn" <kevquinn@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Portage: missing pieces
Date: Mon, 10 Jul 2006 06:12:48
Message-Id: 20060710080355.7f9d13e9@c1358217.kevquinn.com
In Reply to: [gentoo-dev] Re: Portage: missing pieces by Molle Bestefich
1 On Sun, 9 Jul 2006 23:30:40 +0200
2 "Molle Bestefich" <molle.bestefich@×××××.com> wrote:
3
4 > Richard Fish wrote:
5 > > The expectation here is that when a new version of gcc is
6 > > stabilized, that users will upgrade to that in a reasonable amount
7 > > of time, and use that (by selecting it with gcc-config) for
8 > > compiling all new updates. FYI, gcc-3.4.4-r1 was stabilized on
9 > > 2-Dec-2005, and the current stable is 3.4.6-r1 since May 29th.
10 >
11 > I don't see how that information is conveyed to the user.
12
13 It's conveyed by the fact that when updating, you see a new compiler
14 version being installed. If you have done a world update, you already
15 have the later compilers installed.
16
17 > Portage
18 > shouts about upgrading to a new profile from time to time, but it
19 > never tells anyone to upgrade GCC. Perhaps it should, if that's what
20 > the devs expect people to do.
21
22 As has been explained before, as far as the gcc ebuilds are concerned
23 their job is finished when the new compiler version is installed. It
24 is up to the user to decide to change their system compiler. The
25 gcc ebuild will switch between minor versions if USE=multislot isn't
26 specified, and in that case will warn the user about ABI breakage if
27 relevant, as it requires the user to rebuild lots of stuff.
28
29 > > The devs can *not* be expected to verify that all software in
30 > > portage builds with all versions of gcc in portage.
31 >
32 > Of course not.
33 >
34 > > The alternative here is that old versions of gcc disappear from
35 > > portage, but that causes a problem for those who need those versions
36 > > for some reason, such as compiling non-gentoo software.
37 >
38 > Yes, ok. That's a bad alternative. Thus it seems that there's no
39 > appropriate mechanism to handle new GCC versions in Portage, which
40 > again makes sense wrt. the complaints.
41
42 Portage and the ebuilds handle it fine. All that needs to happen is
43 for users to accept the advice to read the gcc upgrading guide when
44 they trip over problems that arise from issues with gcc versions.
45
46 > > > Nothing personal against Jakub Moc who probably has a lot to do,
47 > > > but the handling of relevant issues raised in the bugzilla is just
48 > > > unacceptable.
49 > >
50 > > What, exactly, do you find unacceptable in
51 > > "Your gcc version is outdated and unsupported"?
52 >
53 > Nothing?
54 > I find it unacceptable that the bug is marked INVALID when it clearly
55 > describes a relevant issue.
56
57 Don't take the bug marking as a personal attack - it's a marking for
58 devs to understand what was the impact of the bug. Focus on the advice
59 given, which from what I can see was succinct and correct.
60
61 > As far as I can tell, the complaints are about Portage being unable to
62 > handle GCC upgrades gracefully for end users.
63
64 What exactly do you expect to happen? GCC updates don't switch major
65 versions automatically, because in general it means changing ABI which
66 means rebuilding everything. Where ABI breakage occurs between minor
67 versions and the compiler is switched automatically, the ebuild issues
68 a warning when ABI breakage occurs and advises what to do to rebuild
69 affected packages.
70
71 > You could perhaps argue that the issue started out as "why do I get
72 > this error message" and ended up being "why doesn't Portage handle GCC
73 > upgrades gracefully", which is of course a slightly different thing.
74 > But it should be clear to anyone reading the bug what the real issue
75 > is. I'm even willing to bet that if I create a new bug describing the
76 > Portage issue, with no mention of the specific xine ebuild, it will
77 > get closed as a duplicate of this bug anyway. I've got case studies
78 > proving that this is what happens, heh.
79
80 If two bugs describe the same issue, regardless of the summary field
81 one will get marked as a duplicate of the other. Again, this is not a
82 personal attack but information for devs to understand whether
83 different work is needed for the different bugs.
84
85 > > I suppose portage could be enhanced to have a
86 > > is_gcc_version_supported() check, but I'm not sure how useful that
87 > > would be.
88 >
89 > If that would enable ebuild maintainers to flag xine as requiring 3.4
90 > for compilation, then that would definitely solve the issue described
91 > in the bug. I'd say that's _very useful_ to the end user.
92
93 The problem with having the xine ebuild check gcc version and aborting
94 if a certain version is found active, is that if the gcc version is
95 modified in the future such that xine would then build with it, that
96 handling would have to come out again. Since the ebuild dies either
97 way, the only difference is that some users may not realise that
98 upgrading gcc will work - in which case they file a bug and they get
99 told to upgrade gcc - job done.
100
101 > You could argue that only a couple of people has spent the time to
102 > create a bugzilla login and lodge a complaint in the bug, but there's
103 > probably more out there. We can count the duplicates in a couple of
104 > months and see ;-). And as newer GCC features are used throughout,
105 > the situation will probably happen more in the future.
106
107 Another way of looking at it, is that there are a lot of people out
108 there who are coping just fine with GCC upgrades as they are currently
109 managed.
110
111 > > > What's the state of Portage and Gentoo in general? Is there not
112 > > > enough hands to do a proper job? Or is it just that none of the
113 > > > devs see what's wrong because bugs are wrongly being closed marked
114 > > > "INVALID" such as the above when they're in fact not?
115 > >
116 > > If you want to test compiling every version of every package in
117 > > portage with all 21 versions (16 if you assume all -rX versions are
118 > > compatible, or /only 9/ if you only consider stable x86 versions) of
119 > > gcc that are currently in portage, and submit patches when things
120 > > fail, go ahead.
121 >
122 > That won't be necessary. Things mostly works, and when they don't,
123 > users file a bug like the aforementioned one, which should result in
124 > that particular ebuild getting fixed, instead of the bug being marked
125 > INVALID.
126
127 As I said above, don't take the "INVALID" marking personally. The fact
128 is that from the perspective of the relevant devs, the resolution of the
129 bug was to advise the user to upgrade gcc, which meant no change
130 required to the tree. See
131 https://bugs.gentoo.org/page.cgi?id=fields.html - as far as devs are
132 concerned, "The problem described is not a bug" so INVALID is the
133 correct resolution marking.
134
135
136 --
137 Kevin F. Quinn

Attachments

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