Re: Query about package versioning

2014-02-21 Thread Kevin Kofler
Vivek Goyal wrote:
 What is fast forwarding commits from f21 to f20. I guess you are saying
 there are bunch of commits in master branch and you want to now apply
 those commits to f20 branch too?

Fast-forwarding is git jargon for doing a merge that simply accepts ALL 
commits from master into f20, under the precondition that no non-master 
commits have been made to f20. So it means you build the exact same thing 
for both master and f20, and you never commit anything to f20 that isn't 
merged from master (or the other way round, but you need to make sure (by 
merging, if necessary) that the branches are in sync before committing to a 
branch, or fast-forwarding won't work anymore, so it's easier if you always 
do the merges in the same direction, which in Fedora is normally 
master/Rawhide first).

For some packages, this workflow makes a lot of sense. For others, not so 
much. It depends on whether you need to make changes to one branch that you 
DON'T want in the other (and that it doesn't make sense to use %if 
0%{?fedora}  n conditionals on). But note that there are only few cases 
where you want to do release-branch-only changes, normally you always want 
to do the changes either only in master (which implies maintaining the 
branches separately) or in both.

If you really need to maintain the branches separately, then yes, your 
versioning scheme makes a lot of sense and is in fact already recommended by 
our guidelines!
https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Minor_release_bumps_for_old_branches
(Yes, Michael Schwendt has already posted that link.)
If you really need to make more changes in the release than in master (which 
usually should not happen, but sometimes there's a legitimate reason for 
that), this is even REQUIRED, because you MUST NOT push n+1.fc20 when 
Rawhide has n.fc21, as that would break the upgrade path.

Kevin Kofler

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Query about package versioning

2014-02-20 Thread Marcin Juszkiewicz
W dniu 20.02.2014 17:16, Vivek Goyal pisze:

 So instead of increasing release number on released branches, why don't
 we append additional number after dist and bump that up in released
 branch. So FC21 releases will look like.
 
   kexec-tools-2.0.4-24.fc21.1
   kexec-tools-2.0.4-24.fc21.2
   ...
   ...
   kexec-tools-2.0.4-23.fc21.10
 
 That way we clearly know that FC21 was forked off master release .24. And
 upgradability of package will be maintained without any change of older
 release versions getting ahead of newer release versions.

%dist should be at the end.

So rather kexec-tools-2.0.4-23.X.fc21 where X means x-th revision of
fc21 package after distribution release.

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Query about package versioning

2014-02-20 Thread Mikolaj Izdebski
On 02/20/2014 05:16 PM, Vivek Goyal wrote:
 So instead of increasing release number on released branches, why don't
 we append additional number after dist and bump that up in released
 branch. So FC21 releases will look like.
 
   kexec-tools-2.0.4-24.fc21.1
   kexec-tools-2.0.4-24.fc21.2
   ...
   ...
   kexec-tools-2.0.4-23.fc21.10
 
 That way we clearly know that FC21 was forked off master release .24. And
 upgradability of package will be maintained without any change of older
 release versions getting ahead of newer release versions.

IMO it's best to do fast-forward merges between branches when possible.
 In particular merging mass rebuild commits is OK.

In case FF merge is impossible I agree with the procedure you described.
 You need to increase release tag in a way that assures upgrade path and
one way to do that is adding .1 after dist tag.

-- 
Mikolaj Izdebski
IRC: mizdebsk
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Query about package versioning

2014-02-20 Thread Mikolaj Izdebski
On 02/20/2014 05:28 PM, Marcin Juszkiewicz wrote:
 W dniu 20.02.2014 17:16, Vivek Goyal pisze:
 
 So instead of increasing release number on released branches, why don't
 we append additional number after dist and bump that up in released
 branch. So FC21 releases will look like.

   kexec-tools-2.0.4-24.fc21.1
   kexec-tools-2.0.4-24.fc21.2
   ...
   ...
   kexec-tools-2.0.4-23.fc21.10

 That way we clearly know that FC21 was forked off master release .24. And
 upgradability of package will be maintained without any change of older
 release versions getting ahead of newer release versions.
 
 %dist should be at the end.
 
 So rather kexec-tools-2.0.4-23.X.fc21 where X means x-th revision of
 fc21 package after distribution release.

That won't work if both branches already have the same release number
and you need to bump release in older branch.  That can happen for
example if you were fast-forwarding commits from f21 to f20 and at some
point you need to add a bugfix only for f20.  Adding .1 after dist-tag
will work in this case.

