backporting OpenLDAP to old distros

backporting OpenLDAP to old distros

It would be really nice if those projects that consider themselves to be major pieces of infrastructure made it a priority to support a build on stock vendor releases of distros older than the current release.

I’m trying to build OpenLDAP 2.3.20 on Red Hat 7.3. Yes, that sounds like a bad idea, and it is quite painful. This pain is mostly due to the versions of Berkeley DB that OpenLDAP wants to build against: Red Hat 7.3 shipped with BDB 3.3.11; it wants at least version 4, bud the configure script makes it quite clear that version 4.1 isn’t supported.

The LDBM backend can use older BDBs, i.e. 3.x, but OpenLDAP 2.2 deprecates the LDBM backend in favour of back-bdb. That concerns me for a 2.3 series build of OpenLDAP: is it still stable, or has it been left to rot? Of course the test suite doesn’t cover the LDBM backend…

I would really like to not have to build for this old OS version, but sadly it exists and it needs to be a syncrepl slave. In order to finally put this box to rest it needs to have OpenLDAP running, so that we can migrate the services off it with minimal outage. There are so many bugs running OpenLDAP on this box that I want to try this 2.3 series version on it, in the same configuration as every other machine on the network, but the more I work on it, the less it feels like I’m making any progress on it at all.

Fighting version dependencies on old distros just isn’t fun. If the developers had considered this, and at least said “OK, well, RHEL 2.1 is still supported by Red Hat, so let’s try to configure and build on that platform too” then this wouldn’t nearly be as painful as it is.

The Annodex developers, as well as Conrads’ other projects (sweep, etc) work quite hard to make sure they build with the versions of libraries on peoples year-old desktop machines; sure this means sometimes having extra code to cope with API differences, but a small amount of effort on the developers part makes a massive difference when you think about how much time the users will spend trying to get the software to build.

It’s the little things that make the difference between an OK project and an Awesome project.

Meanwhile, on the cutting edge of RHEL 3 and 4, and FC 4 and 5, latest OpenLDAP 2.3 looks to be a really promising piece of work, the amount of work that’s gone into it since 2.2.27 is impressive, and if it works nearly as well as it looks like it will from the ChangeLog, then that’ll finally put to rest a whole lot of problems we’ve had since deploying LDAP as our authentication database.

Fingers crossed I can get there without losing all my hair.