[Koha-devel] Debian packages of Koha: current status and plans

Lars Wirzenius lars at catalyst.net.nz
Fri Apr 30 03:13:34 CEST 2010


For a few weeks now I have been working on and off getting Koha 
packaged for Debian. Here are my thoughts and plans.

To start with, I am targeting Koha 3.2 for Debian squeeze. Neither
is released yet, but both will hopefully release in a few weeks or
months, respectively. The reason I am targeting those is that when
I find things that need fixing, it is probably easier to fix them
in a development version than a released version.

There were five CPAN modules missing from Debian squeeze that Koha
needs. I have made Debian packages from them, and they are currently
in Debian unstable. Unless there are problems, they should get into
Debian squeeze in a week or two, and hopefully will be part of the
actual Debian release.

If any further software Koha needs, but is missing from Debian, I'll
see about getting that packaged and uploaded as well. CPAN modules
are mostly very easy.

My near-term goals are as follows:

* Get something usable out there soonish. It does not have to be
  perfect and final, just needs to work. I will make some opnionated
  choices, to keep things simpler for packaging. For example, Zebra
  will be required. More flexibility can come later after the basic
  packages work well and have been tested in various scenarios.

* The koha package is meant for someone who wants to set up Koha
  for themselves. Installing the package will set up a host for 
  one instance of Koha. The package will take care of dependencies, 
  set up the databases, cron jobs, start Zebra, and do everything 
  else to make Koha just work. Actual configuration of Koha will
  happen via the browser, on the first login to the intranet page,
  as if Koha had been installed from source.

* Those  who want to set up a host for multiple Koha instances can
  install the koha-common package instead. That package does not
  create any Koha instances , but contains scripts that will create,
  remove, enable, disable, dump, and restore Koha instances. There
  can be any number of Koha instances on the same host, and each
  instance will be independent of each other.

* Set up a Debian apt repository at debian.koha-community.org to 
  serve the Koha Debian packages. Koha is a large project and it
  will take a bit of effort to get it ready for inclusion into Debian,
  so the new repository will be helpful to those wanting to install
  Koha on their Debian machines.

As a quick example, what I want to achieve is this: if you want to
install Koha on your server, do this:

    apt-get install koha

If, on the other hand, you want to host several Koha instances on
the same server, do this instead:

    apt-get install koha-common
    koha-create --name=kotkahs --description='Kotka High School' \
        --domain=kotkahs.example.com --defaults=highschool

This will set up a new Koha instance, including databases, etc.
It will create a new superlibrarian user, and populate the database
with some sample content.

The sample content will take care of the initial setup questions
that Koha normally asks on the first intranet login. Instead, the
instance will be immediately ready to use.

In either scenario, it will be possible to enable/disable the
Koha instance, for example during system maintenance.

    koha-disable kotkahs
    apt-get upgrade
    koha-enable kotkahs

Further, it will be possible to do a dump of an instance, and
later restore the instance from the dump, possibly even on a different
machine. The dump will contain both the database and all configuration
files.

    koha-disable kotkahs
    koha-dump kotkahs
    koha-remove kotkahs
    scp /var/spool/koha/kotkahs/* newhost.example.com:
    ssh newhost.example.com
    koha-restore kotkahs-*
    koha-enable kotkahs

The dumps will be useful as backups as well.

I've implemented most of that, although in a quick-and-dirty
manner. I'm working on polishing things now, but before I go
much further, I thought I'd notify everyone and ask the big
questions...

Is this something others would find useful? 
Am I missing something that would be useful to many?

I am not currently looking for test users or patches, but I will
announce when I have something that I think is reasonably safe
for others to try.




More information about the Koha-devel mailing list