Control: severity -1 important Control: tag -1 patch Hello folks. Benjamin Eikel <debian@eikel.org> (07/08/2012): > When using dpkg-query, I get the same error message as Jan. Is there a > workaround for this problem without installing pbuilder or > deinstalling the i386 packages? Better than a workaround, a prospective patch, which worked for me while building kde-runtime on a mixed amd64(native)/i386(foreign) environment. Not heavily tested though, especially not with an old dpkg. Please note the following files probably want the same kind of changes: makefiles/1/variables.mk perllib/Debian/Debhelper/Buildsystem/kde.pm (Even if kdelibs5-dev is probably less likely than libc* packages to be installed multiple times.) Mraw, KiBi.
From 2d3f6698b0392bb6e098265e0877ace581783620 Mon Sep 17 00:00:00 2001
From: Cyril Brulebois <kibi@debian.org>
Date: Tue, 25 Sep 2012 14:42:03 +0200
Subject: [PATCH] Add multi-arch support to dh_sameversiondep (Closes:
#676833).
---
debian/changelog | 10 ++++++++++
dh_sameversiondep | 17 +++++++++++++++--
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 27fb5ce..bbb4763 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+pkg-kde-tools (0.15.3+nmu1) UNRELEASED; urgency=low
+
+ * Non-maintainer upload.
+ * Add multi-arch support to dh_sameversiondep: if a multi-arch aware
+ dpkg is detected, use architecture qualifiers for the dpkg-query -s
+ call. Use DEB_HOST_ARCH is defined, falling back to calling
+ dpkg-architecture -qDEB_HOST_ARCH if it isn't. (Closes: #676833)
+
+ -- Cyril Brulebois <kibi@debian.org> Tue, 25 Sep 2012 14:25:26 +0200
+
pkg-kde-tools (0.15.3) unstable; urgency=low
* Reupload without cruft.
diff --git a/dh_sameversiondep b/dh_sameversiondep
index 82b4324..4afa6c3 100755
--- a/dh_sameversiondep
+++ b/dh_sameversiondep
@@ -52,7 +52,9 @@ name and I<dependency type> (either Depends or Recommends etc.) are determined.
=item *
All dependencies of the requested I<type> are collected for the I<dependency
-package> based on the I<dpkg-query --status> output.
+package> based on the I<dpkg-query --status> output. If a multi-arch aware dpkg
+is detected, this query is architecture-qualified, using DEB_HOST_ARCH if
+defined, and querying dpkg-architecture for that variable if undefined.
=item *
@@ -239,6 +241,17 @@ sub Shlibsvars::get_dep_package_names {
return extract_package_names($val);
}
+sub arch_qualify {
+ my $ret = system('dpkg', '--assert-multi-arch');
+ if ($ret == 0) {
+ my $arch = $ENV{DEB_HOST_ARCH} || `dpkg-architecture -qDEB_HOST_ARCH`;
+ chomp $arch;
+ return map { "$_:$arch" } @_;
+ } else {
+ return @_;
+ }
+}
+
sub get_package_dpkg_status {
my $binpkgs = shift;
my $fields = shift;
@@ -253,7 +266,7 @@ sub get_package_dpkg_status {
close STDERR;
open STDERR, ">", "/dev/null";
$ENV{LC_ALL} = "C";
- exec("dpkg-query", "--status", "--", @$binpkgs) or error("cannot exec dpkg-query");
+ exec("dpkg-query", "--status", "--", arch_qualify(@$binpkgs)) or error("cannot exec dpkg-query");
}
my $curpkg;
while (defined($_ = <DPKG>)) {
--
1.7.10.4
Attachment:
signature.asc
Description: Digital signature