Project

General

Profile

« Previous | Next » 

Revision f1375ed8

Added by Dominic Cleal about 9 years ago

Better branched builds with Foreman version macro

Packages (plugins) built on foreman output different binary RPMs due to the
version of Foreman they're built against, as macros change. The .fm1_9 string
is put into the release field to differentiate the EVRs, since koji and tito
both rely on its uniqueness - building the same EVR on rpm/1.8 and rpm/1.7 to
get both 1.8 and 1.7 builds would otherwise not be possible.

(Consider `rubygem-foreman_docker-1.2.4-1.el7` where %post might have
different behaviour between versions, so `-1.fm1_8.el7` allows both to exist.)

This adds a foremandist macro to foreman-release, which is used in plugin
release fields to differentiate them. It will be added to the buildroots in
koji so it can be expanded. (`Release: 1
{?foremandist}%{?dist}`)

For tito, the tag_suffix configuration is set so the version number is also
included in its git tags for uniqueness across branches.

This is a pre-req for our own SCL, as rebuilding packages on multiple branches
will be common when the SCL configuration differs, instead of retagging. It
will perhaps allow us to build most plugins on versioned branches easily rather
than retagging develop builds to older versions.

All packages using Foreman at build time have the dist tag added to release.

  • added
  • modified
  • copied
  • renamed
  • deleted