[Reproducible-commits] [debhelper] 06/17: Dh_Lib: Use Dpkg::Arch::debarch_is insted of calling dpkg-architecture

Johannes Schauer josch at moszumanska.debian.org
Wed Aug 12 08:53:10 UTC 2015


This is an automated email from the git hooks/post-receive script.

josch pushed a commit to branch pu/reproducible_builds
in repository debhelper.

commit 6a0a402856765372a5d16376b38879e13feea287
Author: Guillem Jover <guillem at debian.org>
Date:   Fri Jul 24 06:23:51 2015 +0200

    Dh_Lib: Use Dpkg::Arch::debarch_is insted of calling dpkg-architecture
    
    This should give a speed boost, as we avoid having to execute the
    script, load and parse the architecture tables, and possibly
    initialize the expensive architecture variables (if they are not
    already present on the environment) on each check.
    
    [nthykier: Lazy load Dpkg::Arch and fix inverted boolean check]
    
    Signed-off-by: Guillem Jover <guillem at debian.org>
    Signed-off-by: Niels Thykier <niels at thykier.net>
---
 Debian/Debhelper/Dh_Lib.pm | 14 +++++---------
 debian/changelog           |  4 ++++
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index 3585791..348144e 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -799,17 +799,13 @@ sub buildos {
 		my @archlist=split(/\s+/,shift);
 	
 		foreach my $a (@archlist) {
-			# Avoid expensive dpkg-architecture call to compare
-			# with a simple architecture name. "linux-any" and
-			# other architecture wildcards are (currently)
-			# always hypenated.
-			if ($a !~ /-/) {
-				return 1 if $arch eq $a;
-			}
-			elsif (exists $knownsame{$arch}{$a}) {
+			if (exists $knownsame{$arch}{$a}) {
 				return 1 if $knownsame{$arch}{$a};
+				next;
 			}
-			elsif (system("dpkg-architecture", "-a$arch", "-i$a") == 0) {
+
+			require Dpkg::Arch;
+			if (Dpkg::Arch::debarch_is($arch, $a)) {
 				return $knownsame{$arch}{$a}=1;
 			}
 			else {
diff --git a/debian/changelog b/debian/changelog
index 9cf8f1c..76bfb0f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,10 @@ debhelper (9.20150629) UNRELEASED; urgency=medium
     if present.  (Closes: #793440)
   * Dh_Buildsystems.pm/Dh_Lib.pm: Import Exporter's import
     subroutine rather than adding Exporter to @ISA.
+  * Dh_Lib.pm: Use Dpkg::Arch's debarch_is rather than running
+    dpkg-architecture to determine if an architecture matches
+    a wildcard.  Heavily based on a patch from Guillem Jover.
+    (Closes: #793443)
 
  -- Niels Thykier <niels at thykier.net>  Sun, 28 Jun 2015 15:08:19 +0200
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/debhelper.git



More information about the Reproducible-commits mailing list