On Sun, 15 May 2005 20:40:11 -0500, Tom 'spot' Callaway wrote:
On Mon, 2005-05-16 at 02:32 +0200, Michael Schwendt wrote:
> foo-1.0-1.fc3.i386.rpm (stable release)
> foo-1.0-2.20050514cvs.fc4.i386.rpm (post-release snapshot)
These two packages will never compare, unless you're doing a dist
upgrade. But I'll assume you meant .fc3 for both rpms.
No, I didn't mean .fc3 for both rpms.
> If the .fc4 cvs snapshot doesn't need an update, you get the
same
> problems. Dist tags don't help in that case either. They only help for
> updates applied to multiple distribution versions at once.
>
> Whenever you bump %release only on an older branch, you increase the
> likelihood that you violate the distribution upgrade path.
Then you have to bump it on both. We have to enforce that n-v-r of the
previous current branch must be less than the current branch, if we want
to be able to do upgrades. This is true with or without disttags.
No, it isn't. Surely you can avoid the necessity to bump release
for all branches.
> This can also happen if you have use an older cvs snapshot for
FC3
> and a recent one for FC4,
>
> foo-0.0-1.20040903cvs.fc3.i386.rpm
> foo-0.0-1.20050514cvs.fc4.i386.rpm
Well, no. In this case, the fc4 package is newer according to rpm. No
conflict in each branch, no conflict on dist upgrade. The conflict only
arises when you bump the FC-3 branch release, without bumping the FC-4
branch.
No. Read the rest of that example, the part that starts with "and ...".
With your plan I would bump the .fc4 package just for fun? That can't
be true.
> and if you need to fix a security bug in the old snapshot and
you
> can't upgrade to latest cvs co because build requirements are insufficient,
> you run into %release conflicts again:
>
> * foo-0.0-2.20040903cvs.fc3.i386.rpm
> foo-0.0-1.20050514cvs.fc4.i386.rpm
Again, this problem is avoided if both branches are incremented
together.
Why? My example explains it. If there is no need to update the .fc4
package, why bump it? In this case, it's clearly more convenient to
extend the first number in %release from integer to real number.
Lets put the CVS case aside for a minute and try to figure out how to
do
this for the "normal" case first.
The CVS case--and the general case of a src.rpm which applies a set of
patches, regardless of whether from CVS--is an important one. It leads to
cases, where you may need to bump release only for one branch, because the
other branches don't need an update. To assume that every bug-fix update
is released for all distribution branches, is a false assumption. There
are competing and conflicting versioning schemes.