Hi all,

 

What are people’s thoughts on CPAN and Carton (the Perl version of Bundler, Composer, NPM, etc)?

 

I like the idea as a way of more easily managing Perl dependencies regardless of Linux distribution and version; in other words, we could provide the same dependencies regardless of being on Debian Jessie/Debian Stretch/Debian Buster or Ubuntu or Fedora or RHEL or OpenSUSE.

 

I suppose the difficulty is how we do a community-friendly deployment? I see two main options:

  1. Have the Debian package run “carton install” automatically during install/upgrade
    1. This could be error prone and difficult to support…
  2. Have the Koha Debian Package Manager run “carton install” when building the package, and embed the Perl modules in the Koha package
    1. It’s unknown how much this would increase the size of the Koha package

 

It looks like there is some precedence within Debian for embedding modules in a Debian package:

https://wiki.debian.org/Javascript/Nodejs/Npm2Deb/Embedding

https://wiki.debian.org/Javascript/GroupSourcesTutorial

 

I think Debian and Ubuntu would (and perhaps should) still be first class citizens, but it would mean it would be easier to have RPM packages too – whether they’re official, semi-official, or unofficial. I have a lot of experience building RPM packages for CentOS/RHEL and OpenSUSE, so I’d be willing to be involved in some capacity there.

 

I think retaining Debian packages is important, because we have a number of non-Perl dependencies, and the Debian packages provide a lot of very useful automation.

 

Anyway, please share your thoughts. Victor and Martin brought it up on #koha, and I figured I’d continue the conversation here.

 

Personally, I’m moving away from packaging Perl dependencies as Debian packages for non-Koha projects, because it makes porting the projects to a newer version of the same OS much more difficult.

 

I know using Debian’s Perl packages have a lot of advantages, as they’re tested, reviewed, and patched, but I think it might be time to consider a change.

 

David Cook

Systems Librarian

Prosentient Systems

72/330 Wattle St

Ultimo, NSW 2007

Australia

 

Office: 02 9212 0899

Online: 02 8005 0595