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>