1 |
On Mon, 10 Jul 2006 19:23:54 +0200 |
2 |
"Molle Bestefich" <molle.bestefich@×××××.com> wrote: |
3 |
|
4 |
> Kevin F. Quinn 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 |
7 |
> > > > amount of time, and use that (by selecting it with gcc-config) |
8 |
> > > > for compiling all new updates. FYI, gcc-3.4.4-r1 was |
9 |
> > > > stabilized on 2-Dec-2005, and the current stable is 3.4.6-r1 |
10 |
> > > > since May 29th. |
11 |
> > > |
12 |
> > > I don't see how that information is conveyed to the user. |
13 |
> > |
14 |
> > It's conveyed by the fact that when updating, you see a new compiler |
15 |
> > version being installed. If you have done a world update, you |
16 |
> > already have the later compilers installed. |
17 |
> |
18 |
> No, that's not true. It's not conveyed at all. |
19 |
|
20 |
It is clear that a new version of GCC is installed. It is also clear |
21 |
that it is not switched to (otherwise the upgrade would have to trundle |
22 |
off and rebuild everything - we'd be swamped with complaints if we did |
23 |
that!). |
24 |
|
25 |
> It might install a new GCC, but it doesn't switch to it. |
26 |
|
27 |
By design. |
28 |
|
29 |
> It doesn't tell the user to switch to it, either. |
30 |
|
31 |
Again by design. |
32 |
|
33 |
It's up to the user to switch to a different compiler, should they wish |
34 |
to. In other words, it's a user choice which compiler version they use. |
35 |
|
36 |
> > As has been explained before, as far as the gcc ebuilds are |
37 |
> > concerned their job is finished when the new compiler version |
38 |
> > is installed. It is up to the user to decide to change their |
39 |
> > system compiler. |
40 |
> |
41 |
> You seem to have missed the issue. |
42 |
|
43 |
Maybe, that wasn't my point. I'm telling you what the situation re. |
44 |
compiler installation actually is, and how it is designed to be. |
45 |
|
46 |
|
47 |
> > > Yes, ok. That's a bad alternative. Thus it seems that there's no |
48 |
> > > appropriate mechanism to handle new GCC versions in Portage, which |
49 |
> > > again makes sense wrt. the complaints. |
50 |
> > |
51 |
> > Portage and the ebuilds handle it fine. |
52 |
> |
53 |
> Same. |
54 |
> |
55 |
> > All that needs to happen is for users to accept the advice to read |
56 |
> > the gcc upgrading guide when they trip over problems that arise |
57 |
> > from issues with gcc versions. |
58 |
> |
59 |
> There's no advice, instead Portage crashes during a system update. |
60 |
|
61 |
The advice is to switch to a more recent compiler. Jakub has made that |
62 |
clear on the bug, and we've said it several times here. As a result, |
63 |
there is no change to be done to any ebuilds etc. |
64 |
|
65 |
|
66 |
> > > Nothing? |
67 |
> > > I find it unacceptable that the bug is marked INVALID when it |
68 |
> > > clearly describes a relevant issue. |
69 |
> > |
70 |
> > Don't take the bug marking as a personal attack |
71 |
> |
72 |
> I don't, it's not my bug ;-). |
73 |
> |
74 |
> > it's a marking for devs to understand what was the impact of the |
75 |
> > bug. |
76 |
> |
77 |
> It's marked INVALID, while the issue is clearly valid. |
78 |
|
79 |
OK; one more time. The bug does not lead to any change to anything in |
80 |
the tree. Therefore it is marked INVALID, in that it is not a valid |
81 |
issue with respect to the Gentoo tree. INVALID has the meaning |
82 |
ascribed to it on the bugzilla help page, not the meaning from an |
83 |
English dictionary. When a bug is fixed, something has to change for |
84 |
that fix to happen - if there's no change, either there's a |
85 |
bug that we won't fix (WONTFIX) or there's no bug. In this case |
86 |
there's no bug, in my opinion. |
87 |
|
88 |
> > Focus on the advice given, which from what I can see was succinct |
89 |
> > and correct. |
90 |
> |
91 |
> It shouldn't even be _necessary_ to create bugs and receive advice |
92 |
> from a living, breathing human being just to perform a system update. |
93 |
|
94 |
You have to realise that being a constantly moving source distribution, |
95 |
it is impossible to ensure that all packages in all stable versions |
96 |
interoperate in all possible combinations. We don't guarantee that. |
97 |
We do go to some effort to ensure all latest stable versions |
98 |
interoperate when built sensibly, when it comes to a release - that's as |
99 |
far as we can go, realistically. |
100 |
|
101 |
|
102 |
> > > As far as I can tell, the complaints are about Portage being |
103 |
> > > unable to handle GCC upgrades gracefully for end users. |
104 |
> > |
105 |
> > What exactly do you expect to happen? GCC updates don't switch |
106 |
> > major versions automatically, because in general it means changing |
107 |
> > ABI which means rebuilding everything. |
108 |
> |
109 |
> Ah, that's a good question. |
110 |
> |
111 |
> I think the proper reaction from Portage would be (both): |
112 |
> a) Alert the user that the newest version of package XYZ cannot be |
113 |
> merged because it needs a newer compiler than the currently |
114 |
> selected one. |
115 |
|
116 |
I explained above why this wouldn't be a good idea. |
117 |
|
118 |
> b) Skip package XYZ, but continue updating the rest of the system. |
119 |
|
120 |
emerge --resume --skipfirst |
121 |
|
122 |
> Package XYZ could also block the update, that would be OK. |
123 |
|
124 |
The problem with this is the same as with (a). |
125 |
|
126 |
> > Again, this is not a personal attack but information for devs |
127 |
> > to understand whether different work is needed for the different |
128 |
> > bugs. |
129 |
> |
130 |
> Noone has mentioned personal attacks, so drop that train of thought. |
131 |
> |
132 |
> You misread my point. I was trying to say that bugs describing |
133 |
> problems (with fx. Portage) in abstract will often get closed as a |
134 |
> duplicate of a bug where someone has experienced a particular |
135 |
> incarnation of the larger problem described. |
136 |
|
137 |
(Just to clarify - "portage" refers to the application |
138 |
sys-apps/portage, which you use to install stuff from the tree of |
139 |
ebuilds, often referred to as the "portage tree") |
140 |
|
141 |
> That's a good way to make sure that relevant end user issues never |
142 |
> come into contact with the devs, which I'm sure is not what the |
143 |
> devs want. |
144 |
|
145 |
When a bug is marked as a duplicate, a comment is added automatically |
146 |
to that bug indicating which bug it is being marked a duplicate of. |
147 |
Also, the reporter of the duplicate bug is added to the CC list of the |
148 |
original bug. In this way, the reporter is integrated into the |
149 |
communication chain for the original bug, where they can read back |
150 |
through the history, comment, receive bug data from devs actioning the |
151 |
bug etc. So your point |
152 |
|
153 |
|
154 |
> > > > I suppose portage could be enhanced to have a |
155 |
> > > > is_gcc_version_supported() check, but I'm not sure how useful |
156 |
> > > > that would be. |
157 |
> > > |
158 |
> > > If that would enable ebuild maintainers to flag xine as requiring |
159 |
> > > 3.4 for compilation, then that would definitely solve the issue |
160 |
> > > described in the bug. I'd say that's _very useful_ to the end |
161 |
> > > user. |
162 |
> > |
163 |
> > The problem with having the xine ebuild check gcc version and |
164 |
> > aborting if a certain version is found active, |
165 |
> |
166 |
> I don't think anyone would implement it that way, since that's |
167 |
> braindead ;-). Instead of checking a particular version, checking for |
168 |
> a minimum version would be the default available functionality. |
169 |
> |
170 |
> > is that if the gcc version is modified in the future such that xine |
171 |
> > would then build with it, that handling would have to come out |
172 |
> > again. |
173 |
> |
174 |
> In the (hysterically abstract) situation where someone revisits an old |
175 |
> version of GCC and adds GCC-4 features, nothing would break. |
176 |
|
177 |
You would be surprised; fixes from later versions are often back-ported |
178 |
to older versions (especially when upstream do so). |
179 |
|
180 |
|
181 |
> Users would still be told to upgrade to a newer version, and all would |
182 |
> be well, despite the fact that the old GCC with the backported feature |
183 |
> could now theoretically be used. |
184 |
> |
185 |
> (But it's just trolling anyway, you're really describing a non-issue, |
186 |
> IMHO.) |
187 |
> |
188 |
> > Another way of looking at it, is that there are a lot of people out |
189 |
> > there who are coping just fine with GCC upgrades as they are |
190 |
> > currently managed. |
191 |
> |
192 |
> Uh. What's your point? |
193 |
> That you're one of those people who hates change just because it's |
194 |
> change, or do you have something more relevant to say that I'm not |
195 |
> catching? |
196 |
|
197 |
My point is that you imply this issue is a problem for many users - a |
198 |
point you snipped so I'm pasting it again here: |
199 |
|
200 |
> You could argue that only a couple of people has spent the time to |
201 |
> create a bugzilla login and lodge a complaint in the bug, but there's |
202 |
> probably more out there. We can count the duplicates in a couple of |
203 |
> months and see ;-). And as newer GCC features are used throughout, |
204 |
> the situation will probably happen more in the future. |
205 |
|
206 |
My point is that from what we can see, it isn't a problem for many |
207 |
users. |
208 |
|
209 |
> > See https://bugs.gentoo.org/page.cgi?id=fields.html - as far as devs |
210 |
> > are concerned, "The problem described is not a bug" so INVALID is |
211 |
> > the correct resolution marking. |
212 |
> |
213 |
> "Not a bug" does not translate to "Not an issue". |
214 |
> You're practicing an extremely narrow view of what's a bug, and that's |
215 |
> fine - we'll just call it an issue instead. |
216 |
> Next step is to either |
217 |
> a) declare that the Gentoo Bugzilla is in fact an issue tracker, or |
218 |
> b) decide that problems which does not fit your narrow view of a |
219 |
> "bug" belongs on a mailing list. |
220 |
|
221 |
We consider bug and issue to be the same thing, as far as Gentoo |
222 |
Bugzilla is concerned. Gentoo bugzilla is there to track any problem |
223 |
a user might have with Gentoo. Clearly there are times when the user |
224 |
just has to follow some simple instructions to sort out their system |
225 |
without any change needed to the tree. In these cases we mark the |
226 |
bugs FIXED/INVALID. My point is that the bug is resolved without |
227 |
needing any change to the portage tree - therefore it is marked |
228 |
INVALID. Whether you call the reports bugs, issues, tickets whatever is |
229 |
irrelevant. |
230 |
|
231 |
> Either way is fine, someone just needs to decide where more abstract |
232 |
> issues should be archived - in the bugzilla or in the mailing |
233 |
> list(s)'s archives. |
234 |
|
235 |
We track all issues in Gentoo Bugzilla, be they bugs, enhancement |
236 |
requests, whatever. Many times a bug is raised that is resolved |
237 |
without needing any change to the tree - in that case we mark it |
238 |
RESOLVED/INVALID. If we wanted to be warm and fuzzy about it, we could |
239 |
change the INVALID to NOT-A-BUG (which is what GNU do) or perhaps if we |
240 |
want to be really cuddly we could try "NOCHANGE". Personally I don't |
241 |
think it's worth the effort. |
242 |
|
243 |
> In case of b), fields.html should be modified to |
244 |
> 1) include your narrow view of what's-a-bug-and-what's-not (see |
245 |
> INVALID), the current description doesn't do. |
246 |
> 2) tell people to take problems which doesn't fit that view to the |
247 |
> mailing list(s). |
248 |
> |
249 |
> A good place to end this bug-or-not branch of the discussion which |
250 |
> you've delved into would IMHO be if you could create a good |
251 |
> description/explanation to use with bullet 1). I know it's not easy, |
252 |
> which is probably why most people go with something like solution a, |
253 |
> heh, but I'm sure it can be done with some hard thinking. It seems to |
254 |
> me that that's the only way to actually validate your point. |
255 |
|
256 |
A good place to end it is here, because it is of no value to pursue it |
257 |
further. |
258 |
|
259 |
|
260 |
-- |
261 |
Kevin F. Quinn |