[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#632221: marked as done (Add cross-build-dependency satisfaction to apt)



Your message dated Mon, 25 Jul 2011 15:02:40 +0000
with message-id <E1QlMg4-00054w-Cn@franck.debian.org>
and subject line Bug#632221: fixed in apt 0.8.15.3
has caused the Debian Bug report #632221,
regarding Add cross-build-dependency satisfaction to apt
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 owner@bugs.debian.org
immediately.)


-- 
632221: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632221
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: apt
Version: 0.8.14.1
Severity: Wishlist

Now that multiarch is fully underway there is one significant
component missing for cross-building to be nicely supported:
resolving and installing cross-dependencies. 

Essentially we want to be able to say 

apt-get install build-dep -a <arch>

(the exact syntax is up to you guys, but I, Steve Langasek and mvogt
thought that was reasonable)

This page describes the extra aspects needed beyond the main multiarch
spec to support cross-build-dependencies:
https://wiki.ubuntu.com/MultiarchCross

The core of this page is that the multiarch status of a package
normally indicates whether the build arch or the cross arch
version of a package will satisfy a build-dep. However it's
not always correct, because whether a dep is 'native' or 'cross' is a
property of the _depending_ package (only it knows whether it is running
a binary or a linking a library in the depended-on package), and
Multi-Arch status is a property of the depended-on package. 

So the page specifies build-dep modifiers which allow the depending
package to say 'no I want something different from the default'. The table at
the bottom of the wiki page shows how that works, and I give some
metacode below for the logic (Which I think is right :-). We have
copied the :any meaning from the multiarch spec for 'Depends', and
added a :native 

The bottom of the page gives a table of which arch to install
according to Multi-Arch state and build-dep modifiers.

So the implementation work needed is 
1) to parse build-dep  modifiers  separated by a ':' (as for the existing
:any in Depends).  These will ultimately include all architecture
names, but currently we just allow :any and :native. 

2) take a -a arch specifier to set the host arch for installing
packages specified in build-deps. I don't believe APT::architecture is
sufficient because setting that will cause APT::architecture (i.e.
'host') arch packages to be installed for currently-uninstalled M-A:
foreign packages too, and we want build arch for those. 

We don't think this actually requires much work, as nearly everything
is as existing logic (including all install-deps of any build-deps
that get installed). The :any logic is the same as for Depends. So
only the :native extra restriction is new. 

Here is a page which provides some useful test cases:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/CrossDependencyList
It lists the declared build-deps of packages, and then which packages
actually need to be installed for the build arch and which for
the host arch. This should be useful for compiling test cases and
checking whether a cross-dependency-satisfaction tool works. 

I hope all that makes sense, don't hesitate to ask if you have
queries.

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/



--- End Message ---
--- Begin Message ---
Source: apt
Source-Version: 0.8.15.3

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

apt-doc_0.8.15.3_all.deb
  to main/a/apt/apt-doc_0.8.15.3_all.deb
apt-transport-https_0.8.15.3_amd64.deb
  to main/a/apt/apt-transport-https_0.8.15.3_amd64.deb
apt-utils_0.8.15.3_amd64.deb
  to main/a/apt/apt-utils_0.8.15.3_amd64.deb
apt_0.8.15.3.dsc
  to main/a/apt/apt_0.8.15.3.dsc
apt_0.8.15.3.tar.gz
  to main/a/apt/apt_0.8.15.3.tar.gz
apt_0.8.15.3_amd64.deb
  to main/a/apt/apt_0.8.15.3_amd64.deb
libapt-pkg-dev_0.8.15.3_amd64.deb
  to main/a/apt/libapt-pkg-dev_0.8.15.3_amd64.deb
