DH_COMPONENTS(1p)

NAME
dh_components - build additional components

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

DESCRIPTION
"dh_components" 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 "mini Debian package". It takes the following actions:

Run through the various build stages for each package and component.
Optionally stitch together the Debian copyright files.
Generate the "substvar" file from the component control 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 "--rules_locations".

debian/[package.]components/copyright.in
    This file provides the DEP-5 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 DEP-5 fragment of the Debian copyright for this component. It will be merged into the main copyright file at package.copyright. Any duplicate "License" 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 "Depends", "Recommends", "Suggests", "Enhances", "Replaces", "Pre-Depends", "Conflicts", "Breaks" fields are read and turned into substitution variables. So if you have a component "X" which declares a Depends on "Y", then a substvar variable "X:Depends" will be created with the value "Y". 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 "%" 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 "--with components" to the "dh" programa in the "debian/rules" file.

SEE ALSO
debhelper(1)

This program is used with debhelper.

quilt(1)

AUTHOR
Nicholas Bamber <nicholas@periapt.co.uk>