Adjust RPM naming guideline

* Update suffix part formation after ~mos in similar way as for DEB
 * This change will also able us to simplify binary upgrade process via yum.

Related-Bug: #1526713

Change-Id: I21ed9998e38edbca4e13660122b813c7c76d3b05
This commit is contained in:
Igor Yozhikov 2015-12-11 16:46:19 +03:00
parent b157b8a291
commit 2322be80c0
1 changed files with 37 additions and 44 deletions

View File

@ -186,12 +186,12 @@ Example::
**el7** - represents distribution that was used during package building
process and generated by %{?dist} macro. For packages maintained by MOS special
suffix must be add after %{?dist} macro which represents *MOS release* during
package build process.
suffix *mos* must be add after %{?dist} macro during package build process.
This will shows that package belongs to MOS.
Example::
python-iso8601-0.1.10-1.el7 -> python-iso8601-0.1.10-1.el7~mos8.0.1
python-iso8601-0.1.10-1.el7 -> python-iso8601-0.1.10-1.el7~mos1
**Options/tags should be modified by CI/Build:**
@ -212,35 +212,35 @@ process to ensure that package version and release represents truth:
Example::
was: Release: 1%{?dist}
became: Release: 1%{?dist}~mosX.X.X
became: Release: 1%{?dist}~mosX
This modification leads to transformations as follows::
python-iso8601-0.1.10-1.el7 -> python-iso8601-0.1.10-1.el7~mos8.0.1
python-iso8601-0.1.10-1.el7 -> python-iso8601-0.1.10-1.el7~mos1
**Subsequent version:**
This number represents amount of commits into code since last tag change in
current code branch and must be added after **mosX.X**.
current code branch and must be added after **mos**.
Example::
python-heat-2015.2-1.el7~mos8.0.123 -> python-heat-2015.2-1.el7~mos8.0.124
python-heat-2015.2-1.el7~mos123 -> python-heat-2015.2-1.el7~mos124
**Structure of release part for packages maintained by Mirantis:**
python-iso8601-0.1.10-1.%{?dist}~mos8.0.1
python-iso8601-0.1.10-1.%{?dist}~mos1
Where:
- ~ separator from base Linux distro version
- mosX.X - X.X represents major and minor version of MOS release.
- 3rd X - represents commits number since last tag/branch update in code.
- mos - shows that package belongs to MOS and maintained by Mirantis.
- X - represents commits number since last tag/branch update in code.
For example we have python-iso8601 package with code version = *0.1.10*
- package release = *1*,
- %{?dist} = Linux distro name(el7),
- MOS release = *mos8.0*,
- package maintained by Mirantis = *mos*,
- commits number into code within code version 0.1.10 = *1*.
Only packages from *security* repository should have security update
@ -249,23 +249,22 @@ bundle number at the very end!
Regular packages should only have commits number for the very last
value in version string.
--------
Backport
--------
------------------------------
Backport from external sources
------------------------------
If package needs to be backported by any reason - name and version must be
The name and the upstream version of a package backported from external sources
(EPEL, newer Fedora releases, etc) - name and version must be
kept. Modification required for *release* part, initial revision of a package
also should be preserved. Any further modifications of package will be
represented in commits number which follows after *mosX.X*. By default this
represented in commits number which follows after *mos*. By default this
value will be always set to 1 and will be increased in case of package
modification.
Example::
python-iso8601-0.1.10-1.el7 ->
python-iso8601-0.1.10-1.el7~mos8.0.1
python-iso8601-0.1.10-1.el7~mos8.0.1 ->
python-iso8601-0.1.10-1.el7~mos8.0.2
python-iso8601-0.1.10-1.el7 -> python-iso8601-0.1.10-1.el7~mos1
python-iso8601-0.1.10-1.el7~mos1 -> python-iso8601-0.1.10-1.el7~mos2
--------------
Package update
@ -285,21 +284,19 @@ of further modifications of a package.
Update of dependencies within one code version(*non OpenStack*)::
python-iso8601-0.1.10-1.el7~mos8.0.1 ->
python-iso8601-0.1.10-1.el7~mos8.0.2
python-iso8601-0.1.10-1.el7~mos1 -> python-iso8601-0.1.10-1.el7~mos2
Update of dependencies in case of code version update(*non OpenStack*)::
python-iso8601-0.1.10-1.el7~mos8.0.1 ->
python-iso8601-0.1.11-1.el7~mos8.0.1
python-iso8601-0.1.10-1.el7~mos1 -> python-iso8601-0.1.11-1.el7~mos1
Update of OpenStack project - SPEC changed::
python-heat-2015.2-1.el7~mos8.0.123 -> python-heat-2015.2-2.el7~mos8.0.123
python-heat-2015.2-1.el7~mos123 -> python-heat-2015.2-2.el7~mos123
Update of OpenStack project - code tag/branch changed::
python-heat-2015.2-1.el7~mos8.0.123 -> python-heat-2015.3-1.el7~mos8.0.1
python-heat-2015.2-1.el7~mos123 -> python-heat-2015.3-1.el7~mos0
----------------------------------------------
Versioning of packages in post-release updates
@ -314,10 +311,8 @@ repository.
Example::
python-iso8601-0.1.10-1.el7~mos8.0.200 ->
python-iso8601-0.1.11-1.el7~mos8.0.201
python-heat-2015.2-1.el7~mos8.0.200 ->
python-heat-2015.2-1.el7~mos8.0.201
python-iso8601-0.1.10-1.el7~mos200 -> python-iso8601-0.1.11-1.el7~mos201
python-heat-2015.2-1.el7~mos200 -> python-heat-2015.2-1.el7~mos201
**Security updates:**
@ -328,10 +323,8 @@ bundle number.
Example::
python-iso8601-0.1.10-1.el7~mos8.0.201 ->
python-iso8601-0.1.11-1.el7~mos8.0.201.sec.1
python-heat-2015.2-1.el7~mos8.0.201 ->
python-heat-2015.2-1.el7~mos8.0.201.sec.1
python-iso8601-0.1.10-1.el7~mos201 -> python-iso8601-0.1.11-1.el7~mos201.1
python-heat-2015.2-1.el7~mos201 -> python-heat-2015.2-1.el7~mos201.1
**Work with branches within updates:**
@ -384,20 +377,21 @@ Security updates branch::
project: python-iso8601
branch: security-1
number of commits: 2
security update tag: sec.1
security update tag: 1
tag: 0.1.10
Transformations within ongoing MOS releases as for dependencies as for
OpenStack projects::
mos8.0: python-iso8601-0.1.10-1~mos8.0.1
mos8.0: python-heat-2015.2-1.el7~mos8.0.1
mos8.0-updates: python-iso8601-0.1.10-1~mos8.0.2
mos8.0-updates: python-heat-2015.2-1.el7~mos8.0.2
mos8.0-security-updates: python-iso8601-0.1.10-1~mos8.0.2.sec.1
mos8.0-security-updates: python-heat-2015.2-1.el7~mos8.0.2.sec.1
mos8.1: python-iso8601-0.1.10-1~mos8.1.1
mos8.1: python-heat-2015.2-1.el7~mos8.1.1
mos8.0: python-iso8601-0.1.10-1~mos1
mos8.0: python-heat-2015.2-1.el7~mos1
mos8.0-updates: python-iso8601-0.1.10-1~mos2
mos8.0-updates: python-heat-2015.2-1.el7~mos2
mos8.0-security-updates: python-iso8601-0.1.10-1~mos2.1
mos8.0-security-updates: python-heat-2015.2-1.el7~mos2.1
Next version of MOS released:
mos9.0: python-iso8601-0.1.10-1~mos3
mos9.0: python-heat-2015.2-1.el7~mos3
All the current security fixes should be included into upcoming update bundle.
This means that if a new security fix gets into repository while new update
@ -483,7 +477,6 @@ Work Items
Dependencies
============
.. _separate_mos_from_linux: https://github.com/stackforge/fuel-specs/blob/master/specs/6.1/separate-mos-from-linux.rst
------------
Testing, QA