Building Debian Dependencies

From Koha Wiki
Jump to navigation Jump to search

Building Debian Dependencies

This is a quick introduction to building packages for new Koha dependencies, with references to the officious documentation that tells you more detail.

There are things you should know about the guidelines for when dependencies can be added. Read these now.

Creating a new package

Get started by following the documentation here:

http://pkg-perl.alioth.debian.org/git.html#starting_a_new_package

Don't forget to file an ITP (Intent To Package) to start with, using reportbug.

Working with an existing package

The package may not have to be in Debian itself for this, just that it's in the pkg-perl git repo, meaning that someone has made a start on it.

Follow the documentation here:

http://pkg-perl.alioth.debian.org/git.html#working_with_existing_packages

This assumes that you have an account on alioth and are in the pkg-perl group. If you don't have an account then you should get one. If you don't want to get one, then do a git clone using a URL of the form:

git clone git://git.debian.org/git/pkg-perl/packages/libthe-module-perl.git

If you have an alioth account, then you can commit directly. If you don't, feel free to send patches to the release manager, but this will take longer and you will start to owe them signoffs on their stuff.

Building packages

First, set up lintian to be as annoying as possible:

$ cat ~/.lintianrc 
display-info=yes
info=yes
pedantic=yes
show-overrides=yes
color=auto
display-experimental=yes
LINTIAN_PROFILE=pkg-perl

then run

debuild -us -uc

to create the package. Lintian will probably yell at you for many transgressions. Go fix them.

When you think everything is happy, do:

pdebuild

as this will highlight any dependency errors that were missed, sometimes the module metadata doesn't contain everything. Your pbuilder environment should be running Debian Wheezy, as that's the minimum that Koha supports.

Making packages ready for Debian

quilt is what is used for patching software to suit Debian better. There is a guide to its use here:

http://pkg-perl.alioth.debian.org/howto/quilt.html

Make sure that debian/{control, copyright, changelog} are as correct as you can make them.

Read this email thread — including the followups — for people's notes on traps and processes.

If you think everything is good, and you have an account on alioth, then you can set the distribution name in the changelog to unstable and the nice pkg-perl people will review it and find the bits you forgot to check, then you'll fix it and in a day or two it'll be uploaded.

Putting packages into the Koha repo

This is needed for Koha users to get to it so that not everyone has to run Debian Sid. At the moment, only the package maintainer is able to add things to this repo. If it becomes necessary, we can build things with a queue and what not.

TODOs

Things I'd like to do if I had all the time in the world:

  • have our own git repo that tracks our packages with their various special pocket names
  • copy the dpt sub-commands to work with our own repo
  • automate creation of the branches with the pockets we need
  • automate building of packages and uploading to the repo