dht -- Debian Haskell Packaging Tools
./dht subcommand [args..]
This is the Debian Haskell Team multi purpose tool, combining various more or less useful tools.
Supported subcommands:
Usage: dht what-to-build [directory..]
For all given directories (defaults to p/*/
), check if they are to be built. This means, in particular:
debian/changelog
is not UNRELEASED
, andUsage: dht upgrade [-D dist] directory/
This script will:
At the end, it will rightfully ask you to review the changes, giving you a helpful link to the diff between the upstream sources.
Usage: dht mass-change [-n] [MESSAGE] [ACTION] DIRECTORY ...
This script runs ACTION in each of the given directories. If the ACTION effected a change, it will add MESSAGE to the changelog.
It assumes that all directories are in the same git repository as this script. It ensures that the repository is clean tobegin with, and will commit all changes at once at the end, if there was a change.
Usage: dht tag [directory..]
For all given directories, which should be Debian source packages, figure out the current version from debian/changeslog and create a tag, tagging the youngest git commit that changed this particular source package.
Usage: dht upload foo.changes
Signs the .changes
file and the corresponding .dsc
file in a temporary location (to avoid touching the original files), uploads them to the archive using dput ssh-upload
and tags them in the repository and pushes the tag.
Checks that the distribution is not UNRELEASED
and that the tag does not exist already (by tagging first).
TODO
Usage: dht init [-D distribution] Cabal-Pkg ...
This script will:
cabal unpack --pristine
to fetch the source into the right directoryPlease review the package afterwards, in particular debian/copyright
.
Usage: dht debian2dsc [-o output/] [dir ...]
Expects directories containing the contents of the debian/
directory of a Debian source package (i.e. control
, changelog
, watch
, ...). Uses the watch file to retrieve the upstream tarball (unless it already exists in the local directory), creates a debian.tar.xz
tarball from the given directory (ignoring the ususal suspects like _darcs
and *~
) and creates a corresponding .dsc
file; all without unpacking the upstream tarball.
Usage: dht cabal-debian [option...]
This is a wrapper around cabal-debian that tries to infer a few useful facts: * If the test suite is enabled. * Which Cabal flags are to be used. * The source package name.
None of these checks are perfect, so check the result.
It also passes --official
.