From 93cd875ba2e3ac9eda6adc31b4334d43ef718ea0 Mon Sep 17 00:00:00 2001 From: Modestas Vainius Date: Mon, 23 Mar 2009 21:32:43 +0200 Subject: [PATCH] Add dpkg_architecture_value and sourcepackage to Dh_Lib Both these function are taken from dh_auto_configure. I believe they are useful enough to be in Dh_Lib (esp. dpkg_architecture_value()). The patch removes these funtions from dh_auto_configure too. Signed-off-by: Modestas Vainius --- Debian/Debhelper/Dh_Lib.pm | 34 +++++++++++++++++++++++++++++----- dh_auto_configure | 23 ----------------------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm index b57c4d9..f0ad505 100644 --- a/Debian/Debhelper/Dh_Lib.pm +++ b/Debian/Debhelper/Dh_Lib.pm @@ -15,7 +15,8 @@ use vars qw(@ISA @EXPORT %dh); &filedoublearray &getpackages &basename &dirname &xargs %dh &compat &addsubstvar &delsubstvar &excludefile &package_arch &is_udeb &udeb_filename &debhelper_script_subst &escape_shell - &inhibit_log &load_log &write_log); + &inhibit_log &load_log &write_log &dpkg_architecture_value + &sourcepackage); my $max_compat=7; @@ -600,15 +601,21 @@ sub excludefile { return 0; } +sub dpkg_architecture_value { + my $var = shift; + my $value=`dpkg-architecture -q$var 2>/dev/null` || error("dpkg-architecture failed"); + chomp $value; + return $value; +} + # Returns the build architecture. (Memoized) { my $arch; sub buildarch { - return $arch if defined $arch; - - $arch=`dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null` || error("dpkg-architecture failed"); - chomp $arch; + if (!defined $arch) { + $arch=dpkg_architecture_value('DEB_HOST_ARCH'); + } return $arch; } } @@ -625,6 +632,23 @@ sub samearch { return 0; } +# Returns source package name +sub sourcepackage { + open (CONTROL, 'debian/control') || + error("cannot read debian/control: $!\n"); + while () { + chomp; + s/\s+$//; + if (/^Source:\s*(.*)/) { + close CONTROL; + return $1; + } + } + + close CONTROL; + error("could not find Source: line in control file."); +} + # Returns a list of packages in the control file. # Must pass "arch" or "indep" or "same" to specify arch-dependant or # -independant or same arch packages. If nothing is specified, returns all diff --git a/dh_auto_configure b/dh_auto_configure index 41f6210..0445c34 100755 --- a/dh_auto_configure +++ b/dh_auto_configure @@ -40,29 +40,6 @@ or override the standard parameters that dh_auto_configure passes. init(); -sub dpkg_architecture_value { - my $var=shift; - my $value=`dpkg-architecture -q$var 2>/dev/null` || error("dpkg-architecture failed"); - chomp $value; - return $value; -} - -sub sourcepackage { - open (CONTROL, 'debian/control') || - error("cannot read debian/control: $!\n"); - while () { - chomp; - s/\s+$//; - if (/^Source:\s*(.*)/) { - close CONTROL; - return $1; - } - } - - close CONTROL; - error("could not find Source: line in control file."); -} - if (-x "configure") { # Standard set of options for configure. my @opts; -- 2.39.2