Provided by: pkg-haskell-tools_0.12build3_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)