.TH DEBHELPER 1 "" "Debhelper Commands" "Debhelper Commands"
debhelper \- overview of the debhelper commands
.I "[-v] [-a] [-i] [-s] [--no-act] [-ppackage] [-Npackage] [-Ptmpdir]"
Debhelper is a collection of programs that can be used in debian/rules files
to automate common tasks related to building debian binary packages. All the
debhelper commands accept a set of options, and this man page is here to
document those options and to document debhelper as a whole. For additional
options, and documentation for each individual command, see the commands' own
.SH "SHARED DEBHLPER OPTIONS"
The following command line options are supported by all debhelper programs.
.B \-v, \--verbose
Verbose mode: show all commands that modify the package build directory.
Do not really do anything. If used with -v, the result is that the command
will output a list of what it would have done.
.B \-a, \--arch
Act on all architecture dependent packages.
.B \-i, \--indep
Act on all architecture independent packages.
.B \-ppackage, \--package=package
Act on the package named "package".
.B \-s, \--same-arch
This is a smarter version of the -a flag, that is used in some rare
circumstances. It understands that if the control file lists "Architecture: i386"
for the package, the package should not be acted on on other architectures. So
this flag makes the command act on all "Architecture: any" packages, as well
as on any packages that have the current architecture explicitly specified.
Constrast to the -a flag, which makes the command work on all packages that
are not architecture independant.
.B \-Npackage, \--no-package=package
Do not act on the specified package even if an -a, -i, or -p option lists
the package as one that should be acted on.
.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.SH "COMMON DEBHELPER OPTIONS"
The following command line options are supported by some debhelper programs.
See the man page of each program for a complete explination of what the
Do not modify postinst/postrm/etc scripts.
.B \-Xitem, \--exclude=item
Exclude an item from processing.
.B \-A, \-all
Makes files or other items that are specified on the command line take effect
in ALL packages acted on, not just the first.
.B Multiple binary package support
If your source package generates more than one binary package, debhelper
programs will default to acting on all binary packages when run. If your
source package happens to generate one architecture dependent package, and
another architecture independent package, this is not the correct behavior,
because you need to generate the architecture dependent packages in the
binary-arch debian/rules target, and the architecture independent packages
in the binary-indep debian/rules target.
To facilitate this, as well as give you more control over which packages
are acted on by debhelper programs, all debhelper programs accept the
parameters. These parameters are cumulative. If none are given,
debhelper programs default to acting on all packages listed in the control
for an example of how to use this.
.B Package build directories
By default, all debhelper programs assume that the temporary directory used
for assembling the tree of files in a package is debian/tmp for the first
package listed in debian/control, and debian/<packagename> for each
additional package. If DH_COMPAT=2, debian/<packagename> is always used,
even for the first package.
Sometimes, you might want to use some other temporary directory. This is
supported by the
flag. For example, "dh_installdocs -Pdebian/tmp", will use debian/tmp as the
temporary directory. Note that if you use -P, the debhelper programs can only
be acting on a single package at a time. So if you have a package that builds
many binary packages, you will need to use the -p flag to specify which
binary package the debhelper program will act on.
.B Other notes
In general, if any debhelper program needs a directory to exist under
debian/, it will create it. I haven't bothered to document this in all the
man pages, but for example, dh_installdeb knows to make debian/<foo>/DEBIAN/
before trying to put files there, dh_installmenu knows you need a
debian/<foo>/usr/lib/menu/ before installing the menu files, etc.
.SH "DEBHELPER COMMANDS"
Here is the complete list of available debhelper commands.
Enables verbose mode.
Specifies what compatability level debhelper should run at. The default is 1,
which makes debhelper behave in a manner compatable with the 1.x series of
debhelper. If set to 2, debhelper's behavior will change to use the new
features of the 2.x series. Use this with caution, as the 2.x series makes
major changes that will break most packages. For documentation on these
changes, read /usr/share/doc/debhelper/v2
Enables no-act mode.
Anything in this variable will be prepended to the command line
arguments of all debhelper commands. This in useful in some situations,
for example, if you need to pass -p to all debhelper commands that will be
run. If you use DH_OPTIONS, be sure to use "dh_testversion 1.1.17" - older
debhelpers will ignore it and do things you don't want them to. One very
good way to set DH_OPTIONS is by using "Target-specific Variable Values" in
your debian/rules file. See the make documentation for details on doing this.
.SH "SEE ALSO"
An introduction to debhelper.
A set of example debian/rules files that use debhelper.
Debhelper web site.
Joey Hess <firstname.lastname@example.org>