Provided by: pkg-haskell-tools_0.11.1_amd64 bug

NAME

       dht -- Debian Haskell Packaging Tools

SYNOPSIS

       ./dht subcommand [args..]

DESCRIPTION

       This  is the Debian Haskell Team multi purpose tool, combining various more or less useful
       tools.

       Supported subcommands:

       · cabal-debian - Run cabal-debian with inferred parameters

       · dch - Append the changelog

       · debian2dsc - generate a dsc file from a debian directory

       · init - Create an initial packaging

       · make-all - Rebuilds a set of packages

       · mass-change - Apply a change to many packages

       · tag - Tag a built package

       · upgrade - Upgrade a package to the version in the package plan

       · upload - Uploads, tags and pushes

       · what-to-build - Find packages to be built

       · what-to-upgrade - Find packages to be upgraded

       · what-to-upload - Lists .changes files that should be uploaded

Subcommands

   dht cabal-debian
       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.

   dht dch
       Usage: dht dch [debchange option]

       This  is a wrapper for debchange(1), which will implement our custom heuristics of whether
       a new changelog entry should be created, or the current one be  amended:  If  the  current
       version is tagged, create a new changelog entry, else append to the current one.

       It  passes  either  --append  or  --increment  to  debchange,  so  you  should  not.   The
       --newversion option may be used in order to specify the version number.

   dht debian2dsc
       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.

   dht init
       Usage: dht init [-D distribution] Cabal-Pkg ...

       This script will:

       · Query the package plan for the desired version number of CabalPkg.

       · Use cabal unpack --pristine to fetch the source into the right directory

       · Run cabal-debian --official to initialize the packaging.

       · Optimistically mark the package as ready for release

       · Commit this to git.

       Please review the package afterwards, in particular debian/copyright.

   dht make-all
       Usage: dht make-all [--excluded-packages PKG,PKG,...]  [-o|--output DIR] [--bindmount DIR]
       [-j|--jobs       INT]       [-c|--chroot       SCHROOT][--shake-verbosity       VERBOSITY]
       [--keep-going][--sbuild-option OPTION] [TARGET...] Rebuilds a set of packages

       Available options: -h,--help Show this help text --excluded-packages PKG,PKG,...  comma or
       space  separated  list  of  source  package  names to ignore (default: ghc, ghc-testsuite,
       haskell-devscripts, haskell98-report, haskell-platform) -o,--output DIR  output  directory
       (default:  "lab")  --bindmount DIR directory bind-mounted in the schroot (default: "/tmp")
       -j,--jobs INT number of parallel jobs (default: 1) -c,--chroot SCHROOT name of the schroot
       to  use  (default:  "haskell")  --shake-verbosity  VERBOSITY  verbosity for shake (Silent,
       Quiet, Normal, Loud, Chatty or Diagnostic) (default: Normal) --keep-going keep going  even
       if there are errors --sbuild-option OPTION An option to pass on to sbuilder (can be passed
       multiple times)

   dht mass-change
       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 to begin with, and will commit all changes  at  once  at  the
       end, if there was a change.

   dht tag
       Usage: dht tag [--dry-run] [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.

       With  --dry-run  it  simply  checks  if it could tag everything (suite not UNRELEASED, not
       already tagged), and returns 0 if it could.

   dht upgrade
       Usage: dht upgrade [-D dist] directory/

       This script will:

       · Query the package plan for the desired version number.

       · Run debchange to amend the debian/changlog.

       · Run cabal-debian --official --upgrade to upgrade the packaging.

       · Optimistically mark the package as ready for release

       · Commit this to git.

       At the end, it will rightfully ask you to review the changes, giving you a helpful link to
       the diff between the upstream sources.

   dht upload
       Usage: dht upload [-h HOST] [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,  tags  them  in  the
       repository and pushes the tag.

       If  the  -h parameter is specified, upload to HOST, rather than the dput default_host.  If
       mass-uploading, it is suggested to use ssh-upload for robustness (see  the  discussion  in
       #833536).

       If  no  changes file is given, but the script is run in a debian source package, it checks
       the parent directory for an appropriately named  changes  file,  just  like  debrelease(1)
       would do.

       Checks that the distribution is not UNRELEASED and that the tag does not exist already.

   dht what-to-build
       Usage: dht what-to-build [directory..]

       For  all given directories (defaults to p/*/), check if they are to be built.  This means,
       in particular:

       · The latest entry in debian/changelog is not UNRELEASED, and

       · there is no corresponding tag in the git repository.

   dht what-to-upgrade
       Usage: dht what-to-upgrade [directory..]

       For all given directories (defaults to p/*/), check if they are to be upgraded, i.e.  that
       the package plan lists a newer version than the changelog.

   dht what-to-upload
       Usage: dht what-to-upload foo.changes ..

       Given  a  number  of  changes  files,  reports  hose  that  should  be uploaded, i.e.  the
       distribution is not UNRELEASED and that the tag does not exist already.

AUTHORS

       Debian Haskell Group.

                                                                                           DHT(1)