diff options
author | joeyh <joeyh> | 2006-06-07 17:59:20 +0000 |
---|---|---|
committer | joeyh <joeyh> | 2006-06-07 17:59:20 +0000 |
commit | 3c2935121745ff7aa107fb8c126d48ca300b7335 (patch) | |
tree | 3c49dd7f119e475fc6548e6c475f9b80e0f93f0b /Debian | |
parent | 152feab4e3a77f78ae82c254ca0cfd8b7c3876cc (diff) |
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
Diffstat (limited to 'Debian')
-rw-r--r-- | Debian/Debhelper/Dh_Lib.pm | 14 |
1 files changed, 13 insertions, 1 deletions
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=""; |