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.