From Fedora Project Wiki

 
m (Missing parens)
Line 58: Line 58:
! Release Tag !! Explanation
! Release Tag !! Explanation
|-
|-
| <code>mozilla-1.4-0.1.a</code> || (this is the Fedora package for 1.4a, as [[#PreReleaseExampleMozilla|above]]
| <code>mozilla-1.4-0.1.a</code> || (this is the Fedora package for 1.4a, as [[#PreReleaseExampleMozilla|above]])
|-
|-
| <code>mozilla-1.4-0.2.a</code> || (this is the first patch on top of 1.4a)
| <code>mozilla-1.4-0.2.a</code> || (this is the first patch on top of 1.4a)
Line 78: Line 78:
! Release Tag !! Explanation
! Release Tag !! Explanation
|-
|-
| <code>alsa-lib-0.9.2-0.1.beta1</code> || (this is the Fedora package for 0.9.2beta1, as [[#PreReleaseExampleAlsaLib|above]]
| <code>alsa-lib-0.9.2-0.1.beta1</code> || (this is the Fedora package for 0.9.2beta1, as [[#PreReleaseExampleAlsaLib|above]])
|-
|-
| <code>alsa-lib-0.9.2-0.2.beta1</code> || (this is a new patch on top of 0.9.2beta1)
| <code>alsa-lib-0.9.2-0.2.beta1</code> || (this is a new patch on top of 0.9.2beta1)

Revision as of 06:28, 22 November 2011

Pre-Release packages

Non-numeric versioned "pre-release" packages can be problematic so they must be treated with care. These are cases where the upstream "pre-release" version has letters rather than simple numbers in their version. Often they have tags like alpha, beta, rc, or letters like a and b denoting that it is a version before the "final" number. Unfortunately, we cannot simply put these letters into the version tag, so we'll use the Release field for this.

Release Tag for Pre-Release Packages: 0.%{X}.%{alphatag}

Where %{X} is the release number increment, and %{alphatag} is the string that came from the version. In this case, the period '.' should be used as the delimiter between the release number increment, and the non-numeric version string. No other extra characters should appear in the Release field. This is to prevent Release values such as "3jpp_2fc.42-spotwashere".


Example (mozilla pre-release):

  • 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 (so, this is the acceptable Fedora %{name}-%{version}-%{release})
mozilla-1.4-1 (and this is what the 1.4 release Fedora %{name}-%{version}-%{release} should be)


Example (alsa-lib pre-release):

  • 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 (this is the correct Fedora %{name}-%{version}-%{release})
alsa-lib-0.9.2-0.2.beta1 (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 (this is a pre-release, svn checkout of kismet)
kismet-0-0.2.20040110svn (this is a bugfix to the previous package)
kismet-0-0.3.20040204svn (this is a new svn checkout, note the increment of %{X})
kismet-1.0-1 (this is the formal release of kismet 1.0)


Upgrade Path Example (mozilla):

Release Tag Explanation
mozilla-1.4-0.1.a (this is the Fedora package for 1.4a, as above)
mozilla-1.4-0.2.a (this is the first patch on top of 1.4a)
mozilla-1.4-0.3.a (this is another new patch on top of 1.4a)
mozilla-1.4-0.4.b (this is the first build after upgrade to 1.4b)
mozilla-1.4-0.5.b (this is a new patch on top of 1.4b)
mozilla-1.4-1 (this is after moving to 1.4 "final", and to a normal version)
mozilla-1.4-2 (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 (this is the Fedora package for 0.9.2beta1, as above)
alsa-lib-0.9.2-0.2.beta1 (this is a new patch on top of 0.9.2beta1)
alsa-lib-0.9.2-0.3.beta2 (this is after upgrading to 0.9.2beta2)
alsa-lib-0.9.2-0.4.beta3 (this is after upgrading to 0.9.2beta3)
alsa-lib-0.9.2-0.5.beta3 (this is a new patch on top of 0.9.2beta3)
alsa-lib-0.9.2-0.6.rc1 (this is after upgrading to 0.9.2rc1)
alsa-lib-0.9.2-0.7.rc2 (this is after upgrading to 0.9.2rc2)
alsa-lib-0.9.2-1 (this is after upgrading to 0.9.2 "final", version becomes normal)
alsa-lib-0.9.2-2 (this is a new patch on top of 0.9.2 "final")