CABAL-DEBIAN(1)

NAME
cabal-debian - manual page for cabal-debian 5.0

SYNOPSIS
cabal-debian [-v|--verbose] [-n|--dry-run] [--upgrade] [--roundtrip]

DESCRIPTION
cabal-debian -- create debianization of cabal package

[--ghcjs]
    [--cabal-flag|--cabal-flags CABALFLAG or -CABALFLAG] [--buildenvdir DIR] [-m|--maintainer 'NAME <EMAIL>'] [-u|--uploader 'NAME <EMAIL>'] [-e|--executable SOURCEPATH[:DESTDIR]] [-d|--default-package PKGNAME] [--missing-dependency DEB] [-b|--debian-name-base NAME] [--deb-version DEBIANVERSION] [--revision DEBIANREVISION] [-s|--source-package-name DEBIANNAME] [-S|--source-section SECTION] [--standards-version CABALVERSION] [--build-dep DEBIANRELATIONS] [--build-dep-indep DEBIANRELATIONS] [--dev-dep RELATION] [--depends DEB:RELATION] [--conflicts DEB:RELATION] [--provides DEB:RELATION] [--replaces DEB:RELATION] [--recommends DEB:RELATION] [--suggests DEB:RELATION] [--dep-map CABAL:DEBIANBINARYPACKAGE] [--epoch-map CABALPACKAGE=DIGIT] [--exec-map CABAL:DEBIANBINARYPACKAGE] [--disable-profiling] [--disable-haddock] [--official] [--native] ([--disable-running-tests|--no-run-tests] | [--disable-tests|--no-tests])

    Typical usage is run in unpacked source root directory

    % cabal-debian --maintainer 'Maintainer Name <maintainer@email>'

    This will read the package's cabal file and any existing debian/changelog file and

    deduce what it can about the debianization, then it will create or modify files in the debian subdirectory. Note that it will not remove any files in debian, and these could affect the operation of the debianization in unknown ways. For this reason it is recommended either using a pristine unpacked directory each time, or else using a revision control system to revert the package to a known state before running.

    Arguments: cabal-debian --help

  Available options:

-h,--help
    Show this help text

-v,--verbose
    Every instance of this flag increases amount of progress messages generated

-n,--dry-run
    Just compare the existing debianization to the one we would generate.

--upgrade
    Upgrade an existing debianization carefully preserving fields that are commonly hand-edited.

--roundtrip
    Roundtrip a debianization to normalize it.

--ghcjs
    Set compiler flavor to GHCJS.

--cabal-flag,--cabal-flags CABALFLAG or -CABALFLAG
    Flags to pass to cabal configure with the --flags= option

--buildenvdir DIR
    Directory containing the three build environments, clean, depend, and build.

-m,--maintainer 'NAME <EMAIL>'
    Set the `Maintainer' field in debian/control file.

-u,--uploader 'NAME <EMAIL>'
    Add entry to `Uploaders' field in debian/control file.

-e,--executable SOURCEPATH[:DESTDIR]
    Create an individual binary package to hold this executable. Other executables and data files are gathered into a single package named `haskell-PACKAGENAME-utils'

-d,--default-package PKGNAME
    Set the name of the catch-all package that receives all the files not included in a library package or some other executable package. By default this is `haskell-PACKAGENAME-utils'

--missing-dependency DEB This is the counterpart to --disable-haddock. It
    prevents a package from being added to the build dependencies. This is necessary, for example, when a dependency package was built with the --disable-haddock option, because normally cabal-debian assumes that the -doc package exists and adds it as a build dependency.

-b,--debian-name-base NAME
    Use this name for the base of the debian binary packages - the string between 'libghc-' and '-dev'. Normally this is derived from the hackage package name.

--deb-version DEBIANVERSION
    Specify the version number for the debian package. This will pin the version and should be considered dangerous.

--revision DEBIANREVISION
    Add this string to the cabal version to get the debian version number. Debian policy says this must either be empty (--revision '') or begin with a dash.

-s,--source-package-name DEBIANNAME
    Use this name for the debian source package, the name in the Source field at the top of the debian/control file, and also at the very beginning of the debian/changelog file. By default it is haskell-<cabalname>, where the cabal package name is downcased.

-S,--source-section SECTION
    Set the `Section' field in debian/control file.

--standards-version CABALVERSION
    Claim compatibility to this version of the Debian policy (i.e. the value of the Standards-Version field)

--build-dep DEBIANRELATIONS
    Add a dependency relation to the `Build-Depends' field for this source package.

--build-dep-indep DEBIANRELATIONS
    Add a dependency relation to the `Build-Depends-Indep' field for this source package.

--dev-dep RELATION
    Add an entry to the `Depends' field of the -dev package

--depends DEB:RELATION
    Add extry to 'Depends 'field of DEB binary package

--conflicts DEB:RELATION Add extry to 'Conflicts 'field of DEB binary package

--provides DEB:RELATION
    Add extry to 'Provides 'field of DEB binary package

--replaces DEB:RELATION
    Add extry to 'Replaces 'field of DEB binary package

--recommends DEB:RELATION
    Add extry to 'Recommends 'field of DEB binary package

--suggests DEB:RELATION
    Add extry to 'Suggests 'field of DEB binary package

--dep-map CABAL:DEBIANBINARYPACKAGE
    Specify what debian package name corresponds with a name that appears in the Extra-Library field of a cabal file, e.g. --map-dep cryptopp:libcrypto-dev.

--epoch-map CABALPACKAGE=DIGIT
    Specify a mapping from the cabal package name to a digit to use as the debian package epoch number, e.g. --epoch-map HTTP=1

--exec-map CABAL:DEBIANBINARYPACKAGE
    Specify a mapping from the name appearing in the Build-Tool field of the cabal file to a debian binary package name, e.g. --exec-map trhsx:haskell-hsx-utils

--disable-profiling
    Do not generate profiling (-prof) library package, do not add -prof packages to the build dependency list.

--disable-haddock
    Do not create a -doc package

--official
    Follow guidelines of Debian Haskell Group

--native
    Package has an no upstream tarball, write '3.0 (native)' into source/format.

--disable-running-tests,--no-run-tests
    build, but do not run test suite

--disable-tests,--no-tests
    disable test suite