Debian Bug report logs - #558095
dpkg: please accept ":native" multiarch qualifier in build dependencies

version graph

Package: dpkg-dev; Maintainer for dpkg-dev is Dpkg Developers <debian-dpkg@lists.debian.org>; Source for dpkg-dev is src:dpkg.

Reported by: Simon Richter <sjr@debian.org>

Date: Thu, 26 Nov 2009 11:24:02 UTC

Severity: wishlist

Tags: patch

Merged with 619449

Found in version dpkg/1.16.2

Fixed in version dpkg/1.16.5

Done: Guillem Jover <guillem@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, sjr@debian.org, debian-embedded@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#558095; Package dpkg. (Thu, 26 Nov 2009 11:24:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Richter <sjr@debian.org>:
New Bug report received and forwarded. Copy sent to sjr@debian.org, debian-embedded@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 26 Nov 2009 11:24:07 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Simon Richter <sjr@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: dpkg: please accept ":native" multiarch qualifier in build dependencies
Date: Thu, 26 Nov 2009 12:20:59 +0100
Package: dpkg
Version: 1.15.5.2
Severity: wishlist
User: debian-embedded@lists.debian.org
Usertags: multiarch-cross

Hi,

We would like to allow people to prepare their packages for
cross-compiling. Most functionality is already in place, however we are
still lacking a way to distinguish between build dependencies that are
required as tools (e.g. debhelper) or for building a tool (e.g. zlib-dev
for building a jar archiver which is then used to build a JAR file), and
build dependencies required for linking (e.g. zlib-dev for building a
java interpreter which can then unpack the JAR file).

The multiarch specification solves this to some extent, as tools are
marked "Multi-Arch: foreign" and libraries "Multi-Arch: same", which
allows us to have reasonable defaults by requiring "foreign" packages to
be installed in working order (i.e. preferentially DEB_BUILD_ARCH, but
any working one will do) and "same" packages in the version required for
linking (i.e. DEB_HOST_ARCH).

The cases not handled by the multi-arch specification are:

 - A library package (M-A: same) is to be installed for DEB_BUILD_ARCH.
 - A hybrid package (M-A: allowed) is to be installed for
   DEB_BUILD_ARCH.
 - A hybrid package (M-A: allowed) is to be installed for any
   architecture.

The last case is somewhat implied in the original specification (":any"
qualifier in Depends lines), but never explicitly allowed for
Build-Depends; the others require introducing a new qualifier that is
only meaningful in build dependencies.

In phase one, which needs to happen before the squeeze release for this
to be useful, it would therefore be good if ":any" and ":native"
qualifiers in build dependencies were accepted. As Debian itself does
not yet cross-compile packages, actually supporting the specified
resolution is optional (but would be nice to have in
dpkg-checkbuilddeps).

A minimal implementation would accept those qualifiers in all tools that
handle Build-Depends fields, but interpret the field as if the
qualifiers were not present (thus falling back to the strictest possible
interpretation for a native build).

A full implementation would resolve the dependencies according to the
table on the specification page[1].

   Simon

[1] https://wiki.ubuntu.com/MultiarchCross




Bug 558095 cloned as bugs 558103, 558104. Request was from Simon Richter <sjr@debian.org> to control@bugs.debian.org. (Thu, 26 Nov 2009 12:06:07 GMT) Full text and rfc822 format available.

Bug reassigned from package 'dpkg' to 'dpkg-dev'. Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Wed, 27 Apr 2011 04:33:06 GMT) Full text and rfc822 format available.

Bug No longer marked as found in versions dpkg/1.15.5.2. Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Wed, 27 Apr 2011 04:33:07 GMT) Full text and rfc822 format available.

