Your message dated Tue, 10 Jun 2014 21:15:07 +0100
with message-id <[email protected]>
and subject line Re: Bug#751152: dpkg rejects syntactically valid relationship
fields
has caused the Debian Bug report #751152,
regarding dpkg rejects syntactically valid relationship fields
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
751152: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751152
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dpkg
Version: 1.16.1.2ubuntu7.5
The Debian Policy Manual describes at 7.1 the syntax of relationship fields. To
test the syntax after running into trouble writing my own packages, I created a
directory 'test' containing a sample file (usr/src/test/TODO) and the usual
DEBIAN/conffile (size zero) and the following DEBIAN/control:
Package: test
Version: 2.3.0
Architecture: amd64
Maintainer: Daniel U. Thibault
<[email protected]<mailto:[email protected]>>
Installed-Size: 19
Depends: libc6 (>= 2.2.1), exim | mail-transport-agent
Section: utils
Priority: extra
Homepage: http://git.lttng.org/?p=lttng-modules.git;a=summary
Description: Test of dpkg
This package does nothing.
The Depends line was then varied before running 'dpkg --build ./test' in each
case.
The Depends line shown above packages just fine. However:
Depends: foo [solaris-amd64], bar [!solaris-amd64]
Yields the error `Depends' field, syntax error after reference to package
'foo'. Likewise for:
Depends: foo (>= 1.0) [solaris-amd64]
Depends: foo [!solaris-amd64], bar [solaris-amd64]
Depends: foo [!solaris-amd64] | bar [!hurd-amd64]
Note how closely the examples mimic those given in the Debian Policy Manual.
Inspection of the f_dependency() function of lib/dpkg/fields.c leads me to
believe dpkg will always reject any attempt to use architecture restriction as
defined by the Debian Policy Manual! On the other hand, this behaviour does
match that described by man deb-control.
I am using Ubuntu 12.04.4 LTS precise, kernel 3.9.3.
--- End Message ---
--- Begin Message ---
On Tue, 2014-06-10 at 20:04 +0000, Thibault, Daniel wrote:
> The Debian Policy Manual describes at 7.1 the syntax of relationship
> fields. To test the syntax after running into trouble writing my own
> packages, I created a directory ‘test’ containing a sample file
> (usr/src/test/TODO) and the usual DEBIAN/conffile (size zero) and the
> following DEBIAN/control:
[...]
> Depends: foo [solaris-amd64], bar [!solaris-amd64]
>
> Yields the error `Depends’ field, syntax error after reference to package
> ‘foo’. Likewise for:
[...]
> Note how closely the examples mimic those given in the Debian Policy
> Manual. Inspection of the f_dependency() function of lib/dpkg/fields.c
> leads me to believe dpkg will always reject any attempt to use
> architecture restriction as defined by the Debian Policy Manual!
You need to read that section of Policy more closely. Your examples *do
not* "use architecture restriction as defined by the Debian Policy
Manual". Specifically:
<quote>
For binary relationship fields, the architecture restriction syntax is
only supported in the source package control file `debian/control'. When
the corresponding binary package control file is generated, the
relationship will either be omitted or included without the
architecture restriction based on the architecture of the binary
package.
</quote>
That syntax is not valid in DEBIAN/control, which is a "binary package
control file". I'm afraid there's no bug here, so I'm closing this
report.
[This is yet another reason why one generally doesn't construct binary
packages directly, but rather uses a source package and the package
building toolchain.]
Regards,
Adam
--- End Message ---