summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog4
-rw-r--r--scripts/Dpkg/Control/FieldsCore.pm4
-rwxr-xr-xscripts/dpkg-source.pl11
3 files changed, 18 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index d09a6778b..2188173c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -32,6 +32,10 @@ dpkg (1.17.7) UNRELEASED; urgency=low
Thanks to Moritz Muehlenhoff <jmm@debian.org>. Closes: #738310
* Add a new dpkg-source extraction --ignore-bad-version option.
Closes: #740883
+ * Add Architecture and Build-Profiles information to Package-List field,
+ as optional name=value1,value2 entries, with names «arch» and «profile».
+ Use the now recognized field Build-Profiles from binary stanzas in the
+ source control file to fill the «profile» value.
[ Updated dpkg translations ]
* German (Sven Joachim).
diff --git a/scripts/Dpkg/Control/FieldsCore.pm b/scripts/Dpkg/Control/FieldsCore.pm
index 568716518..3f62b797e 100644
--- a/scripts/Dpkg/Control/FieldsCore.pm
+++ b/scripts/Dpkg/Control/FieldsCore.pm
@@ -111,6 +111,10 @@ our %FIELDS = (
dependency => 'normal',
dep_order => 3,
},
+ 'Build-Profiles' => {
+ allowed => CTRL_INFO_PKG,
+ separator => FIELD_SEP_SPACE,
+ },
'Built-For-Profiles' => {
allowed => ALL_PKG | CTRL_FILE_CHANGES,
separator => FIELD_SEP_SPACE,
diff --git a/scripts/dpkg-source.pl b/scripts/dpkg-source.pl
index 7e96ce189..3153f7bc2 100755
--- a/scripts/dpkg-source.pl
+++ b/scripts/dpkg-source.pl
@@ -267,7 +267,16 @@ if ($options{opmode} =~ /^(-b|--print-format|--(before|after)-build|--commit)$/)
my $prio = $pkg->{'Priority'} || $src_prio;
my $type = $pkg->{'Package-Type'} ||
$pkg->get_custom_field('Package-Type') || 'deb';
- push @pkglist, sprintf('%s %s %s %s', $p, $type, $sect, $prio);
+ my $arch = $pkg->{'Architecture'};
+ my $profile = $pkg->{'Build-Profiles'};
+
+ my $pkg_summary = sprintf('%s %s %s %s', $p, $type, $sect, $prio);
+
+ $pkg_summary .= ' arch=' . join ',', split /\s+/, $arch;
+ $pkg_summary .= ' profile=' . join ',', split /\s+/, $profile
+ if defined $profile;
+
+ push @pkglist, $pkg_summary;
push @binarypackages, $p;
foreach (keys %{$pkg}) {
my $v = $pkg->{$_};