From 3c2935121745ff7aa107fb8c126d48ca300b7335 Mon Sep 17 00:00:00 2001 From: joeyh Date: Wed, 7 Jun 2006 17:59:20 +0000 Subject: r1924: * Patch from Guillem Jover to make --same-arch handling code support the new form of architecture wildcarding which allows use of things like "linux-any" and "any-i386" in the Architecture field. Note that you'll need to build-depend on a new enough dpkg-dev if using this support. Closes: #371082 --- Debian/Debhelper/Dh_Lib.pm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'Debian') diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm index 793a2e07..8b59d43a 100644 --- a/Debian/Debhelper/Dh_Lib.pm +++ b/Debian/Debhelper/Dh_Lib.pm @@ -559,6 +559,18 @@ sub excludefile { } } +# Passed an arch and a list of arches to match against, returns true if matched +sub samearch { + my $arch=shift; + my @archlist=split(/\s+/,shift); + + foreach my $a (@archlist) { + system("dpkg-architecture", "-a$arch", "-i$a") == 0 && return 1; + } + + return 0; +} + # 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 @@ -616,7 +628,7 @@ sub getpackages { if ($package && (($type eq 'indep' && $arch eq 'all') || ($type eq 'arch' && $arch ne 'all') || - ($type eq 'same' && ($arch eq 'any' || $arch =~ /(^|\s)$buildarch(\s|$)/)) || + ($type eq 'same' && ($arch eq 'any' || samearch($buildarch, $arch) || ! $type)) { push @list, $package; $package=""; -- cgit v1.2.3