From Fedora Project Wiki

Revision as of 18:24, 14 February 2009 by Toshio (talk | contribs) (Add Category)

Build Root Overrides - SOP

Description

As it currently stands, the buildroots used for Fedora updates building are not self updating. They only contains things from the release, and stable released updates. This means that one update candidate cannot be built against another update candidate without rel-eng interaction. That interaction is to tag a build for an "override" collection which will make it available in the buildroot for future builds.

Action

To tag a package for an override collection, use the tag-pkg method of Koji.

$ koji tag-pkg --help
Usage: koji tag-pkg [options]  <tag> <pkg> [<pkg>...] 
(Specify the --help global option for a list of other help options)

Options:
-h, --help  show this help message and exit
--force     force operation
--nowait    Do not wait on task

For example, if we were asked to make libwnck-2.18.2-2.fc7 available in the F7 buildroots we would issue:

$ koji tag-pkg --force dist-fc7-override libwnck-2.18.2-2.fc7

Important to notice that we used the --force option. This is necessary as the -override tags are locked. Only admins are allowed to tag packages for these collections.
By convention override tags start with the base collection, dist-fc7 in this case, and end in -override.

Verification

To verify that the tag was successful and the build will be available in the buildroot use the latest-pkg koji command:

$ koji latest-pkg dist-fc7-build libwnck
Build                                     Tag                   Built by
----------------------------------------  --------------------  ----------------
libwnck-2.18.2-2.fc7                      dist-fc7-override     rhughes

We should see the build nvr we tagged, and see that it is coming from the -override tag.

Considerations

  • Once tagged, new repodata may take 20~ minutes to generate and the build to be available in buildroots.
  • Buildroot overrides usually means that something is soname bumping. Be sure this is a sane update to do in Fedora
  • Once dependant builds are done, the -override should be cleared. Use koji untag-pkg to accomplish this.
  • Periodically check the -override tag for stale tags via clean-overrides.py found in Fedora releng git.