debian/package.components
dh_components1p
Build additional components
Usage
dh_components [debhelper
options]
[--components
comp
[,comp, ...]]
[--build_stages
stage
[,stage, ...]]
[--rules_locations
dir
[,dir, ...]]
Overview
"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/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.
Releases
4 releases since Debian 7 (Wheezy); the text changed 3 times.