This page describes how the transition tracker works, incl. how to set up a transition.
The underlying tool is called ben and its source is available on salsa.
You can find its documentation at http://ben.debian.net/
The setup on release.debian.org
The transition data is in www/transitions, which is also a git repository:
- ben tracker - the frontend in use
(see ben -h for usage info)
- Makefile - takes care of the cronjob and some common tasks
- config/*/*.ben - individual transition files. In case the
- directory names did not give it away, here is a detailed description of what each directory is used for.
- config/planned - planned transitions
- config/permanent - permanent pages or long transitions semi-migrated to testing
- config/ongoing - transitions in progress
- config/finished - transitions that were recently finished (and/or with still some cleanup to do in testing)
- config/old - old transitions (these do not appear on the tracker)
- html/ - the html pages generated from the ben files.
Adding a transition
When someone files a transition bug against release.debian.org, manually write a ben file (See "Sample ben files" below for examples). The ben file is added to config/planned/. Please note that the name of the ben file should be unique across all the config directories.
The transition will then appear after the next benup run, which can be done by a simple:
~release/www/transitions $ umask 0002 ; make
Remember to commit the ben file to the repository.
Please note that ben has a cache file (in /srv/release.debian.org/tmp/ben_cache) that is not regenerated during every run. If you want to force its update, add -u on command line or remove the cache file.
As soon as the transition starts, the .ben file should be moved to config/ongoing/.
Sample ben files
In the simple cases it will be something like:
title = "libnotify"; is_affected = .build-depends ~ /libnotify-dev/; is_bad = .depends ~ /libnotify1/; is_good = .depends ~ /libnotify4/;
A slightly more complex example have a look at the python 2.7 transition file in www/transitions/config. It is not pasted here, because the wiki does not present it very nicely.
One can also add comments (possibly with HTTP links) with:
notes = "Some paragraph with comments and links: http://release.debian.org/";
Updating transition status
To change a transition from (e.g.) planned to ongoing, simple git mv it from planned to ongoing and re-run make (or wait for the cronjob).
To update the contents of a transition (say, config/ongoing/libnotify.ben) either wait for the cronjob or manually run:
~release/www/transitions $ umask 0002 ; make ongoing/libnotify.ben
Please note that ben uses (by default) the Packages/Sources files from our mirror, so the data is currently always a dinstall behind the wanna-build stats. Hench if dinstall is disabled (e.g. during point releases), the command above is not going to be very useful.
However, the Release Team runs ben with --use-projectb to make it read data directly from projectb.