There are source RPMs available at http://rosalyn.dyn.slamb.org/yum/centos4/SRPMS/. These can be used to produce binary RPMs for any distribution and architecture. The three necessary packages are:

  • python-zope-interface
  • python-twisted
  • buildbot

You will likely want these optional dependencies as well:

  • python-twisted-web - for the waterfall display
  • python-twisted-mail - for status emailers

Building RPMs

It's most convenient to build in a non-root environment that can be created as follows:

$ mkdir -p ~/rpms/{sources,build,rpms}
$ cat > ~/.rpmmacros <<EOF
%_topdir        $HOME/rpms
%_builddir      %{_topdir}/build
%_sourcedir     %{_topdir}/sources/%{name}-%{version}
%_specdir       %{_sourcedir}

# Put directly into rpms directory, not srpms or rpms/%{arch}
%_rpmfilename   %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
%_rpmdir        %{_topdir}/rpms
%_srcrpmdir     %{_topdir}/rpms
EOF

Note that with the <<EOF syntax, this produces a file with $HOME expanded. rpmbuild does not expand environmental variables for you.

A command sequence like the following should produce all necessary RPMs:

$ rpmbuild --rebuild --define 'dist .centos4' http://rosalyn.dyn.slamb.org/yum/centos4/SRPMS/python-zope-interface-3.0.1-3.centos4.slamb.src.rpm
$ sudo rpm -Uvh ~/rpms/rpms/python-zope-interface-3.0.1-3.centos4.slamb.x86_64.rpm
$ rpmbuild --rebuild --define 'dist .centos4' http://rosalyn.dyn.slamb.org/yum/centos4/SRPMS/python-twisted-2.4.0-1.centos4.slamb.src.rpm
$ sudo rpm -Uvh ~/rpms/rpms/http://rosalyn.dyn.slamb.org/yum/centos4/SRPMS/python-twisted-2.4.0-1.centos4.slamb.x86_64.rpm
$ rpmbuild --rebuild --define 'dist .centos4' http://rosalyn.dyn.slamb.org/yum/centos4/SRPMS/buildbot-0.7.5-1.centos4.slamb.src.rpm

Note the mixed build and installation commands - later RPMs dependent on former ones to build (test) as well as to run.

You can change the --define 'dist .centos4' to match your distribution or omit it entirely. It can be convenient to have the distribution name in the release (and thus filename) of packages built for that distribution.

You can examine each spec file and make alterations as follows:

$ cd ~/rpms/sources/buildbot-*
$ vim buildbot.spec
$ rpmbuild -ba buildbot.spec

External links