[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Using Koji for building Extras

Since this topic will be in the next meeting, I thought I'd write up the state 
of things.

While we don't feel comfortable with the build resources to move Core over to 
koji, we obviously have enough resources to build Extras.  I'd like to work 
toward building Extras within Koji very soon which will have the benefits of 
more people using koji, more time to prepare tools around koji, and make the 
final merger that much easier.

What will it take?

Currently I've synced over all the fc6, fc6updates, and fc6 updates candidate 
packages and fc7 from Core into Koji.  I've setup a cron job to freshen these 
each night (could run more often possibly).  This will in essence give Koji a 
once a day snapshot of Core content, much like nightly rawhide gives plague a 
snapshot of Core content.

Next we will have to import all the Extras content.  We can just import the 
devel content since we won't necessarily need inheritance, will we?  Do the 
devel pushes grab any FC6 content when populating the development tree?  
Regardless, I'd want to import them into a dist-fe7 tag, which inherits from 
dist-fc7, which inherits from dist-fc6.  I don't want them directly in 
dist-fc7 yet as it will be harder to publish just the Extras packages.  Once 
packages are imported and tagged, we can flip the Makefile.common changes so 
that 'make build' on devel/ will invoke koji instead of plague.  Dennis 
Gilmore wrote a script that I packaged up in the latest koji package that 
will convert existing plague environments over to koji (without disrupting 
the plague setup).

Then we'll need some software to do the actual signing + pushing of packages.  
I'd imagine much of the same scripts could be used, we'd just have to bolt on 
some code that will take the packages out of koji and drop them into 
a 'needsign' like queue that the push scripts could work from.  It is pretty 
simple/straight forward to ask koji for all the latest packages (without 
inheritance) from a given tag.  Then you could hardlink those into a needsign 
directory and work from there.

Finally we'd need some new code around adding new packages to the collection.  
For the koji side, a simple call to koji add-pkg --owner <username> <tag> is 
all that is needed.  Of course there will also need to be some 
synchronization around changing ownership too, if an admin changes ownership 
in owners.list, they'd need to change it withink koji, koji set-pkg-owner 
<tag> or koji set-pkg-owner-global if changing it for all tags.  Not hard, 
and maybe best to just do it by handish until we merge together owners.list, 
packagedb, and koji db.  Package ownership within Bugzilla should continue to 
be generated from owners.list and thus not need any updating at this time.

What do you all think of this plan, or the idea in general of getting Extras 
to use Koji now, while we wait for more hardware to be able to merge in Core?  
At the time of merger, since all the tags would be being kept up to date 
anyway, we'd just have to add all the existing Extras packages to the 
dist-fc7 tag, and tag all the latest dist-fe7 packages with dist-fc7, then 
decomission the dist-fe7 tag.

Jesse Keating
Release Engineer: Fedora

Attachment: pgpGoZD17c1wl.pgp
Description: PGP signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]