-- 
Mikolaj Izdebski
IRC: mizdebsk
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Query about package versioning

2014-02-20 Thread Vivek Goyal
On Thu, Feb 20, 2014 at 05:28:02PM +0100, Marcin Juszkiewicz wrote:
 W dniu 20.02.2014 17:16, Vivek Goyal pisze:
 
  So instead of increasing release number on released branches, why don't
  we append additional number after dist and bump that up in released
  branch. So FC21 releases will look like.
  
kexec-tools-2.0.4-24.fc21.1
kexec-tools-2.0.4-24.fc21.2
...
...
kexec-tools-2.0.4-23.fc21.10
  
  That way we clearly know that FC21 was forked off master release .24. And
  upgradability of package will be maintained without any change of older
  release versions getting ahead of newer release versions.
 

 %dist should be at the end.

[ Can you please keep me in To list. I don't want to scan mailing list
  to figure out if somebody responded to my mail or not ]

Why %dist should be at the end? html page I referenced previously mentions
that one can use x.%{dist}.y kind of release number in select cases.

 
 So rather kexec-tools-2.0.4-23.X.fc21 where X means x-th revision of
 fc21 package after distribution release.

I think this will work too. As 23 got frozen in time and master and later
releases will always be higher. And that would not break upgradability.

Thanks
Vivek
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Query about package versioning

2014-02-20 Thread Vivek Goyal
On Thu, Feb 20, 2014 at 05:39:17PM +0100, Mikolaj Izdebski wrote:
 On 02/20/2014 05:28 PM, Marcin Juszkiewicz wrote:
  W dniu 20.02.2014 17:16, Vivek Goyal pisze:
  
  So instead of increasing release number on released branches, why don't
  we append additional number after dist and bump that up in released
  branch. So FC21 releases will look like.
 
kexec-tools-2.0.4-24.fc21.1
kexec-tools-2.0.4-24.fc21.2
...
...
kexec-tools-2.0.4-23.fc21.10
 
  That way we clearly know that FC21 was forked off master release .24. And
  upgradability of package will be maintained without any change of older
  release versions getting ahead of newer release versions.
  
  %dist should be at the end.
  
  So rather kexec-tools-2.0.4-23.X.fc21 where X means x-th revision of
  fc21 package after distribution release.
 
 That won't work if both branches already have the same release number
 and you need to bump release in older branch.  That can happen for
 example if you were fast-forwarding commits from f21 to f20 and at some
 point you need to add a bugfix only for f20.  Adding .1 after dist-tag
 will work in this case.

What is fast forwarding commits from f21 to f20. I guess you are saying
there are bunch of commits in master branch and you want to now apply
those commits to f20 branch too?

If yes, one can simply do another release on master branch if there is
a need to commit a patch in f20 only.

Say master is at kexec-tools-2.0.4-23.0.fc21 and has bunch of more commits
on top.

FC21 forks off and has kexec-tools-2.0.4-23.0.fc21 and a patch needs to
applied to FC21 only. Then one can do another release on master to avoid
any kind of upgradability conflicts.

master will be kexec-tools-2.0.4-24.0.fc22
FC21  will be kexec-tools-2.0.4-23.1.fc21

So I don't see why above will not work?

IOW, it is better to use an extra field for versioning of released
branches to avoid any kind of conflicts with master. Instead of
overloading same release field for all the branches.

Not sure why more package not follow this extra field thing. I am trying
to find out if anything is fundamentally wrong if we try to pursue this
scheme in kexec-tools pacakge.

Thanks
Vivek
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Query about package versioning

2014-02-20 Thread Michael Schwendt
On Thu, 20 Feb 2014 17:28:02 +0100, Marcin Juszkiewicz wrote:

 W dniu 20.02.2014 17:16, Vivek Goyal pisze:
 
  So instead of increasing release number on released branches, why don't
  we append additional number after dist and bump that up in released
  branch. So FC21 releases will look like.
  
kexec-tools-2.0.4-24.fc21.1
kexec-tools-2.0.4-24.fc21.2
...
...
kexec-tools-2.0.4-23.fc21.10
  
  That way we clearly know that FC21 was forked off master release .24. And
  upgradability of package will be maintained without any change of older
  release versions getting ahead of newer release versions.
 
 %dist should be at the end.

No. See:

https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Minor_release_bumps_for_old_branches
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct