Packaging Blosxom

I'm currently working on packaging blosxom as an RPM for deployment on a few different RedHat/CentOS servers I administer. With most small-medium software packages this is pretty straightforward - write a simple spec file, double-check the INSTALL instructions, and replicate those in the spec file. It's rather more challenging with blosxom.

blosxom's roots are in supporting extremely minimalist environments. It's reasonably straightforward to setup blosxom on a 1990s shared web hosting account with only the most basic CGI support, and only FTP access to the server for your files.

Blosxom itself is a single perl CGI script, which you configure by setting a few variables at the top of the script. Blosxom plugins, which are used to implement lots of the functionality in blosxom, are likewise little perl modules configured (if necessary) at the beginning of each plugin. In a shared web hosting environment you'd configure blosxom itself and your plugins the way you'd like, and then upload them to your server home directory via FTP.

Fast forward to 2007, where virtual linux servers with full root access are available for US$15/month, with prices continually dropping. In this kind of environment the whole mixing-configuration-and-code thing becomes much more of a liability than a feature.

There's a debian package available, so the debian guys have made a start of wrestling with some of these issues - they patch blosxom to allow it to use an external config, for example. I've done something similar, and am realising I'm going to want to support the same kind of thing with plugins.

So here's my current wishlist for a blosxom RPM:

  • the ability to install one of more blosxom packages and get blosxom itself, a good set of blosxom plugins, and a good set of blosxom flavours and themes all ready to go

  • a proper separation between config and code, so that I can upgrade any of my blosxom packages without having to worry about losing config settings

  • an easy way of configuring exactly what plugins and themes are used for my blog

  • most standard modern blog features available more-or-less out-of-the-box (e.g. comments and spam protection, support for sending "trackback":wikipedia:Trackback pings, support for receiving trackbacks and "pingbacks":wikipedia:Pingback, OpenID support, support for microformats, etc.)

  • multi-user and multi-blog support, so that an installed blosxom can be used for multiple blogs

  • mod_perl support, for scalability

That's my current wishlist anyway. I'm still trying to figure out whether others in the blosxom development community are interested in any of this stuff too, or whether they all just still use FTP. ;-)

blog comments powered by Disqus