From Fedora Project Wiki

No edit summary
No edit summary
Line 9: Line 9:


* Upstream uses negative numbers.  "1.-1.7", "1.-1.8", "1.0.0".  (I sure hope nobody ever does this, but I don't actually know how we would handle it.)
* Upstream uses negative numbers.  "1.-1.7", "1.-1.8", "1.0.0".  (I sure hope nobody ever does this, but I don't actually know how we would handle it.)
Example (post-release cvs):
<pre>
kismet-1.0-1%{?dist} (this is the formal release of kismet 1.0)
kismet-1.0-2%{?dist} (this is a bugfix build to the 1.0 release)
kismet-1.0-3.20050515cvs%{?dist} (move to a post-release cvs checkout)
kismet-1.0-4.20050515cvs%{?dist} (bugfix to the post-release cvs checkout)
kismet-1.0-5.20050517cvs%{?dist} (new cvs checkout, note the increment of %{X})
</pre>
==== Examples ====
{|
|+ '''Example (mozilla pre-release)'''
|-
! Source Archive !! Description
|-
|style=white-space:nowrap| <code>mozilla-1.4a.tar.gz</code> || (this is a pre-release, version 1.4a of mozilla)
|-
| <code>mozilla-1.4.tar.gz</code> || (this is what the 1.4 release will actually look like)
|-
! Release Tag !! Explanation
|-
| <code>mozilla-1.4-0.1.a%{?dist}</code> || (so, this is the acceptable Fedora <code>%{name}-%{version}-%{release}</code>)
|-
| <code>mozilla-1.4-1%{?dist}</code> || (and this is what the 1.4 release Fedora <code>%{name}-%{version}-%{release}</code> should be)
|}
{|
|+ '''Example (alsa-lib pre-release)'''
|-
! Source Archive !! Description
|-
|style=white-space:nowrap| <code>alsa-lib-0.9.2beta1.tar.gz</code> || (this is a beta release of alsa-lib, version 0.9.2beta1)
|-
! Release Tag !! Explanation
|-
| <code>alsa-lib-0.9.2-0.1.beta1%{?dist}</code> || (this is the correct Fedora <code>%{name}-%{version}-%{release}</code>)
|-
| <code>alsa-lib-0.9.2-0.2.beta1%{?dist}</code> || (this is an incremented Fedora <code>%{name}-%{version}-%{release}</code>. Note that the first 0 is not incremented.)
|}
{|
|+ '''Example (kismet pre-release svn checkout)'''
|-
! Release Tag !! Explanation
|-
|style=white-space:nowrap| <code>kismet-0-0.1.20040110svn%{?dist}</code> || (this is a pre-release, svn checkout of kismet)
|-
| <code>kismet-0-0.2.20040110svn%{?dist}</code> || (this is a bugfix to the previous package)
|-
| <code>kismet-0-0.3.20040204svn%{?dist}</code> || (this is a new svn checkout, note the increment of <code>%{X}</code>)
|-
| <code>kismet-1.0-1%{?dist}</code> || (this is the formal release of kismet 1.0)
|}
{|
|+ '''Upgrade Path Example (mozilla)'''
|-
! Release Tag !! Explanation
|-
|style=white-space:nowrap| <code>mozilla-1.4-0.1.a%{?dist}</code> || (this is the Fedora package for 1.4a, as [[#PreReleaseExampleMozilla|above]])
|-
| <code>mozilla-1.4-0.2.a%{?dist}</code> || (this is the first patch on top of 1.4a)
|-
| <code>mozilla-1.4-0.3.a%{?dist}</code> || (this is another new patch on top of 1.4a)
|-
| <code>mozilla-1.4-0.4.b%{?dist}</code> || (this is the first build after upgrade to 1.4b)
|-
| <code>mozilla-1.4-0.5.b%{?dist}</code> || (this is a new patch on top of 1.4b)
|-
| <code>mozilla-1.4-1%{?dist}</code> || (this is after moving to 1.4 "final", and to a normal version)
|-
| <code>mozilla-1.4-2%{?dist}</code> || (this is a new patch on top of 1.4 "final")
|}
{|
|+ '''Upgrade Path Example (alsa-lib)'''
|-
! Release Tag !! Explanation
|-
|style=white-space:nowrap| <code>alsa-lib-0.9.2-0.1.beta1%{?dist}</code> || (this is the Fedora package for 0.9.2beta1, as [[#PreReleaseExampleAlsaLib|above]])
|-
| <code>alsa-lib-0.9.2-0.2.beta1%{?dist}</code> || (this is a new patch on top of 0.9.2beta1)
|-
| <code>alsa-lib-0.9.2-0.3.beta2%{?dist}</code> || (this is after upgrading to 0.9.2beta2)
|-
| <code>alsa-lib-0.9.2-0.4.beta3%{?dist}</code> || (this is after upgrading to 0.9.2beta3)
|-
| <code>alsa-lib-0.9.2-0.5.beta3%{?dist}</code> || (this is a new patch on top of 0.9.2beta3)
|-
| <code>alsa-lib-0.9.2-0.6.rc1%{?dist}</code> || (this is after upgrading to 0.9.2rc1)
|-
| <code>alsa-lib-0.9.2-0.7.rc2%{?dist}</code> || (this is after upgrading to 0.9.2rc2)
|-
| <code>alsa-lib-0.9.2-1%{?dist}</code> || (this is after upgrading to 0.9.2 "final", version becomes normal)
|-
| <code>alsa-lib-0.9.2-2%{?dist}</code> || (this is a new patch on top of 0.9.2 "final")
|}
Example (complicated post-release):
<pre>
foo-1.1.0-0.1.BETA%{?dist} (this is a prerelease, first beta)
foo-1.1.0-0.2.BETA1%{?dist} (this is a prerelease, second beta)
foo-1.1.0-0.3.BETA2%{?dist} (this is a prerelease, third beta)
foo-1.1.0-0.4.CR1%{?dist} (this is a prerelease, candidate release 1)
foo-1.1.0-0.5.CR2%{?dist} (this is a prerelease, candidate release 2)
foo-1.1.0-1%{?dist} (final release)
foo-1.1.0-2.GA1%{?dist} (post release, GA1)
foo-1.1.0-3.CP1%{?dist} (post release, CP1, after GA1)
foo-1.1.0-4.CP2%{?dist} (post release, CP2, after CP1)
foo-1.1.0-5.SP1%{?dist} (post release, SP1, after CP2)
foo-1.1.0-6.SP1_CP1%{?dist} (post release, SP1_CP1, after SP1)
</pre>

Revision as of 01:28, 10 November 2016

Ideally there will be at least one example here for every tricky versioning scenario.

Things to add which we don't currently have examples for:

  • Upstream just uses random words as names: "spectacled", "cinnamon", "polar", "kodiak".
  • Upstream uses negative numbers. "1.-1.7", "1.-1.8", "1.0.0". (I sure hope nobody ever does this, but I don't actually know how we would handle it.)


Example (post-release cvs):

kismet-1.0-1%{?dist} (this is the formal release of kismet 1.0)
kismet-1.0-2%{?dist} (this is a bugfix build to the 1.0 release)
kismet-1.0-3.20050515cvs%{?dist} (move to a post-release cvs checkout)
kismet-1.0-4.20050515cvs%{?dist} (bugfix to the post-release cvs checkout)
kismet-1.0-5.20050517cvs%{?dist} (new cvs checkout, note the increment of %{X})

Examples

Example (mozilla pre-release)
Source Archive Description
mozilla-1.4a.tar.gz (this is a pre-release, version 1.4a of mozilla)
mozilla-1.4.tar.gz (this is what the 1.4 release will actually look like)
Release Tag Explanation
mozilla-1.4-0.1.a%{?dist} (so, this is the acceptable Fedora %{name}-%{version}-%{release})
mozilla-1.4-1%{?dist} (and this is what the 1.4 release Fedora %{name}-%{version}-%{release} should be)


Example (alsa-lib pre-release)
Source Archive Description
alsa-lib-0.9.2beta1.tar.gz (this is a beta release of alsa-lib, version 0.9.2beta1)
Release Tag Explanation
alsa-lib-0.9.2-0.1.beta1%{?dist} (this is the correct Fedora %{name}-%{version}-%{release})
alsa-lib-0.9.2-0.2.beta1%{?dist} (this is an incremented Fedora %{name}-%{version}-%{release}. Note that the first 0 is not incremented.)


Example (kismet pre-release svn checkout)
Release Tag Explanation
kismet-0-0.1.20040110svn%{?dist} (this is a pre-release, svn checkout of kismet)
kismet-0-0.2.20040110svn%{?dist} (this is a bugfix to the previous package)
kismet-0-0.3.20040204svn%{?dist} (this is a new svn checkout, note the increment of %{X})
kismet-1.0-1%{?dist} (this is the formal release of kismet 1.0)


Upgrade Path Example (mozilla)
Release Tag Explanation
mozilla-1.4-0.1.a%{?dist} (this is the Fedora package for 1.4a, as above)
mozilla-1.4-0.2.a%{?dist} (this is the first patch on top of 1.4a)
mozilla-1.4-0.3.a%{?dist} (this is another new patch on top of 1.4a)
mozilla-1.4-0.4.b%{?dist} (this is the first build after upgrade to 1.4b)
mozilla-1.4-0.5.b%{?dist} (this is a new patch on top of 1.4b)
mozilla-1.4-1%{?dist} (this is after moving to 1.4 "final", and to a normal version)
mozilla-1.4-2%{?dist} (this is a new patch on top of 1.4 "final")


Upgrade Path Example (alsa-lib)
Release Tag Explanation
alsa-lib-0.9.2-0.1.beta1%{?dist} (this is the Fedora package for 0.9.2beta1, as above)
alsa-lib-0.9.2-0.2.beta1%{?dist} (this is a new patch on top of 0.9.2beta1)
alsa-lib-0.9.2-0.3.beta2%{?dist} (this is after upgrading to 0.9.2beta2)
alsa-lib-0.9.2-0.4.beta3%{?dist} (this is after upgrading to 0.9.2beta3)
alsa-lib-0.9.2-0.5.beta3%{?dist} (this is a new patch on top of 0.9.2beta3)
alsa-lib-0.9.2-0.6.rc1%{?dist} (this is after upgrading to 0.9.2rc1)
alsa-lib-0.9.2-0.7.rc2%{?dist} (this is after upgrading to 0.9.2rc2)
alsa-lib-0.9.2-1%{?dist} (this is after upgrading to 0.9.2 "final", version becomes normal)
alsa-lib-0.9.2-2%{?dist} (this is a new patch on top of 0.9.2 "final")

Example (complicated post-release):

foo-1.1.0-0.1.BETA%{?dist} (this is a prerelease, first beta)
foo-1.1.0-0.2.BETA1%{?dist} (this is a prerelease, second beta)
foo-1.1.0-0.3.BETA2%{?dist} (this is a prerelease, third beta)
foo-1.1.0-0.4.CR1%{?dist} (this is a prerelease, candidate release 1)
foo-1.1.0-0.5.CR2%{?dist} (this is a prerelease, candidate release 2)
foo-1.1.0-1%{?dist} (final release)
foo-1.1.0-2.GA1%{?dist} (post release, GA1)
foo-1.1.0-3.CP1%{?dist} (post release, CP1, after GA1)
foo-1.1.0-4.CP2%{?dist} (post release, CP2, after CP1)
foo-1.1.0-5.SP1%{?dist} (post release, SP1, after CP2)
foo-1.1.0-6.SP1_CP1%{?dist} (post release, SP1_CP1, after SP1)