Migrating my website workspace, part 1

My website is maintained by a rather complex amalgamation of software,
accreted over generations. Having migrated it from my old desktop
lickity to my new(ish) PowerBook Ariel, I now want to migrate it
again to my new server Tranq (a Tranquil PC T2); this will allow me to use cron to keep
some parts up-to-date automatically.

So what software do I need to install to do this?

TclHTML, my quirky Tcl-based HTML-generating system; I ended up
using the version from CVS, which suggests I should create a new
distribution some day. Spent some time trying to infer from the
tutorial information on SourceForge what the host name of the CVS
server is; it has changed since I last needed to connect.

The Debian package python-dev, because Debian does not include the
distutils package in their standard Python install (another evening annoyingly spent on Google
to discover what this package-fragment was called).

PyYaml, which I use in the program that downloads things like
my Flickr badge.

even though libxml2 is already installed, I
have to install a Debian ackage xsltproc to get the xsltproc command
that I have recently started using to generate some
recent additions to the site (like the Flickr badge, which is in SVG
generated from XML cobbled together from the JavaScript code used to
make the standard Flash-based Flickr badge).

Something to render SVG as PNG. This turns out to be something of a
blocker -- see below.

This is as far as I have got since I started earlier this week
(Wednesday).

For the love of SVG

SVG is a standard for vector graphics. It is relatively easy to generate
graphics files -- you can even use a plain old text editor at a pinch --
and there is a fairly detailed spec for how to render them. I use SVG on
my web site to do a lot of the graphics, including the Flickr icons.
Because web browsers have trouble displaying SVG graphics in the same
way they display PNG, GIF and JPEG, I have been converting them to PNG
using Batik.

Batik requires Java, which is installed as standard on Mac OS X.
On Tranq, running Debian GNU/Linux things are more complicated.
Debian's package lists three different JVMs with (as usual) no guidance
as to which I might want to install. This is a common problem with
package-based systems: they concentrate more on ensuring that every
possible variation is available than on helping users determine which
packages they actually want. None of the JVM websites can tell me at a
glance whether they implement all of Java (or at least all of it that I
need), and there is a nasty implication that I have to acquire the class
library as a whole separate package (probably several packages). In short, installing all the
prerequisites of Batik looks like a difficult job. What other SVG
renderers are there?

So far as I can ascertain there are two strands of development of SVG as
conventional Unix programs (written in C or C++ as opposed to Java):
librsvg2 (used by GNOME) and libsvg-cairo, part of Cairo, which is
hosted on Freedesktop.org.

On Debian it turns out that installing librsvg2 does not get you the
command-line utilities;
one needs to install an additional librsvg2-bin
package to get the program rsvg. Having done all this, I have
discovered that librsvg2 does not
understand HTTP URLs. Since I refer to the images on Flickr's server
directly, it cannot process my Flickr icons. I need to change my
program that makes the badges to download the image files itself.

The Cairo-based SVG package is not yet part of
Debian proper (although libcairo itself is, according to Debian bug
216196). There is a repository of Debian package files in
http://cairographics/packages/debian/, but (not being a Debian wizard
yet) I have not found a way to get APT to exploit them; it expects them
to have a more complicated directory structure. Maybe I am supposed to
download and install the .deb files individually and install them
myself, but that is an adventure for another day: the tinkering time I
had to spare today is exhausted.