March 3, 2017

Building an Ensembl .deb

Quick one today - we've been asked to build a .deb containing the same Ensembl installation as can be found in our EagleBrowser product. Turns out to be easier said than done! Whilst the basic specifying of package dependencies and provision of bugfixed/modified source code is easy enough (the modifications are to remove references to features that we disabled in the config files), and it is possible to convince Debian to let Ensembl take over the entire local Apache server instance (Ensembl doesn't play nicely at all with other sites installed on the same server instance), that still leaves the myriad Perl dependencies which are a nightmare!

A CPAN-to-deb converter exists, but that assumes that the module you need is (a) the current version, and (b) available in all repositories. With Ensembl, this isn't the case. In particular it depends on an ancient version of libwww-perl (5.808) which has almost completely disappeared from the mirrors. In fact I've only been able to find one CPAN mirror where it is still available: ftp://ftp.mirror.8086.net/sites/CPAN/ - here's hoping it stays there long enough until Ensembl manage to remove the dependency from their code!

Also I don't agree with the principal to having to create a .deb for every Perl module as this seems to me like unnecessary duplication of effort and resources in maintaining what is in effect a Debianised mirror of CPAN. If CPAN is there, and it works well enough and is able to specify exact version numbers for Perl dependencies, why not just use it? I've asked my excellent contact at DebianMed to give me his opinion on this, let's see what he says.

So for now I'm halfway there but stuck on what should really be a simple point but still not quite all the way, but watch this space, I'll keep you updated.

Topics: Bioinformatics, Debian, Ensembl