SYNOPSIS

dh_components [debhelper options] [--components comp[,comp,...]] [--build_stages stage[,stage,...]] [--rules_locations dir[,dir,...]]

DESCRIPTION

\*(C`dh_components\*(C' is a debhelper program that is responsible for handling additional components that come from separate upstream sources. The aim is to turn each component into a \*(L"mini Debian package\*(R". It takes the following actions:

Run through the various build stages for each package and component.
Optionally stitch together the Debian copyright files.
Purge the components working directory (unless the --no-purge option is set).

FILES

debian/package.components
debian/components

These directories contain all the component data for a given binary package. The second form only works for the first binary in a source package and is overridden by the equivalent first form.

debian/[package.]components/component

This is a directory that contains the files specific to that component. In some ways it is like a cut-down version of the debian directory.

debian/[package.]components/component
debian/[package.]components/
/usr/share/pkg-components/build_stages

These are the default locations of the build stage scripts in the order of precedence with highest first. These can be overridden using the \*(C`--rules_locations\*(C'.

debian/[package.]components/copyright.in

This file provides the \s-1DEP-5\s0 copyright stanzas for the package but without any of the component stanzas. It forms the basis for the package.copyright file.

debian/[package.]components/component/copyright

This file provides a \s-1DEP-5\s0 fragment of the Debian copyright for this component. It will be merged into the main copyright file at package.copyright. Any duplicate \*(C`License\*(C' clauses will be shown only once.

debian/[package.]components/component/control

If present this file should look like a Debian control file for the component. The package name of the binary stanza should match the component name. The \*(C`Depends\*(C', \*(C`Recommends\*(C', \*(C`Suggests\*(C', \*(C`Enhances\*(C', \*(C`Replaces\*(C', \*(C`Pre-Depends\*(C', \*(C`Conflicts\*(C', \*(C`Breaks\*(C' fields are read and turned into substitution variables. So if you have a component \*(C`X\*(C' which declares a Depends on \*(C`Y\*(C', then a substvar variable \*(C`X:Depends\*(C' will be created with the value \*(C`Y\*(C'. The source package stanza is ignored but can be used to document which build dependencies are due to the component.

OPTIONS

--build_stages b1,b2,...

If this option is listed the sequence described will be used instead of the normal one.

--components c1,c2,...

If this option is listed only those components listed will be considered.

--rules_locations r1,r2,...

If this option is listed the specified locations will be used instead of the default ones. One can use \*(C`%\*(C' to mean the component. Thus to explicitly specify the default one would set:

    --rules_locations debian/components/%,debian/components,/usr/share/pkg-components/build_stages

CONFIGURATION

To enable this functionality it is necessary to pass the argument \*(C`--with components\*(C' to the \*(C`dh\*(C' programa in the \*(C`debian/rules\*(C' file.

RELATED TO dh_components…

debhelper\|(1)

This program is used with debhelper.

quilt\|(1)

AUTHOR

Nicholas Bamber <[email protected]>