libapt-pkg-doc_0.8.15.3_all.deb
  to main/a/apt/libapt-pkg-doc_0.8.15.3_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 632221@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Michael Vogt <mvo@debian.org> (supplier of updated apt 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: Mon, 25 Jul 2011 15:04:43 +0200
Source: apt
Binary: apt apt-doc libapt-pkg-dev libapt-pkg-doc apt-utils apt-transport-https
Architecture: source all amd64
Version: 0.8.15.3
Distribution: unstable
Urgency: low
Maintainer: APT Development Team <deity@lists.debian.org>
Changed-By: Michael Vogt <mvo@debian.org>
Description: 
 apt        - Advanced front-end for dpkg
 apt-doc    - Documentation for APT
 apt-transport-https - APT https transport
 apt-utils  - APT utility programs
 libapt-pkg-dev - Development files for APT's libapt-pkg and libapt-inst
 libapt-pkg-doc - Documentation for APT development
Closes: 407511 612102 629617 630591 632221 632441 632596 633455 633510
Changes: 
 apt (0.8.15.3) unstable; urgency=low
 .
   [ Michael Vogt ]
   * apt-pkg/acquire-item.cc:
     - improve error message for a expired Release file
   * apt-pkg/algorithms.cc:
     - Hold back packages that would enter "policy-broken" state on upgrade
       when doing a "apt-get upgrade"
   * cmdline/apt-get.cc:
     - fix missing download progress in apt-get download
 .
   [ David Kalnischkies ]
   * apt-pkg/pkgcachegen.cc:
     - fallback to memory if file is not writeable even if access()
       told us the opposite before (e.g. in fakeroot 1.16) (Closes: #630591)
   * doc/sources.list.5.xml:
     - document available [options] for sources.list entries (Closes: 632441)
   * doc/apt.conf.5.xml:
     - document APT::Architectures list (Closes: #612102)
   * cmdline/apt-get.cc:
     - restore all important dependencies for garbage packages (LP: #806274)
     - do not require unused partial dirs in 'source' (Closes: #633510)
     - buildconflicts effect all architectures
     - implement MultiarchCross for build-dep and source (Closes: #632221)
   * apt-pkg/init.cc:
     - use CndSet in pkgInitConfig (Closes: #629617)
   * apt-pkg/depcache.cc:
     - change default of APT::AutoRemove::SuggestsImportant to true
   * cmdline/apt-key:
     - use a tmpfile instead of /etc/apt/secring.gpg (Closes: #632596)
   * debian/apt.postinst:
     - remove /etc/apt/secring.gpg if it is an empty file
   * doc/apt-cache.8.xml:
     - apply madison typofix from John Feuerstein, thanks! (Closes: #633455)
   * apt-pkg/policy.cc:
     - emit an error on unknown APT::Default-Release value (Closes: #407511)
   * apt-pkg/aptconfiguration.cc:
     - ensure that native architecture is if not specified otherwise the
       first architecture in the Architectures vector
   * apt-pkg/deb/deblistparser.cc:
     - Strip only :any and :native if MultiArch should be stripped as it is
       save to ignore them in non-MultiArch contexts but if the dependency
       is a specific architecture (and not the native) do not strip
Checksums-Sha1: 
 4026bf2f3f090ff5b1c92ccf759d3a9649b7326e 1358 apt_0.8.15.3.dsc
 91c9d330ee78b437255745d8e9c6c43561561b34 3376358 apt_0.8.15.3.tar.gz
 2fb101b470f21a85df0f38f3a7349f26c7f2de87 240496 apt-doc_0.8.15.3_all.deb
 dbf779af827be7e0160f0abd8cd9723ffdf27e38 737560 libapt-pkg-doc_0.8.15.3_all.deb
 c09425be225c221c746032f8c6502f0cbee49fd6 2183336 apt_0.8.15.3_amd64.deb
 86b1cf56e9331262d4bf0882b86bd42fa9ca3ae5 160398 libapt-pkg-dev_0.8.15.3_amd64.deb
 bde4683e9face861f00ad2daf0a006e621f90304 288604 apt-utils_0.8.15.3_amd64.deb
 b8bd392bad1725c0e8e208a3094f2efb9eeb182d 90398 apt-transport-https_0.8.15.3_amd64.deb
Checksums-Sha256: 
 de19e90f6f8186500c8ec0f208c84c1f53fe9039ab7e9cc7ddf76c0ff29c0290 1358 apt_0.8.15.3.dsc
 03332dfc134c7a7c7b6a50e5aa7865cd8928266aeaf6105df48f9b0410039152 3376358 apt_0.8.15.3.tar.gz
 a889cb25a32229e979d82816b3743353118a4c9579c5a5d07be66f9400594ad3 240496 apt-doc_0.8.15.3_all.deb
 36a3e6688fa3c70fb9689bb584ea0a08749336e3064930f0023c0e0ee99063fb 737560 libapt-pkg-doc_0.8.15.3_all.deb
 c28b898c069b150827aa611af918fc02018a3613d1197afcc5a239d49030d3c0 2183336 apt_0.8.15.3_amd64.deb
 d16a39ed06c63d349d3a153a6d1593ccd0aa0fb89ba7cf0fa0c79db736546ce7 160398 libapt-pkg-dev_0.8.15.3_amd64.deb
 d662b40d067762edb6b0d6224f12f1403b2874574b2688fdb2f6105b5f13ddea 288604 apt-utils_0.8.15.3_amd64.deb
 742bc4927772455d8e275ae49c6e9c9f6e5130fddfba03f1dea3a93034eb823a 90398 apt-transport-https_0.8.15.3_amd64.deb
Files: 
 f3509a71136bedd9ed4884ad41f49f18 1358 admin important apt_0.8.15.3.dsc
 21f34a582cfa6bb3a0694980eda6fa4c 3376358 admin important apt_0.8.15.3.tar.gz
 28b895f161abc07d520e3cbb80e4a30e 240496 doc optional apt-doc_0.8.15.3_all.deb
 822e450284fc8063e3725b81cc3e4101 737560 doc optional libapt-pkg-doc_0.8.15.3_all.deb
 962d5f7c1c367100bc4881ffc4bae919 2183336 admin important apt_0.8.15.3_amd64.deb
 d8985b00d5da8c7074ca15339bbd8d82 160398 libdevel optional libapt-pkg-dev_0.8.15.3_amd64.deb
 ec1838107e981aad18d44f98bbce74d6 288604 admin important apt-utils_0.8.15.3_amd64.deb
 bdfd38e4ae76eff048ecf601f73605ec 90398 admin optional apt-transport-https_0.8.15.3_amd64.deb

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

iEYEARECAAYFAk4tcrcACgkQliSD4VZixzS7eACfRz6+aGhlIwq1izJ/YkbrF7MG
p5AAnjHh1rkTEZflrxkIpg4f2w5ZtDXJ
=InMn
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: