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

[PATCH] Permit architecture qualifiers, and strip them for edos-debcheck



Architecture qualifiers (such as :any and :native) work fine with
current sbuild.  However, edos-debcheck doesn't understand them, so
strip them off in the synthetic Packages files passed to edos-debcheck.

The worst case here should be that packages with "Build-Depends:
foo:any" may be scheduled for building and then fail if "foo" is not
"Multi-Arch: allowed"; this is not too bad, and it usually corresponds
to a maintainer error anyway.
---
 bin/wanna-build | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/bin/wanna-build b/bin/wanna-build
index 5df0dc6..bf33107 100755
--- a/bin/wanna-build
+++ b/bin/wanna-build
@@ -1635,10 +1635,21 @@ sub build_deplist {
 }
 
 
+sub remove_archqual {
+    if ($_[0]->isa('Dpkg::Deps::Simple')) {
+        undef $_[0]->{'archqual'};
+    } else {
+        for my $dep ($_[0]->get_deps()) {
+            remove_archqual($dep);
+        }
+    }
+}
+
 sub filterarch {
     return "" unless $_[0];
-    return "not-existing-build-dependency-for-any" if $_[0] =~ /:any/;
-    return Dpkg::Deps::deps_parse($_[0], ("reduce_arch" => 1, "host_arch" => $_[1]))->output();
+    my $deps = Dpkg::Deps::deps_parse($_[0], ("reduce_arch" => 1, "host_arch" => $_[1], "build_dep" => 1));
+    remove_archqual($deps);
+    return $deps->output();
 }
 
 sub wb_edos_builddebcheck {
-- 
1.8.3.2


-- 
Colin Watson                                       [cjwatson@debian.org]


Reply to: