How do I shot buildserver?

For the longest time I’ve had it on my mind to set up a Kde buildserver which would generate weekly rpm snapshots of trunk for me and a small groups of friends to test the latest trunk and various Fedora packages with minimal hassles.

For the last week or two I’ve been setting up this server; getting a working repo mirror of all my repositories (fedora, updates, kde, kde-testing, kde-unstable) and setting it up to be accessible outside of my LAN. It looks as though my ISP hates me though, and has most ports filtered and the rest have deep packet inspection, etc. All of this is solvable, and will be moot at university, but the actual buildscripts are beginning to be more of a hassle. I need a tools that can automate as much as possible in my setup. Sorting newly added files into the correct subpackages is of course not a task I’d expect any buildsystem to be able to handle but that should happen rarely enough that the builder should only send me an email to let me know and be sufficient. The first and most obvious script that comes to mind is Micheal Pyne’s awesome kdesvn-build, but my perl-fu is probably not enough to hack the features I’d like onto it. 😦 I know that buildsystems like these have to be fairly common, but I haven’t really found anything that fits my needs:

  1. Update various svn and git repositories and spin tarballs of them.
  2. Reposync my local repositories.
  3. Update a spec file to point to these tarballs and update the Version: tag.
  4. Generate an srpm for each package.
  5. Fire said srpm at a local mock or koji instance.
  6. Make sure builds are successful.
  7. Toss what is completed into a local repo.
  8. Mail log files of failed builds to me.
  9. Run createrepo on the final repository.

Annnnnd the floor is open!

Powered by Blogilo


~ by Ryan Rix on 15 April 2010.

4 Responses to “How do I shot buildserver?”

  1. […] This post was mentioned on Twitter by Planet Fedora, Zuissi. Zuissi said: Fedora: Ryan Rix: How do I shot buildserver?: For the longest time I’ve had it on my mind to set up a Kde buildser… […]

  2. […] Visit link: Ryan Rix: How do I shot buildserver? […]

  3. We’re using at work for about a year now. We set it up to do daily full builds and incremental builds for Windows, Mac and Linux. It is quite flexible, but you still have to get into python.

  4. You could add Fedora specfiles to the KDE trunk weekly snapshot project in the Build Service. We are already doing steps 1-9 for openSUSE. All you would have to do to repeat it for Fedora is create a branched project of KDE:KDE4:UNSTABLE:Desktop, and in your branch, replace the openSUSE specific specfiles with the Fedora ones. Since it’s a branch, changes in the original affect the branch, meaning that when we update the tarballs every week (Dirk runs a script for this) the branches rebuild too. The status mails (8) are handled by, a messaging service written by Klaas Freitag (of Kooka and Kraft fame).

    No python needed, just some specfile uploading.

    Ping me on IRC if you need any more reasons to use it…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: