RPM version goes backward in Rawhide

Kevin Kofler kevin.kofler at chello.at
Sat Aug 20 03:41:39 UTC 2011


Looks like I forgot to reply to this:

Adam Williamson wrote:
> That's ass backwards, though. We need the testing _to determine if the
> things should be in the release_. Really, I think if you look at the
> quality of the releases that have happened since this policy was
> changed, it's pretty clear that it helps. It makes pulling together the
> pre-releases a lot less chaotic.

I'm not convinced… Our previous releases were quite good too!

> We're very clear about what you get to expect with pre-releases, and
> being able to upgrade to the final release seamlessly certainly isn't
> one of those things.

And I think this is both extremely unhelpful and a total disconnect from 
user expectations.

> Sure. I don't see that as a huge issue. We explain why it happens and
> provide the solution - distro-sync - and people are generally fine with
> that. I haven't seen anyone who thought it was a terrible idea yet.

Well, now you've seen one. :-)

(And the solution I actually give is: "Try 'yum distro-sync' this time, and 
next time you install a prerelease, you'll probably want to make sure you 
disable updates-testing before doing anything else, in particular before 
installing ANY update…")

> > 2. Updates-testing tends to contain very broken stuff, for which the 
> > maintainer knows it needs more testing before being proven usable (or
> > not).
>
> One, that's certainly not how updates-testing is supposed to work, and

What is it for then, if not for testing things to see whether they work or 
not? That really SHOULD be how updates-testing SHOULD work. If the 
maintainer knows that an update works, it should be in stable, not testing 
(which also means the maintainer should be the one making that decision, not 
some arbitrary policy…).

> two, I dispute that it's the case in practice. Could you point to an
> example?

For how updates-testing works out in practice, just look at any package with 
negative karma. Now, there's some probability that it's one of those 
packages where the karma system just didn't work (you cannot just sum all +1 
and -1 comments and expect it to sum to something meaningful, building 
automatically enforced policies out of this totally arbitrary number just 
makes no sense), but still, in many cases, the negative karma is there for a 
good reason.

>> Enabling it by default makes Branched more unstable than it could be (and
>> in some cases, even more unstable than Rawhide, as the EVR monotonicity
>> issue which is the subject of this thread shows).
> 
> Erm, the update in this thread happened in Rawhide; F16 was not branched
> at the time. If F16 had been branched, the update would never have made
> it out of updates-testing, hence much less of a problem.

Except that updates-testing is enabled by default! Which, incidentally, is 
exactly what I'm complaining about.

I think you're missing my point:

> Making it less likely that we'll have to do reversions / epoch bumps is
> one of the *strengths* of the updates-testing system.

Only for those users NOT using updates-testing.

Updates can be pulled out of updates-testing at any moment, which makes a 
lot of sense, but which means that users with updates-testing enabled will 
end up with the EVR going backwards, something that's not even allowed in 
Rawhide.

Enabling updates-testing by default means forcing EVR downgrades on users of 
Branched by default, making the policy banning them in Rawhide totally 
pointless.

>> 3. People testing with updates-testing enabled aren't testing what will
>> actually end up in the releases (Alpha, Beta, Final), which use only
>> packages marked stable.
> 
> Sure. But their testing enables us to make good decisions about what
> *should* go into the release. I don't see where this is a problem.

The problem is that basically nobody is testing the actual release package 
set, considering that it's much less straightforward to opt out of updates-
testing than to opt in, and that probably only few people are doing it (and 
those who do bother to explicitly opt out of updates-testing are the ones 
who just need early access to the releases for whatever reason, e.g. because 
they need a newer version of some package, and don't actually want to do any 
testing whatsoever, just to seamlessly move on to the release when it's out 
officially).

> It's not at all pointless, because the point of the Alpha / Beta images
> is to provide a known-good base. If the Alpha / Beta are broken, you're
> pretty screwed. If an update is broken, just re-install from the
> known-good base and skip the update.

LOL, good luck finding the offending update among the dozens of packages 
which will get upgraded in your first update after installing the Alpha or 
Beta.

> Oh, and this wouldn't be any different if we changed the policy anyway,

Not true:

Consider the following sets of updates:
* Set A of updates goes stable before the freeze.
* Set B of updates goes to testing before the freeze, gets queued for stable 
during the freeze and pushed right after the unfreeze.
* Set C of updates goes to testing during the freeze, gets queued for stable 
during the freeze and pushed right after the unfreeze.
* Set D of updates goes to testing during the freeze (or right after the 
unfreeze, in the same push where sets B and C go stable) and gets queued for 
and pushed to stable only well after the unfreeze.
* Set E of updates goes to testing well after the unfreeze.

The compose obviously includes only update set A.

Assume we are right after the unfreeze:
* Update sets A, B and C are stable.
* Update set D is in updates-testing.
* Update set E is not queued anywhere yet (probably not even built yet).

Current: The user will get offered update sets B, C and D as updates.
Proposed: The user will get offered only update sets B and C as updates.

This would reduce the number of 0-day updates for Alpha/Beta releases 
significantly.

        Kevin Kofler



More information about the devel mailing list