summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2014-08-05 12:42:04 +0200
committerGuillem Jover <guillem@debian.org>2014-08-10 01:33:55 +0200
commit0a0d2970536741905e4a6197cd4450dac0a1188a (patch)
tree0b2ba224817d176f74cf4f4ebdefd0e442860544
parentc781f4c98830e7254a634cd11ab83eb53db12733 (diff)
downloaddpkg-0a0d2970536741905e4a6197cd4450dac0a1188a.tar.gz
dpkg-genchanges: Correctly filter host arch from the Architecture field
We should also filter the host arch in the same way we filter the all arch when the build type excludes these packages, otherwise we get incongruent .changes files.
-rw-r--r--debian/changelog4
-rwxr-xr-xscripts/dpkg-genchanges.pl2
2 files changed, 6 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 75d601439..ac2b27f4c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -96,6 +96,10 @@ dpkg (1.17.11) UNRELEASED; urgency=low
* Unify build options description in --help output for dpkg-buildpackage
and dpkg-genchanges.
* Only allow one build type option in dpkg-genchanges and dpkg-buildpackage.
+ * Correctly filter the host architecture on the Architecture field in the
+ generated .changes file from dpkg-genchanges, when the debian/files
+ contains arch-specific packages but dpkg-genchanges was called with
+ one of the build types excluding them.
[ Updated programs translations ]
* Danish (Joe Dalton). Closes: #754127
diff --git a/scripts/dpkg-genchanges.pl b/scripts/dpkg-genchanges.pl
index 9cd72a1ae..854d21453 100755
--- a/scripts/dpkg-genchanges.pl
+++ b/scripts/dpkg-genchanges.pl
@@ -466,6 +466,8 @@ unshift @archvalues, 'source' unless is_binaryonly;
@archvalues = ('all') if $include == BUILD_ARCH_INDEP;
@archvalues = grep { !debarch_eq('all', $_) } @archvalues
unless $include & BUILD_ARCH_INDEP;
+@archvalues = grep { !debarch_eq($host_arch, $_) } @archvalues
+ unless $include & BUILD_ARCH_DEP;
$fields->{'Architecture'} = join ' ', @archvalues;
$fields->{'Built-For-Profiles'} = join ' ', get_build_profiles();