diff options
author | Johannes Schauer <j.schauer@email.de> | 2014-08-19 07:57:03 +0200 |
---|---|---|
committer | Guillem Jover <guillem@debian.org> | 2014-10-06 02:07:31 +0200 |
commit | 98956c26a2d8039b8ec66231910fc9418329c09b (patch) | |
tree | 6c9753140b6cde5be9ceefe392181251e1d242da /man | |
parent | 61e228eb7b68b85529dc8e9c9c49ef7f51a797bb (diff) | |
download | dpkg-98956c26a2d8039b8ec66231910fc9418329c09b.tar.gz |
scripts: Update restriction formula syntax
- The restriction list parsing now reflects the changes at
<https://wiki.debian.org/BuildProfileSpec> which were agreed upon
in the bootstrap sprint 2014 in Paris.
- Restriction lists are now restriction formulas.
- Restriction formulas are given in disjunctive normal form expression:
pkg <bar baz> <blub>
- Removal of the implicit prefix/namespace mechanic.
- Since there can be more than one <> block, the regex in
parse_string() in Dpkg::Deps is now greedy.
- Construct the profiles entry of the Packages-List field by converting
the "<bar baz> <blub>" syntax into "bar,baz+blub".
- Include a temporary compatibility mapping for the old way to write
the Build-Profiles field in binary packages which can be removed once
all affected source packages have moved to the new syntax.
- Adjust testcases.
Closes: #760158
[guillem@debian.org:
- Add a warning when using the old syntax in dpkg-source.
- Move comments before the regexes, not besides them in dpkg-source.
- Change from an xnor to == in evaluate_restriction_formula().
- Move the Dpkg::Util import close to the other Dpkg imports.
- Add test cases for the new parse_build_profiles() behavior. ]
Signed-off-by: Guillem Jover <guillem@debian.org>
Diffstat (limited to 'man')
-rw-r--r-- | man/deb-src-control.5 | 17 | ||||
-rw-r--r-- | man/dpkg-buildpackage.1 | 14 | ||||
-rw-r--r-- | man/dpkg-checkbuilddeps.1 | 7 |
3 files changed, 20 insertions, 18 deletions
diff --git a/man/deb-src-control.5 b/man/deb-src-control.5 index cd02fed52..665dcedde 100644 --- a/man/deb-src-control.5 +++ b/man/deb-src-control.5 @@ -187,8 +187,8 @@ of packages separated by vertical bar (or "pipe") symbols, "|". The groups are separated by commas. Commas are to be read as "AND", and pipes as "OR", with pipes binding more tightly. Each package name is optionally followed by a version number specification in parentheses, an -architecture specification in square brackets, and a profile specification -in angle brackets. +architecture specification in square brackets, and a restriction formula +consisting of one or more lists of profile names in angle brackets. The syntax of the .BR Build\-Conflicts , @@ -198,8 +198,9 @@ and fields is a list of comma-separated package names, where the comma is read as an "AND". Specifying alternative packages using a "pipe" is not supported. Each package name is optionally followed by a version number specification in -parentheses, an architecture specification in square brackets, and a profile -specification in angle brackets. +parentheses, an architecture specification in square brackets, and a +restriction formula consisting of one or more lists of profile names in +angle brackets. A version number may start with a ">>", in which case any later version will match, and may specify or omit the Debian packaging revision (separated @@ -211,9 +212,11 @@ An architecture specification consists of one or more architecture names, separated by whitespace. Exclamation marks may be prepended to each of the names, meaning "NOT". -A profile specification consists of one or more profile names, prefixed -with the "\fBprofile.\fP" namespace, separated by whitespace. Exclamation -marks may be prepended to each of the names, meaning "NOT". +A restriction formula consists of one or more restriction lists, separated +by whitespace. Each restriction list is enclosed in angle brackets. Items +in the restriction list are build profile names, separated by whitespace +and can be prefixed with an exclamation mark, meaning "NOT". A restriction +formula represents a disjunctive normal form expression. Note that dependencies on packages in the .B build\-essential diff --git a/man/dpkg-buildpackage.1 b/man/dpkg-buildpackage.1 index b96c25f36..7a9394375 100644 --- a/man/dpkg-buildpackage.1 +++ b/man/dpkg-buildpackage.1 @@ -150,11 +150,11 @@ of \-a or as a complement to override the default GNU system type of the target Debian architecture. .TP .BR \-P \fIprofile\fP[ , ...] -Specify the profile(s) we build, as a comma-separated list, without the -"\fBprofile.\fP" namespace prefix. The default behavior is to build for -no specific profile. Also adds them (as a space separated list) to the -\fBDEB_BUILD_PROFILES\fP environment variable which allows, for example, -\fBdebian/rules\fP files to use this information for conditional builds. +Specify the profile(s) we build, as a comma-separated list. The default +behavior is to build for no specific profile. Also sets them (as a space +separated list) as the \fBDEB_BUILD_PROFILES\fP environment variable which +allows, for example, \fBdebian/rules\fP files to use this information for +conditional builds. .TP .BR \-j [\fIjobs\fP|\fBauto\fP] Number of jobs allowed to be run simultaneously, number of jobs matching @@ -341,8 +341,8 @@ will be ignored. .TP .B DEB_BUILD_PROFILES If set, it will be used as the active build profile(s) for the package -being built. It is a space separated list of profile names, without the -"\fBprofile.\fP" namespace prefix. Overridden by the \fB\-P\fP option. +being built. It is a space separated list of profile names. Overridden +by the \fB\-P\fP option. .SS Reliance on exported environment flags Even if \fBdpkg\-buildpackage\fP exports some variables, \fBdebian/rules\fP diff --git a/man/dpkg-checkbuilddeps.1 b/man/dpkg-checkbuilddeps.1 index 51cc77e06..0700fe57b 100644 --- a/man/dpkg-checkbuilddeps.1 +++ b/man/dpkg-checkbuilddeps.1 @@ -64,8 +64,7 @@ the architecture of the current system. .BR "\-P " \fIprofile\fP[ , ...] Check build dependencies/conflicts assuming that the package described in the control file is to be built for the given build profile(s). The -argument is a comma-separated list of profile names, without the -"\fBprofile.\fP" namespace prefix. +argument is a comma-separated list of profile names. .TP .BR \-? ", " \-\-help Show the usage message and exit. @@ -77,5 +76,5 @@ Show the version and exit. .TP .B DEB_BUILD_PROFILES If set, it will be used as the active build profile(s) for the package -being built. It is a space separated list of profile names, without the -"\fBprofile.\fP" namespace prefix. Overridden by the \fB\-P\fP option. +being built. It is a space separated list of profile names. Overridden +by the \fB\-P\fP option. |