build-dep -a armhf pulls in dbus:armhf

Bug #1246067 reported by Michał Sawicz
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apparmor (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Having tried:

apt-get build-dep --arch armhf unity8

Resulted in dbus:armhf being pulled in instead of dbus:amd64, which fails in postinst:

/var/lib/dpkg/info/dbus.postinst: 28: /var/lib/dpkg/info/dbus.postinst: dbus-uuidgen: not found
dpkg: error processing dbus (--configure):
 subprocess installed post-installation script returned error exit status 127

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: apt 0.9.9.1~ubuntu3
ProcVersionSignature: Ubuntu 3.11.0-12.19-generic 3.11.3
Uname: Linux 3.11.0-12-generic x86_64
NonfreeKernelModules: nvidia wl
ApportVersion: 2.12.6-0ubuntu1
Architecture: amd64
Date: Tue Oct 29 13:53:46 2013
MarkForUpload: True
SourcePackage: apt
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Michał Sawicz (saviq) wrote :
summary: - build-dep with dbus-test-runner under --arch armhf pulled in dbus:armhf
+ build-dep --arch armhf pulls in dbus:armhf
Revision history for this message
Steve Langasek (vorlon) wrote : Re: build-dep --arch armhf pulls in dbus:armhf

This apparently comes in as a dependency of libusermetricsoutput1:armhf. dbus itself is Multi-Arch: foreign, so apt is meant to prefer the native version.

Steve Langasek (vorlon)
Changed in apt (Ubuntu):
status: New → Triaged
Revision history for this message
David Kalnischkies (donkult) wrote :

[ There is no --arch option. Its either -a or --host-architecture. If it would be --arch, it would mean build-architecture.]

I said this earlier already: This is a problem of not having enough/correct information. For APT "Multi-Arch: foreign" means that it can use a package from any architecture. It might be that it should prefer native, but taking a foreign architecture like "armhf" is just as valid dependency-wise. Its M-A:foreign after all and "armhf" is a foreign architecture.

What you want instead is to say: "While I want to install (M-A:same) packages for this architecture (e.g. to cross-build for it) I want APT (and co) to ignore the "Multi-Arch: foreign" flag on it as it can't actually satisfy dependencies of packages from another architecture (e.g. I can't execute binaries from it).

Preferring native (which code-wise would be pretty hard in most cases) might paper over this problem in cross-building, but a user could very well just "apt-get install dbus:armhf" on the very same system and it will work (not later on).

Michał Sawicz (saviq)
summary: - build-dep --arch armhf pulls in dbus:armhf
+ build-dep -a armhf pulls in dbus:armhf
Revision history for this message
Steve Langasek (vorlon) wrote :

Seems this tracks back to libapparmor1 not being Multi-Arch: same yet, so apt finds the only solution that lets dbus be installed. no bug in apt, just a change that we need to make to apparmor packaging.

affects: apt (Ubuntu) → apparmor (Ubuntu)
Changed in apparmor (Ubuntu):
assignee: nobody → Steve Langasek (vorlon)
importance: Undecided → Medium
Michał Sawicz (saviq)
Changed in apparmor (Ubuntu):
status: Triaged → In Progress
assignee: Steve Langasek (vorlon) → Michał Sawicz (saviq)
Michał Sawicz (saviq)
Changed in apparmor (Ubuntu):
assignee: Michał Sawicz (saviq) → nobody
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apparmor - 2.8.0-0ubuntu33

---------------
apparmor (2.8.0-0ubuntu33) trusty; urgency=low

  * Convert to dh.
  * Bump to debhelper compat level 9 for multiarch support.
  * Mark libapparmor1, libapparmor-dev Multi-Arch: same. LP: #1246067.
 -- Steve Langasek <email address hidden> Thu, 31 Oct 2013 13:23:57 -0700

Changed in apparmor (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.