summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoeyh <joeyh>2006-06-07 17:59:20 +0000
committerjoeyh <joeyh>2006-06-07 17:59:20 +0000
commit3c2935121745ff7aa107fb8c126d48ca300b7335 (patch)
tree3c49dd7f119e475fc6548e6c475f9b80e0f93f0b
parent152feab4e3a77f78ae82c254ca0cfd8b7c3876cc (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
-rw-r--r--Debian/Debhelper/Dh_Lib.pm14
-rw-r--r--debian/changelog7
2 files changed, 19 insertions, 2 deletions
diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index 793a2e0..8b59d43 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="";
diff --git a/debian/changelog b/debian/changelog
index 163be03..211d8c0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,8 +5,13 @@ debhelper (5.0.36) UNRELEASED; urgency=low
[ Joey Hess ]
* Remove old alternate dependency on fileutils. Closes: #370011
+ * 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
- -- Joey Hess <joeyh@debian.org> Sat, 3 Jun 2006 17:00:06 -0400
+ -- Joey Hess <joeyh@debian.org> Wed, 7 Jun 2006 13:57:38 -0400
debhelper (5.0.35) unstable; urgency=low