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 19:37:35
Message-Id: 20060710213103.0cd9ce3f@c1358217.kevquinn.com
In Reply to: [gentoo-dev] Re: Portage: missing pieces by Molle Bestefich
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

Attachments

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