Man page - dht(1)
Packages contains this manual
apt-get install pkg-haskell-tools
Manual
DHT
NAMESYNOPSIS
DESCRIPTION
Subcommands
dht cabal-debian
dht dch
dht debian2dsc
dht init
dht make-all
dht mass-change
dht tag
dht upgrade
dht upload
dht what-to-build
dht what-to-upgrade
dht what-to-upload
AUTHORS
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: Info) â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.