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>