Skip to content

RPM Packaging guidelines

Samuel VERSCHELDE edited this page Apr 1, 2019 · 8 revisions

TODO.

See https://xcp-ng.org/forum/topic/183/git-repository-structure-and-conventions-for-rpms until we've got something better.

Release tag

The Release tag versions the packaging itself (whereas the Version tag is the version of the software that we package).

Usually, any change warrants increasing the Release tag by one. However, for packages that initially come from XenServer and which we patch, we increment the release by less than one, using what is called "subrelease".

Example:

  • Initial release 3%{?dist}
  • Package is our own: increment to 4%{?dist}
  • Upstream for the source RPM is XenServer project, CentOS or other: increment to 3.1%{?dist} so that any upstream 4%{?dist} is still considered higher as ours.

About %{dist} (or %{?dist}, which is the same but better for portability because it will evaluate to an empty string if the %dist macro is not defined. In our case it always is.): our build system will replace this with .xcpng, so 3%{dist} becomes 3.xcpng when built.