Currently there are about 300 packages in the Debian Med svn repository, but only 50 active uploaders. So in order to make live easier for everybody, a uniform workflow should be established for maintainig packages. Thus all information will be at a familiar place and nobody has to waste time searching something.

Tasks List

All software that shall be part of Debian Med should have an entry in the Tasks List. If you stumble over new software, please add it to the task list. As a result a central point of information will be created. Anybody interested in Debian Med will see already processed packages or where there is work in progress.

SVN and git repositories

The Tasks List contains information about all packages, but the real work is done in either the SVN- or git-repository:

So in order to tell developers where work is needed, any package in the repository should contain enough information to find hot spots. This can be done with debian/changelog and a file called README.status

debian/changelog

Creating a good package sometimes needs a fairly long time and incomplete work might be available in the repository. On the other side it is better to do just a small piece of work than no work at all. In order to distinguish these cases debian/changlog might be used. In case of a generic maintainer line like:

no specific person takes care of that package at the moment. You are welcome to improve the package as much as you want. A maintainer line like:

indicates that there is someone having interest in that package. Of course priorities might change and interest in that package vanishes. In that case the rules for an inactive maintainer become effective.

README.status

Normally each package should have a status of active, thus somebody takes care of bugs and uploads new versions. In case of unusual situations the status of a package might change. For example at a future time it might be maintained with git instead of svn, the package has been removed from Debian or it is just a draft and needs some more work. In order to tell everybody about that situation, a file 'README.status' should be added to 'debian-med/trunk/packages/<package>/trunk/README.status'. It should be a yaml-file whose contents can be verified by:

or:

Examples can be found in:

New Packages

These are the steps to add new packages to the repository.

  1. check whether there is an entry for that software in the tasks list and maybe add one

  2. create directories in svn:
    • debian-med/trunk/packages/<package>/trunk

    • debian-med/trunk/packages/<package>/tags

    • if you like also add a 'branches' directory
  3. add all files to debian-med/trunk/packages/<package>/trunk/debian/* and don't forget the file debian-med/trunk/packages/<package>/trunk/README.status

  4. please create your files (especially debian/rules and debian/watch) in such a way that only the following commands are needed to build the package:
    1. ./debian/rules get-orig-source
    2. svn-buildpackage [--svn-ignore-new]
  5. as long as the package is not ready for upload, set the following informations:
  6. After everything is ready for upload, set the distribution and maintainer accordingly and upload package.
  7. If you are not able to do the upload, set distribution = SPONSOR

Already Available Packages

These are the steps to work on packages that are already available in the archive.

  1. check whether there is an entry for that software in the tasks list and maybe add one

  2. add your improvements to all files but bear in mind our policy

  3. as long as the package is not ready for upload, set the following informations:
  4. After everything is ready for upload, set the distribution and maintainer accordingly and upload package.
  5. If you are not able to do the upload, set distribution = SPONSOR

Inactive Maintainer

After bug reports or new upstream versions, a new entry in debian/changelog has to be created. This is normally done by the last person who uploaded that package as indicated by the maintainer line of debian/changelog. In case the maintainer does not act on this issue for about a month (XXX length of period needs to be discussed), this new entry should be added by someone else. In doing so the maintainer line should be replaced by the generic maintainer line.