summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Debian/Debhelper/Dh_Lib.pm22
-rw-r--r--debian/changelog7
2 files changed, 24 insertions, 5 deletions
diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index 421dd99..7c12706 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -606,11 +606,23 @@ sub excludefile {
return 0;
}
-sub dpkg_architecture_value {
- my $var = shift;
- my $value=`dpkg-architecture -q$var` || error("dpkg-architecture failed");
- chomp $value;
- return $value;
+{
+ my %dpkg_arch_output;
+ sub dpkg_architecture_value {
+ my $var = shift;
+ local $_;
+ if (!exists($dpkg_arch_output{$var})) {
+ open(PIPE, '-|', 'dpkg-architecture')
+ or error("dpkg-architecture failed");
+ while (<PIPE>) {
+ my ($k, $v) = split(/=/);
+ chomp $v;
+ $dpkg_arch_output{$k} = $v;
+ }
+ close(PIPE);
+ }
+ return $dpkg_arch_output{$var};
+ }
}
# Returns the build architecture. (Memoized)
diff --git a/debian/changelog b/debian/changelog
index 4bcdd64..aea7bfc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+debhelper (7.4.20) UNRELEASED; urgency=low
+
+ * Drop one more call to dpkg-architecture. Closes: #580837
+ (Raphael Geissert)
+
+ -- Joey Hess <joeyh@debian.org> Sun, 09 May 2010 11:44:58 -0400
+
debhelper (7.4.19) unstable; urgency=low
* Memoize architecture comparisons in samearch, and avoid calling