Forcibly Merged 558095 619449. Request was from Raphaël Hertzog <hertzog@debian.org> to control@bugs.debian.org. (Thu, 07 Jul 2011 15:21:11 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#558095; Package dpkg-dev. (Thu, 26 Apr 2012 14:33:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to Thibaut Girka <thib@sitedethib.com>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 26 Apr 2012 14:33:09 GMT) Full text and rfc822 format available.

Message #18 received at 558095@bugs.debian.org (full text, mbox):

From: Thibaut Girka <thib@sitedethib.com>
To: Debian Bug Tracking System <558095@bugs.debian.org>
Subject: Re: dpkg: please accept ":native" multiarch qualifier in build dependencies
Date: Thu, 26 Apr 2012 16:24:46 +0200
[Message part 1 (text/plain, inline)]
Package: dpkg-dev
Version: 1.16.2
Followup-For: Bug #558095

Here is a patch implementing “:any” and “:native” qualifiers as
specified in the Multiarch spec and MultiarchCross.

This introduces a difference between regular Deps and Build-Deps: the second
now allows the “:native”, disallowed in the former.
This is implemented by adding a new “build_dep” option to deps_parse.
When this option is disabled (which it is by default), the “:native”
qualifier is rejected with a parse error. Otherwise, it is accepted and handled
according to the MultiarchCross spec.

This change might need changes in other packages as well, namely, src:sbuild
and src:emdebian-crush. I will take care of that if this patch is approved.

Another point not mentionned in the current version of MultiarchCross is the
implicit dependency on “build-essential”.
As it doesn't make sense to depend on “build-essential” for a foreign arch,
I've changed this build-dependency to “build-essential:native”.
An implicit build-dep on “build-essential-cross-$DEB_HOST_ARCH” or
something similar would probably make sense, but such a package doesn't exist
yet, nor has it been described in the current specification.

Last but not least, dpkg-buildpackage's “-a” option doesn't imply “-d”
anymore, as it is now able to resolve the dependencies correctly (provided that
the source package gets updated). Of course, the “-d” switch can still be
used.



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (120, 'unstable'), (105, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dpkg-dev depends on:
ii  base-files              6.7
ii  binutils                2.22-6
ii  bzip2                   1.0.6-1
ii  libdpkg-perl            1.16.2
ii  libfile-fcntllock-perl  0.14-1+b1
ii  make                    3.81-8.2
ii  patch                   2.6.1-3
ii  xz-utils                5.1.1alpha+20110809-3

Versions of packages dpkg-dev recommends:
ii  build-essential          11.5
ii  fakeroot                 1.18.2-1
ii  gcc [c-compiler]         4:4.6.2-4
ii  gcc-4.4 [c-compiler]     4.4.7-1
ii  gcc-4.5 [c-compiler]     4.5.3-12
ii  gcc-4.6 [c-compiler]     4.6.3-1
ii  gnupg                    1.4.12-4
ii  gpgv                     1.4.12-4
ii  libalgorithm-merge-perl  0.08-2
ii  tcc [c-compiler]         0.9.26~git20120104.83d57c0-5

Versions of packages dpkg-dev suggests:
pn  debian-keyring  <none>

-- no debconf information
[dpkg-multiarchcross.patch (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, inline)]

Added tag(s) patch. Request was from Hector Oron <zumbi@debian.org> to control@bugs.debian.org. (Fri, 11 May 2012 09:00:07 GMT) Full text and rfc822 format available.

Added tag(s) pending. Request was from Guillem Jover <guillem@debian.org> to control@bugs.debian.org. (Sat, 30 Jun 2012 04:57:24 GMT) Full text and rfc822 format available.

Message sent on to Simon Richter <sjr@debian.org>:
Bug#558095. (Sat, 30 Jun 2012 04:57:38 GMT) Full text and rfc822 format available.

Message #25 received at 558095-submitter@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: 558095-submitter@bugs.debian.org
Subject: Bug#558095 marked as pending
Date: Sat, 30 Jun 2012 04:54:03 +0000
tag 558095 pending
thanks

Hello,

Bug #558095 reported by you has been fixed in the Git repository. You can
see the changelog below, and you can check the diff of the fix at:

    http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=40d51dc

---
commit 40d51dc36b2375679a00ed9ff64ee017dc78b0a9
Author: Thibaut Girka <thib@sitedethib.com>
Date:   Thu Jun 28 01:35:13 2012 +0200

    scripts: Accept “:native” arch-qualified Build-Dependencies
    
    Closes: #558095
    
    Signed-off-by: Guillem Jover <guillem@debian.org>

diff --git a/debian/changelog b/debian/changelog
index 2f03475..0827cc7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -42,6 +42,8 @@ dpkg (1.16.5) UNRELEASED; urgency=low
   * Change all programs to accept -? instead of -h for help output.
   * Add support for specific arch-qualified dependencies. Closes: #676232
     Thanks to Thibaut Girka <thib@sitedethib.com>.
+  * Accept “:native” arch-qualified Build-Dependencies. Closes: #558095
+    Thanks to Thibaut Girka <thib@sitedethib.com>.
 
   [ Updated dpkg translations ]
   * Swedish (Peter Krefting).




Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Sat, 30 Jun 2012 05:21:07 GMT) Full text and rfc822 format available.

Notification sent to Simon Richter <sjr@debian.org>:
Bug acknowledged by developer. (Sat, 30 Jun 2012 05:21:07 GMT) Full text and rfc822 format available.

Message #30 received at 558095-close@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: 558095-close@bugs.debian.org
Subject: Bug#558095: fixed in dpkg 1.16.5
Date: Sat, 30 Jun 2012 05:17:51 +0000
Source: dpkg
Source-Version: 1.16.5

We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive:

dpkg-dev_1.16.5_all.deb
  to main/d/dpkg/dpkg-dev_1.16.5_all.deb
dpkg_1.16.5.dsc
  to main/d/dpkg/dpkg_1.16.5.dsc
dpkg_1.16.5.tar.xz
  to main/d/dpkg/dpkg_1.16.5.tar.xz
dpkg_1.16.5_amd64.deb
  to main/d/dpkg/dpkg_1.16.5_amd64.deb
dselect_1.16.5_amd64.deb
  to main/d/dpkg/dselect_1.16.5_amd64.deb
libdpkg-dev_1.16.5_amd64.deb
  to main/d/dpkg/libdpkg-dev_1.16.5_amd64.deb
libdpkg-perl_1.16.5_all.deb
  to main/d/dpkg/libdpkg-perl_1.16.5_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 558095@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (supplier of updated dpkg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 30 Jun 2012 04:28:51 +0200
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source amd64 all
Version: 1.16.5
Distribution: unstable
Urgency: low
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
Description: 
 dpkg       - Debian package management system
 dpkg-dev   - Debian package development tools
 dselect    - Debian package management front-end
 libdpkg-dev - Debian package management static library
 libdpkg-perl - Dpkg perl modules
Closes: 64642 440094 558095 621763 624000 627333 640676 643043 652970 664058 672723 673190 675333 676232 677631 678933 679010
Changes: 
 dpkg (1.16.5) unstable; urgency=low
 .
   [ Raphaël Hertzog ]
   * dpkg-source will now clean up after a failed application of a quilt
     patch. Closes: #652970
     And it will display a message explaining the most likely cause of
     failure (patch applying with fuzz).
   * When dpkg-source regenerates the automatic patch (with formats "2.0"
     or "3.0 (quilt)") it will keep the current patch header to avoid
     losing changes made by the maintainer.
   * Modify dpkg-source --commit to auto-whitelist modified binary files.
     That way the same command can be used whatever kind of upstream files
     has been modified.
   * dpkg-source now supports a new option --no-unapply-patches to force
     patches to be kept applied after build (used by formats "2.0" and "3.0
     (quilt)"). Closes: #643043
 .
   [ Guillem Jover ]
   * Add a dpkg-buildflags --status action to describe the flag settings.
     Thanks to Bernhard R. Link <brlink@debian.org>. Closes: #664058
   * Add support for “binary-only” key-value option in changelogs, to allow
     marking changelog entries as part of a binary only upload, having a
     different version from the source package. Closes: #440094, #672723
   * Minimize source architecture list on «dpkg-source -b» by removing
     architectures already covered by architecture wildcards. Closes: #675333
   * Do not assume $ENV{'HOME'} is defined in Dpkg::Source::Package.
     Thanks to Niels Thykier <niels@thykier.net>. Closes: #677631
   * Document in more detail in deb(5) the supported ar archive format.
   * Document in deb-src-control(5) the “Private-” field prefix.
   * Add new start-stop-daemon --no-close option to disable closing file
     descriptors on --background. Closes: #627333, #64642
   * Switch source compression to xz.
   * Detect ar header fields truncation due to too long member names or too
     large member sizes. Closes: #678933
   * Add new dpkg-query --control-list and --control-show commands, which
     replace the now deprecated --control-path.
   * Print master and slave alternarive link names in update-alternatives
     --query and always print alternative link in --config. Closes: #679010
   * Cleanup and clarify buffer I/O error reporting. Closes: #621763
   * Avoid full stop and double newline at the end of errors and warnings.
     Thanks to Jonathan Nieder <jnieder@gmail.com>. Closes: #624000
   * Change all programs to accept -? instead of -h for help output.
   * Add support for specific arch-qualified dependencies. Closes: #676232
     Thanks to Thibaut Girka <thib@sitedethib.com>.
   * Accept “:native” arch-qualified Build-Dependencies. Closes: #558095
     Thanks to Thibaut Girka <thib@sitedethib.com>.
   * Do not use undefined values returned form deps_parse() in dpkg-shlibdeps.
     Closes: #640676
   * Add an Architecture column to «dpkg-query -l» before the Description
     column. Suggested by Jonathan Nieder <jnieder@gmail.com>. Closes: #673190
 .
   [ Updated dpkg translations ]
   * Swedish (Peter Krefting).
 .
   [ Updated dselect translations ]
   * Swedish (Peter Krefting).
 .
   [ Updated scripts translations ]
   * German (Helge Kreutzmann).
 .
   [ Updated man page translations ]
   * German (Helge Kreutzmann).
   * Swedish (Peter Krefting).
Checksums-Sha1: 
 5e256018148d50da61a19da0cbce49f65cd03169 1372 dpkg_1.16.5.dsc
 e3aaf08015bab5c40980f36514152102556b76b2 3546160 dpkg_1.16.5.tar.xz
 d826663e329d140f38ddfc4353b937cb270c6688 666932 libdpkg-dev_1.16.5_amd64.deb
 c078e1861151da90049e7ce788cb513b769e2e0f 2266848 dpkg_1.16.5_amd64.deb
 ea065b58a7aa49771a275e4e26a7603b65becadf 1100228 dselect_1.16.5_amd64.deb
 c1e214b79282fb56eaa54ad8f2a1dc2daad64eef 1142828 dpkg-dev_1.16.5_all.deb
 085f8ee024365882d641e60e209cc3bfca43bd36 852954 libdpkg-perl_1.16.5_all.deb
Checksums-Sha256: 
 3a4eec53e585abcb15c71f08331da63610150f4858793bc68ee2df006d1da8a6 1372 dpkg_1.16.5.dsc
 fcd8d846479f3f955e1f1facc4422aed6c3173b6c5acd904d9db60f24bc18e7b 3546160 dpkg_1.16.5.tar.xz
 aba88af2256caef0fdd345ba9eeacff8d2013a07b045d5b7c93162bd0893c10b 666932 libdpkg-dev_1.16.5_amd64.deb
 1a56e13f5fc11eabb5ea7d17852cb1b3b09a117b16803e5b9a64ec14b3f37a62 2266848 dpkg_1.16.5_amd64.deb
 50ac49b8115e6d19148031ecec7f976c69a084504c42b860abd1470e63b1f5d0 1100228 dselect_1.16.5_amd64.deb
 7a23dd256195eec9f1ce2297737747a27a8c6d3beba5c9e8e9ac8d8734f07f54 1142828 dpkg-dev_1.16.5_all.deb
 d77dc62deb89a923952c533b2320130d9573e8c3ebfa09fbdf80c835ca30ef65 852954 libdpkg-perl_1.16.5_all.deb
Files: 
 571bd79d38407d605f7559cf65347c01 1372 admin required dpkg_1.16.5.dsc
 c70412c8b0f3609680104585ddb4ba5c 3546160 admin required dpkg_1.16.5.tar.xz
 49221981d6f3490ddc87c8a03bbe332d 666932 libdevel optional libdpkg-dev_1.16.5_amd64.deb
 d9128c702529b095fda97b205bf03398 2266848 admin required dpkg_1.16.5_amd64.deb
 3eed99660309c9fba61b490c057deb78 1100228 admin optional dselect_1.16.5_amd64.deb
 3c7266174c297984846a6eb88ae3730f 1142828 utils optional dpkg-dev_1.16.5_all.deb
 848633279951281c6213f877251081e3 852954 perl optional libdpkg-perl_1.16.5_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAk/uhA4ACgkQuW9ciZ2SjJvLqACgvBBdkE81qC2iEsdk4lhVoilv
hd8AoI/JlSVaR2i+DU9dLBBvCWo9RvWC
=xtFu
-----END PGP SIGNATURE-----





Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Sat, 30 Jun 2012 05:21:07 GMT) Full text and rfc822 format available.

Notification sent to Wookey <wookey@wookware.org>:
Bug acknowledged by developer. (Sat, 30 Jun 2012 05:21:07 GMT) Full text and rfc822 format available.

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 20 Aug 2012 07:26:58 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Apr 17 07:56:38 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.