koji using older packages in buildroots when build exists and external repos are used

Mike McLean mikem at redhat.com
Mon Dec 6 20:50:36 UTC 2010

On 12/02/2010 07:13 AM, Jon Stanley wrote:
> Yeah, but you have to tag stuff at some point, or just use scratch
> builds, right?

You can tag builds without using a tag that causes them to be picked up 
by the buildroot.

> Scratch builds get reaped after some time (at least in
> the Fedora buildsystem, and I'm not sure where/how to configure that
> behavior) and aren't nearly as easy to find as "real" builds.

koji leaves it to the administrator to clean out the scratch build 
directory. Most accomplish this with a simple cron script.

Of course, if you're using koji-gc then even "real" builds can get 
reaped, depending on your gc policy.

> How I've
> gotten around it for now is that I've got a dist-rhel55 and
> dist-rhel53 tags, with dist-rhel53-build and dist-rhel55-build as
> build tags. When I do a build, I'll then either build the 5.5 version
> of the same thing, or I'll untag the package, then tag it with an
> 'updated-content' tag, which doesn't get used anywhere.

Depending on how often you want to override builds in the external repo, 
you might go with an inheritance like this

    * (external 5.5 repo)
    - dist-rhel55-override

    (no inheritance)

target dist-rhel55 uses dist-rhel55-build
target dist-rhel55-override uses dist-rhel55-build

...and similar for 5.3.
With a setup like this, your buildroots only have the external repo rpms 
and those that you have explicitly tagged (or built) in the -override tag.

On the other hand, if you want to override/add-to most of the time, you 
could do something like this:

    * (external 5.5 repo)
    - dist-rhel55

    - dist-rhel55

target dist-rhel55 uses dist-rhel55-build
target dist-rhel55-nobuild uses dist-rhel55-build

More information about the buildsys mailing list