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 |