1 |
* Chris Gianelloni <wolf31o2@g.o> schrieb: |
2 |
|
3 |
<snip> |
4 |
|
5 |
> > 1) thousands of packages will never be marked stable |
6 |
> |
7 |
> Honestly, they shouldn't be stable. |
8 |
|
9 |
hmm, maybe we should have different groups of ports (*1) for |
10 |
|
11 |
a) quite stable: no bugs yet and enough votes) |
12 |
b) *proven* to be stable: has passed the whole bunch of qm tests. |
13 |
|
14 |
The quite stable category could be used for "normal" packages which |
15 |
are used in production but are not very critical. Maybe games and |
16 |
seldomly used stuff can be taken from here. |
17 |
|
18 |
Critical things (ie. base system, toolchain, critical apps) should |
19 |
only be taken from the proven/mature category. Maybe we could maintain |
20 |
several profiles which does the common masking. |
21 |
|
22 |
I'm not quite familar w/ overlays yet, but it seems wise to me |
23 |
to maintain overlays for several groups of b) ports. Individual |
24 |
overlays may have their own policies. For example one for critical |
25 |
server systems would require absolutely reliable, automatic remote |
26 |
updates, security fixes fast in but enhancements lazy, binary |
27 |
compatibility, etc. |
28 |
|
29 |
> In fact, likely, many shouldn't be in the tree. We have way too many |
30 |
> packages that are used solely by a small group of people sitting around |
31 |
> the tree. These would be better served in official overlays, where |
32 |
> they can be maintained by the interested parties (including users), |
33 |
> rather than in the tree. |
34 |
|
35 |
Those overlays seem good, if they represent an entire subtree |
36 |
(aka distinct from the main tree). For example there could be an |
37 |
KDE/Qt overlay, which contains the whole KDE stuff. People not |
38 |
interested in any of KDE (like me) don't need it. This would make |
39 |
syncing less resource intensive. |
40 |
|
41 |
But: please let's call them *Subtrees*. |
42 |
|
43 |
> > 2) Everyone running stable who wants some recent packages ends up with |
44 |
> > /etc/portage/package.keywords with hundreds of entries |
45 |
> |
46 |
> People don't seem to understand that you cannot have your cake and eat |
47 |
> it, too. I have no sympathy for these people. |
48 |
> |
49 |
> If you want *stable* then you're going to have to wait until the package |
50 |
> has passed QA and the bugs have been resolved. If you want *new* then |
51 |
> you simply have to deal with the bugs. |
52 |
|
53 |
Well, as I said, there're different views of "stable". |
54 |
One means "it is working", others mean "it has to be absolutely robust". |
55 |
Therefore we should differenciate between "stable" and "mature". |
56 |
|
57 |
For example bugzilla-2.22 (which is still masked ~x86 :(): |
58 |
|
59 |
I needed 2.22 for postgresql. This requires 2.22, which is ~x86, |
60 |
so I had to add it to package.keywords. It also requires DBD::Pg, |
61 |
also masked ~x86, also added to package.keywords. |
62 |
Fine so far, as long as I don't have to do it on many packages. |
63 |
|
64 |
|
65 |
Maybe we could handle the two cases installing vs. updating different. |
66 |
|
67 |
Again my bugzilla example: I installed bugzilla-2.22 and DBD::Pg, |
68 |
(both still masked ~x86). At this point I tried something new. |
69 |
Bugzilla + DBD::Pg work for me now, evrything's fine. |
70 |
|
71 |
Now it comes to an update. We've got a new Bugzilla version, which |
72 |
is considered at the same stability level as my current 2.22. |
73 |
I don't see any need for update, since I'm happy w/ current one. |
74 |
So emerge should leave it untouched. Some day we'll have an new |
75 |
version approved to be more stable than current or fixes some bugs. |
76 |
Now emerge should upgrade, but only to the point where it gets |
77 |
more stable. |
78 |
|
79 |
BTW: sometimes it will be good to maintain different branches, |
80 |
ie. there could come an quality enhanced 2.22.1 parallel to an |
81 |
not yet proven 2.23 from upstream. While 2.23 will bring new |
82 |
features, but is not yet properly tested, the 2.22.1 will only |
83 |
have - very carefully checked - bugfixes. This case should also |
84 |
be coped here. |
85 |
|
86 |
<snip> |
87 |
|
88 |
> People seem to think that there's some magical solution to this. There |
89 |
> is no solution other than more people actually *solving* the problems |
90 |
> that keep packages from making it to stable. The packages that are |
91 |
> complained about the most are invariably large sets of packages, like |
92 |
> GNOME or KDE, that have hundreds of dependencies and take quite some |
93 |
> time to get into a condition that can be considered "stable" at all. |
94 |
> |
95 |
> If you want things to make it to stable faster, then start supplying |
96 |
> patches. |
97 |
|
98 |
ACK, of course. |
99 |
Maybe we need some system to get users and latent contributors more |
100 |
informed about things to do. I imagine something which directly |
101 |
utilizes portage db (installed packages) to query for information. |
102 |
|
103 |
Ie: |
104 |
|
105 |
box:/ # equery-2do world |
106 |
[www-apps/bugilla-2.22 ~x86] (installed: 2.22 +postgres ...) |
107 |
* solve bug 12345 |
108 |
* test seamless upgrading from 2.20.2 |
109 |
... |
110 |
[knollo/test-1.23 ~x86] (installed 1.20) |
111 |
* solve bug 1222 |
112 |
* try out new +postgres |
113 |
... |
114 |
|
115 |
<snip> |
116 |
|
117 |
> > 4) The user experience sucks - see the forums/wiki... "to install |
118 |
> > this great sw you need the latest version of x, which depends on y,z, |
119 |
> > so copy paste this huge block in to /etc/portage/package.keywords."... |
120 |
> > then 2 weeks later some depend changes, and suddenly emerge -u world |
121 |
> > no longer works, and user has more problems to solve. |
122 |
> |
123 |
> Honestly, the number of people out there giving shit advice is part of |
124 |
> the problem. Rather than telling people to do this sort of thing, a |
125 |
> better solution would be to tell people how they can *help* instead of |
126 |
> how they can bypass the system, which ends up with clueless users filing |
127 |
> more bugs, which delays the stabilization longer. |
128 |
|
129 |
ACK. It's quite the same problem as many many packages (upstream) in |
130 |
the OSS world have - they try to work around bugs in imported packages, |
131 |
sometimes even ship their own branch of them (ie. apache -> expat) |
132 |
instead of simply fixing the problem on the source. And this then |
133 |
ends up in thinkgs like the whole autotools hell. |
134 |
That's why I started my OSS-QM project, I had announced some weeks ago. |
135 |
|
136 |
<snip> |
137 |
> Every user that someone knowledgeable gets to use something they don't |
138 |
> understand, is a potential bug report slowing stabilization even more. |
139 |
|
140 |
At least these bug reports should contain the user's keywording info. |
141 |
Ie. if the bug applies to an masked version, there should be an tag, |
142 |
so the devs can easily filter on that. Maybe one's only fixing bugs |
143 |
in unmasked packages and keeps things stable, another one then works |
144 |
on stabelizing an still masked package. |
145 |
|
146 |
BTW: is there any console tool for reporting bugs w/ all necessary |
147 |
information quickly ? |
148 |
|
149 |
Ie. if I found an bug in my current bugzilla, I simply wan to call |
150 |
it with the package name - the tool gathers all necessary information |
151 |
(ie. looks for the installed version, including masks, useflags, etc) |
152 |
and asks a few questions. |
153 |
|
154 |
> > The testing is supposed to be for the ebuild, not the package itself, |
155 |
> > so there's not much point in holding back packages with simple ebuilds |
156 |
> > from being stabilised. And the testing process isn't that extensive |
157 |
> > anyway - all it ensures is that the package builds and can be run on |
158 |
> > one particular arch testers system. No disrespect to the testers, but |
159 |
> > they can't be experts in every particular piece of software. How much |
160 |
> > code coverage does a typical ebuild really get when being tested? |
161 |
> |
162 |
> First off, we have a level of expectation of stability to maintain. If |
163 |
> all packages were done "right" then 90% of the ~arch packages in the |
164 |
> tree would be under package.mask, rather than ~arch. Only packages in |
165 |
> ~arch would be ones with no bugs open, to test the ebuild, so that they |
166 |
> can become stable. As we all know, this isn't the case. Developers all |
167 |
> over the place, including myself, have put in tons of packages that |
168 |
> aren't necessarily perfectly stable themselves. We do this because our |
169 |
> users demand it. We have reached a critical mass of users, where no |
170 |
> matter what we do, somebody is going to bitch and piss and moan because |
171 |
> we don't do things the way they would like. There's nothing that we can |
172 |
> do about this except decide collectively what the best course of action |
173 |
> for our users would be and try to make things as high-quality as |
174 |
> possible. |
175 |
|
176 |
hmm, social pressure is a big problem here. The mass of people who |
177 |
maybe are happy with semi-stable packages hurt those few who need |
178 |
critical stability. |
179 |
|
180 |
I tend to like the idea of mission-critical overlays more and more. |
181 |
|
182 |
> Automatic stabilization is one of those things that would cause our |
183 |
> quality to go to hell. Another thing is this. If you don't like it, |
184 |
> fork. You've got the code. You're *more than welcome* to go around |
185 |
> making your own overlay/tree and marking whatever rubbish you feel like |
186 |
> as stable. There's *nobody* stopping you from doing so. However, many |
187 |
|
188 |
I just read over the discussion very quickly, but isn't this exactly |
189 |
what Sunrise should be for ? |
190 |
|
191 |
<snip> |
192 |
|
193 |
> Another problem is that we don't *know* what is being run by our users. |
194 |
|
195 |
hmm, why not creating an database for this ? |
196 |
Users are then encouraged to run an tool which regularily posts the |
197 |
interesting parts of the emerge database (package+version+useflags+ |
198 |
keywords) and some system information (CFLAGS, hardware data, ...) |
199 |
into the database. Once we've reached an critical mass, we've got |
200 |
some usable statistic information. So we could also see, what should |
201 |
not be kicked off the tree (ie. someone's still using old packages, etc). |
202 |
We simply should tell people to use this tool if they like to get their |
203 |
systems supported. |
204 |
|
205 |
<snip> |
206 |
> out into overlays. I wouldn't mind seeing the tree completely split |
207 |
> into the "ricer" and "stable" camps. Let's call them "Gentoo |
208 |
> Enterprise" and "Gentoo X-Treme UberEdition" just to keep them |
209 |
> separate... |
210 |
|
211 |
So like other distros like debian do with there "testing" vs. |
212 |
"stable" branches ? |
213 |
hmm, would be easier to maintain, but mixing would be hard for users. |
214 |
|
215 |
<snip> |
216 |
|
217 |
> Seriously, folks. If you think that packages should be available |
218 |
> faster, run ~arch. Test the packages. Report successes/failures to the |
219 |
> maintainers. File stabilization bugs if your favorite package hasn't |
220 |
> had another bug in 30 days and you've been using it. Basically, help |
221 |
|
222 |
maybe this could be done (partial) automatically: |
223 |
|
224 |
+ an tool checks the emerge db for masked packages which are older |
225 |
than 30 days and asks the user if he likes to give comments and |
226 |
if he likes to see it stabelized. |
227 |
|
228 |
|
229 |
BTW: is there an quick way for checking if some package in an specific |
230 |
version has some bugs ? Is there a fixed syntax for such bug reports |
231 |
where we could let the machine filter on ? |
232 |
|
233 |
|
234 |
|
235 |
cu |
236 |
|
237 |
*1: port := package+version |
238 |
|
239 |
-- |
240 |
--------------------------------------------------------------------- |
241 |
Enrico Weigelt == metux IT service - http://www.metux.de/ |
242 |
--------------------------------------------------------------------- |
243 |
Please visit the OpenSource QM Taskforce: |
244 |
http://wiki.metux.de/public/OpenSource_QM_Taskforce |
245 |
Patches / Fixes for a lot dozens of packages in dozens of versions: |
246 |
http://patches.metux.de/ |
247 |
--------------------------------------------------------------------- |
248 |
-- |
249 |
gentoo-dev@g.o mailing list |