Debian GNU/Linux Project Debian GNU/Linux Project

Information for developers

Maintaining this website

This website is stored and maintained in subversion. It's written in reStructuredText format. Here's a recipe for ckecking out and deploying a new version:

$ svn co svn+ssh:// website
$ make build
$ make deploy

Workflow for accepting a package for maintenance

We only maintain relatively stable packages which have sane dependency graphs. Other packages may be maintained, but outside of the official repositories. We only maintain what members of the zope team use. If you want something packaged that we don't use, package it, maintain it, and join the team:)

Membership policy

Uploaders field

Workflow for orphaning a package

Automated Testing

Most ZTK packages come with extensive automated self tests (or we don't package it). We need a way of running those tests and notifying the outside world that they exist. We have chosen the autopkgtest framework for running these tests. Hopefully one day someone will run these tests automatically for us. In the meantime, you can run the tests on a machine you don't care about like this:

adt-run --source x.dsc --- sudo adt-virt-null

There is also a buiildbot that runs the autopkgtests on a regular basis. In the future it would be nice to have a buildslave for unstable and testing to make sure packages with failing tests do not reach testing. The buildbot is here:

Setting up a Buildslave

If you want to help out with the testing effort, you can run a buildslave. Here's how you set one up.

Before you start, you need to make sure you have a machine with a static IP. You need to give this IP to the buildmaster administrator and get a name/password pair. It is preferable that you run the buildslave as a virtual machine which you don't care about. The buildmaster needs to run commands in the buildslave as root. To setup a buildslave:

apt-get install buildbot cowdancer
cowbuilder --create --distribution ${distribution} --basepath /var/cache/pbuilder/${distribution}.cow

Then edit /var/cache/pbuilder/${distribution}.cow/etc/apt/sources.list and add deb and deb-src lines for the repositories you wish to test against. Source packages are downloaded via apt-get source built and installed. Their dependencies are fulfilled via apt-get. For example, to test the packages from unstable against their build and test dependencies in testing, you could do:

deb testing main
deb-src unstable main

Normally, however you will want to build and test against the same distributions.

Next, we will update the chroot to check all is well and install some basic packages into the chroot so that the tests run faster (the last command fails, but does generate a gpg key):

cowbuilder --update --basepath /var/cache/pbuilder/${distribution}.cow
chroot /var/cache/pbuilder/${distribution}.cow apt-get install python-apt gdebi-core autopkgtest sudo
chroot /var/cache/pbuilder/${distribution}.cow adt-run --source notfound.dsc --- sudo adt-virt-null

To setup the buildbot buildslave do:

buildbot create-slave /var/lib/buildbot/slave-pkg-zope ${buildslave_name} ${random_password}

Then edit /var/lib/buildbot/slave-pkg-zope/info and /etc/default/buildbot. /etc/default/buildbot should contain something like:

BB_NUMBER[0]=0                  # index for the other values; negative disables the bot
BB_NAME[0]="slave-pkg-zope"             # short name printed on startup / stop
BB_USER[0]="root"               # user to run as
BB_BASEDIR[0]="/var/lib/buildbot/slave-pkg-zope"                # basedir argument to buildbot (absolute path)
BB_OPTIONS[0]=""                # buildbot options
BB_PREFIXCMD[0]=""              # prefix command, i.e. nice, linux32, dchroot

Finally start the buildbot:

/etc/init.d/buildbot restart