(add koji untag-pkg command) |
(add periodic check code examples) |
||
Line 33: | Line 33: | ||
<pre> | <pre> | ||
$ koji untag-pkg --all dist-f13-override libwnck | $ koji untag-pkg --all dist-f13-override libwnck | ||
</pre> | |||
=== Periodic cleanup === | |||
Periodically check the -override tag for stale tags via [https://fedorahosted.org/rel-eng/browser/scripts/clean-overrides.py <code></code><code>clean-overrides.py</code><code></code>]. | |||
<pre> | |||
$ ./clean-overrides.py dist-f12-{override,updates} | |||
Builds that exist both in dist-f12-override and dist-f12-updates: | |||
libsepol-2.0.41-3.fc12 | |||
xulrunner-1.9.1.8-1.fc12 | |||
polkit-qt-0.95.1-3.fc12 | |||
drumstick-0.2.99-0.3.20100208svn.fc12 | |||
milia-0.3.0-2.fc12 | |||
libimobiledevice-0.9.7-2.fc12 | |||
libplist-1.2-1.fc12 | |||
pki-symkey-1.3.2-3.fc12 | |||
ppp-2.4.5-2.fc12 | |||
Builds that are older in dist-f12-override than in dist-f12-updates. | |||
usbmuxd-1.0.0-3.fc12 | |||
Suggest: koji untag-pkg --force dist-f12-override libsepol-2.0.41-3.fc12 xulrunner-1.9.1.8-1.fc12 polkit-qt-0.95.1-3.fc12 drumstick-0.2.99-0.3.20100208svn.fc12 milia-0.3.0-2.fc12 libimobiledevice-0.9.7-2.fc12 libplist-1.2-1.fc12 pki-symkey-1.3.2-3.fc12 ppp-2.4.5-2.fc12 usbmuxd-1.0.0-3.fc12 | |||
</pre> | |||
Now run the suggested command if it looks sane: | |||
<pre> | |||
koji untag-pkg --force dist-f12-override libsepol-2.0.41-3.fc12 xulrunner-1.9.1.8-1.fc12 polkit-qt-0.95.1-3.fc12 drumstick-0.2.99-0.3.20100208svn.fc12 milia-0.3.0-2.fc12 libimobiledevice-0.9.7-2.fc12 libplist-1.2-1.fc12 pki-symkey-1.3.2-3.fc12 ppp-2.4.5-2.fc12 usbmuxd-1.0.0-3.fc12 | |||
</pre> | |||
To check several releases at once, use a bash for loop: | |||
<pre> | |||
$ for release in {11..13}; do ./clean-overrides.py dist-f$release-{override,updates}; done | |||
</pre> | </pre> | ||
Line 52: | Line 84: | ||
* Once tagged, new repodata may take 20~ minutes to generate and the build to be available in buildroots. | * 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 | * Buildroot overrides usually means that something is soname bumping. Be sure this is a sane update to do in Fedora | ||
[[Category:Release Engineering SOPs]] | [[Category:Release Engineering SOPs]] |
Revision as of 22:33, 23 February 2010
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
Find tag requests
Tag requests are usually reporeted in the rel-eng trac instance at Fedorahosted in the component koji. You can use a trac query to list all unassigned Koji tickets. This query also includes requests, that are not a tag request, because there is no automated way to distinguish them. The results of the query are also available as an RSS feed, the link is in the footer of the page.
Perform the tagging
First assign the ticket to yourself to show, that you are handling the request. Then 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.f13 available in the F13 buildroots we would issue:
$ koji tag-pkg --force dist-f13-override libwnck-2.18.2-2.fc13
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-f13
in this case, and end in
-override
.
Revert the tagging
Once dependant builds are done, the -override should be cleared. Use koji untag-pkg
to accomplish this. Usually the requester reports in the ticket, when the override is no longer needed. After untagging the package and verification close the ticket.
$ koji untag-pkg --all dist-f13-override libwnck
Periodic cleanup
Periodically check the -override tag for stale tags via clean-overrides.py
.
$ ./clean-overrides.py dist-f12-{override,updates} Builds that exist both in dist-f12-override and dist-f12-updates: libsepol-2.0.41-3.fc12 xulrunner-1.9.1.8-1.fc12 polkit-qt-0.95.1-3.fc12 drumstick-0.2.99-0.3.20100208svn.fc12 milia-0.3.0-2.fc12 libimobiledevice-0.9.7-2.fc12 libplist-1.2-1.fc12 pki-symkey-1.3.2-3.fc12 ppp-2.4.5-2.fc12 Builds that are older in dist-f12-override than in dist-f12-updates. usbmuxd-1.0.0-3.fc12 Suggest: koji untag-pkg --force dist-f12-override libsepol-2.0.41-3.fc12 xulrunner-1.9.1.8-1.fc12 polkit-qt-0.95.1-3.fc12 drumstick-0.2.99-0.3.20100208svn.fc12 milia-0.3.0-2.fc12 libimobiledevice-0.9.7-2.fc12 libplist-1.2-1.fc12 pki-symkey-1.3.2-3.fc12 ppp-2.4.5-2.fc12 usbmuxd-1.0.0-3.fc12
Now run the suggested command if it looks sane:
koji untag-pkg --force dist-f12-override libsepol-2.0.41-3.fc12 xulrunner-1.9.1.8-1.fc12 polkit-qt-0.95.1-3.fc12 drumstick-0.2.99-0.3.20100208svn.fc12 milia-0.3.0-2.fc12 libimobiledevice-0.9.7-2.fc12 libplist-1.2-1.fc12 pki-symkey-1.3.2-3.fc12 ppp-2.4.5-2.fc12 usbmuxd-1.0.0-3.fc12
To check several releases at once, use a bash for loop:
$ for release in {11..13}; do ./clean-overrides.py dist-f$release-{override,updates}; done
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-f13-build libwnck Build Tag Built by ---------------------------------------- -------------------- ---------------- libwnck-2.18.2-2.fc13 dist-f13-override rhughes
We should see the build nvr we tagged, and see that it is coming from the -override tag.
Consider Before Running
- 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