Building varnish rpms from a git checkout

Ingvar Hagelund ingvar at
Fri Jun 24 00:39:09 CEST 2011

Hi, neurox. IRC dumps below. The major points are:

* Varnish needs a brand new version of python-sphinx and other
  related packages to build the docs
* Older platforms, like RHEL5 and clones does not have that
* Solution: Cut a dist tarball on a modern Linux distro, like
  Fedora 15 or RHEL6+EPEL6. Modern Debian/Ubuntu will probably
  also work fine. This will prebuild the docs, and stuff them
  in a "release" tarball. Then use that tarball to build the
  actual rpms on any older Red Hat based OS.

Step-by-step details at

Good luck,


09:59 < neurox> Anyone here with experience with building Varnish RPMs on 
14:09 < superdupersheep> neurox: varnish already has RPMs for RHEL + CentOS
14:09 < neurox> superdupersheep: ... trunk. phk fixed some issues yesterday 
                that I need.
14:10 < superdupersheep> there might be a spec file in trunk somewhere?
14:10 < superdupersheep> there must be a spec file somewhere, and that'll be 
                         all you need
14:10 < neurox> it won't compile, since it needs the latest python-sphinx, 
                which is a bit of a bitch to compile on CentOS.
14:10 < neurox> no it isn't. I need python-sphinx.
14:11 < superdupersheep> neurox: is that a build-time requirement, or a runtime 
14:11 < neurox> build-time.
14:11 < neurox> In the build-docs, it's suggested to do a "make dist", which 
                requires python-sphinx.
14:11 < neurox> before building the rpm.
14:12 < superdupersheep> checked EPEL and EPEL-testing for a python-sphinx RPM?
14:12 < superdupersheep> (sufficiently new, of course)
14:14 < superdupersheep> looks like python-sphinx just generates the docs, so 
                         you can probably skip that step
14:14 < neurox> superdupersheep: it's been done - the latest alternative 
                python-sphinx lacks support for todo's which is used in the 
                Varnish docs.
14:15 < neurox> superdupersheep: yep, docs, but then I should mess around with 
                the original makefile to surgically remove it.
14:17 < Kristian> neurox: or use a tar-ball

14:21 < neurox> Kristian: I'm an rpm kinda guy, but that's a whole other 
                discussion. I was just wondering what the guy that actually 
                *build* the CentOS/RHEL packages has done.
14:26 < Kristian> magic
14:26 < Kristian> ingvar?
14:42 < neurox> Yeah, I think it was Ingvar who wrote some info about rpm 
                packaging, but nothing about python-sphinx.
14:42 <@Mithrandir> neurox: rpmbuild on the daily snapshots ought to work.
14:43 < neurox> Mithrandir: if it has sphinx-documentation in it, it will fail 
                with the vanilla python-sphinx on CentOS/RHEL.
14:43 <@Mithrandir> it ships with prebuilt docs.
14:44 < neurox> Oooh.
14:44 < neurox> Now you're talking.
14:44 < neurox> and since it's autogenerated at ~02:15 it should have phk's 
                fixes from last night. Excellent.
14:55 < neurox> It would be a beautiful thing if "rpmbuild -ta 
                varnish-trunk+2011-06-23.tar.gz" actually worked. I'll see if I 
                can fix it.
14:56 < superdupersheep> weehee RPM building
15:14 <@Mithrandir> neurox: it should work, given it's how the buildbots build 
                    it. :-)
15:16 < neurox> the included spec-file in the trunk snapshots is broken, but 
                with a little tweaking it worked.

23:03 < ingvar> Does anybody know anything about this "neurox"?
23:04 < ingvar> He asked after me on some rpm bulid thingie. I can answer via 
                email, if I had known who he was.
23:05 < ingvar> I tested building rpms from trunk on Tuesday. Worked as a charm.
23:09 < scoof> ingvar: I know him a bit
23:15 < ingvar> scoof: I think he tried to build directly from a git checkout. 
                That won't work. He has to cut a dist first (make dist). That 
                will prebuild the docs, and put them in a distribution tarball. 
                Then he can run rpmbuild on that.
23:16 < ingvar> RHEL5 (and older) does not have new enough python-sphinx and 
                other stuff to build the docs :-/
23:16 < ingvar> so they have to be pre-built
23:20 < scoof> ingvar: noted. I'll paste when I see him
23:21 < ingvar> thanks

More information about the varnish-dist mailing list