From Fedora Project Wiki

(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
* Periodically check the -override tag for stale tags via <code></code><code>clean-overrides.py</code><code></code> found in Fedora releng git.
 


[[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