Hi!
On Sun, 2014-11-09 at 18:27:12 +0100, Guillem Jover wrote:
> On Sun, 2014-11-09 at 16:57:56 +0100, Johannes Schauer wrote:
> > Package: dpkg
> > Severity: normal
>
> > dpkg allows dependencies like packagename:any, packagename:native and
> > packagname:${debarch} where ${debarch} is any Debian architecture. But
> > this does not seem to be documented. It should at least show up in the
> > man page of deb-control(5).
>
> Ah, indeed! I've got a draft already, will pass it on to the bug, in
> case you want to do a quick review later today/tomorrow. And will
> targetting inclusion in 1.18.x.
>
> The "native" one will be only documented in deb-src-control(5) as
> that's not supported in deb-control(5) files.
And here it is, attached. Take into account as mentioned off-BTS,
that the text regarding the default values for Build-Conflicts* does
not currently match the implementation, but I'll be fixing this in a
commit to be placed before this one.
(Hmm, doing another quick check, I might rearrange the lists to mention
real arch, "any" then "native" if relevant to be consistent.)
Thanks,
Guillem
From 5db325b530e839f5cb2d18c36c002970ab08675a Mon Sep 17 00:00:00 2001
From: Guillem Jover <[email protected]>
Date: Mon, 10 Nov 2014 19:40:22 +0100
Subject: [PATCH] man: Document arch-qualifiers for dependency fields
Closes: #768842
Reported-by: Johannes Schauer <[email protected]>
---
man/deb-control.5 | 17 ++++++++++++++---
man/deb-src-control.5 | 12 +++++++++++-
2 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/man/deb-control.5 b/man/deb-control.5
index 289b1ba..2eb38a7 100644
--- a/man/deb-control.5
+++ b/man/deb-control.5
@@ -3,7 +3,7 @@
.\" Copyright © 1995 Raul Miller, Ian Jackson, Ian Murdock
.\" Copyright © 1999 Ben Collins <[email protected]>
.\" Copyright © 2000 Wichert Akkerman <[email protected]>
-.\" Copyright © 2007-2011, 2013 Guillem Jover <[email protected]>
+.\" Copyright © 2007-2011, 2013-2014 Guillem Jover <[email protected]>
.\" Copyright © 2008-2012 Raphaël Hertzog <[email protected]>
.\"
.\" This is free software; you can redistribute it and/or modify
@@ -187,8 +187,16 @@ fields is a list of groups of alternative packages. Each group is a list
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 qualified with an architecture name appended after a colon ":",
optionally followed by a version number specification in parentheses.
.LP
+An architecture qualifier name can be \fBany\fP (since dpkg 1.16.2) or a
+real Debian architecture name (since dpkg 1.16.5).
+If omitted, the default is the current binary package architecture.
+A real Debian architecture name will match exactly that architecture for
+that package name, \fBany\fP will match any architecture for that package
+name.
+.LP
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
by a hyphen). Accepted version relationships are ">>" for greater than,
@@ -240,8 +248,11 @@ In the
.B Breaks
and
.B Conflicts
-fields, the comma should be read as `OR'. An optional version can also be
-given with the same syntax as above for the
+fields, the comma should be read as `OR'.
+An optional architecture qualifier can also be appended to the package name
+with the same syntax as above, but the default is \fBany\fP instead of the
+binary package architecture.
+An optional version can also be given with the same syntax as above for the
.BR Breaks ,
.B Conflicts
and
diff --git a/man/deb-src-control.5 b/man/deb-src-control.5
index 665dced..ae99f47 100644
--- a/man/deb-src-control.5
+++ b/man/deb-src-control.5
@@ -2,7 +2,7 @@
.\"
.\" Copyright © 2010 Oxan van Leeuwen <[email protected]>
.\" Copyright © 2011 Raphaël Hertzog <[email protected]>
-.\" Copyright © 2011-2013 Guillem Jover <[email protected]>
+.\" Copyright © 2011-2014 Guillem Jover <[email protected]>
.\"
.\" This is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
@@ -186,6 +186,7 @@ fields is a list of groups of alternative packages. Each group is a list
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 qualified with an architecture name appended after a colon ":",
optionally followed by a version number specification in parentheses, an
architecture specification in square brackets, and a restriction formula
consisting of one or more lists of profile names in angle brackets.
@@ -202,6 +203,15 @@ parentheses, an architecture specification in square brackets, and a
restriction formula consisting of one or more lists of profile names in
angle brackets.
+An architecture qualifier name can be \fBany\fP (since dpkg 1.16.2),
+\fBnative\fP (since 1.16.5) or a real Debian architecture name (since
+dpkg 1.16.5).
+If omitted, the default for \fBBuild\-Depends\fP fields is the current host
+architecture, the default for \fBBuild\-Conflicts\fP fields is \fBany\fP.
+A real Debian architecture name will match exactly that architecture for
+that package name, \fBany\fP will match any architecture for that package
+name, and \fBnative\fP will match the current build architecture.
+
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
by a hyphen). Accepted version relationships are ">>" for greater than,
--
2.1.3