diff options
-rw-r--r-- | debian/changelog | 4 | ||||
-rw-r--r-- | scripts/Dpkg/Control/FieldsCore.pm | 4 | ||||
-rwxr-xr-x | scripts/dpkg-source.pl | 11 |
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->{$_}; |