[ILUG] Build Systems

Darragh Bailey felix at compsoc.nuigalway.ie
Thu Sep 8 15:31:24 IST 2005


In my current roles as managing an automated nightly distro build system, I find
myself at the stage of needing to redesign and rebuild the system from scratch.

I inherited a series of scripts that perform the task or rebuilding packages
(rpms) and bringing all the build parts together from a specialised distro.
Problem is that instead of each component having a a seperate script that
manages the building of that component, everything is in one script. That's not
all, part of the system uses makefiles to start the build of various packages
but they all need to be rewritten since they run everything instead of only when
there has been a modification to the source files involved in creating a
package.

The few scripts involved have been hacked numerous times to add in support for
various new versions of software, i.e. to manage changed build mechanisms of new
versiosn, new features, etc. So while it will be possible to reuse parts of the
code, it needs a basic design and layout overhaul.


I expect that even if I get an existing build system that I will have to write
much of the code that performs the task, in this case I'm looking a lot at GNU
Make since it seems to have a very nice ability if used right to perform builds
of only the packages that have had there source files changed.


So what I would be looking for in a build system is:
central access point
capable of being given a target machine and basic settings to start a build
reporting of success/failure/warnings/errors to a web interface where developers
can check out the status of the builds.

Also nice would be capabilities already built in to
check out sources from cvs
determine if build is required at all (i.e. was there any changes since the last
checkout)


I can write everything from scratch myself, but if anyone else is familiar with
automated build systems and know of a few, I'd appreciate your views, or links
to build systems


Already looking at
Buildbot http://buildbot.sourceforge.net
OpenBuildFarm http://gna.org/projects/obf


Most interested in build systems developed around rpm distributions, although I
would like to try and keep the core system capable of building using different
packaging technologies if possible.


--
Darragh

"Nothing's foolproof to a sufficently talented fool"



More information about the ILUG mailing list