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
- Maximum RPM (also available in print as ISBN 1888172789)
- Fedora packaging guide
- Fedora Python packaging notes
- rpmlint - tool to check common errors on RPM packages
![[Buildbot Logo]](/trac/chrome/site/header-text-transparent.png)