From Fedora Project Wiki

Revision as of 06:41, 22 November 2011 by Ferdnyc (talk | contribs) (Reworked, with "titles" now as table captions)

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)
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 (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)
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 (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")