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.