summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Dpkg/Control/Fields.pm6
-rwxr-xr-xscripts/dpkg-source.pl12
2 files changed, 17 insertions, 1 deletions
diff --git a/scripts/Dpkg/Control/Fields.pm b/scripts/Dpkg/Control/Fields.pm
index 6f3e319ef..d7d7dcf5d 100644
--- a/scripts/Dpkg/Control/Fields.pm
+++ b/scripts/Dpkg/Control/Fields.pm
@@ -161,6 +161,9 @@ our %FIELDS = (
'Package' => {
allowed => ALL_PKG,
},
+ 'Package-List' => {
+ allowed => ALL_SRC & ~CTRL_INFO_SRC,
+ },
'Package-Type' => {
allowed => ALL_PKG,
},
@@ -288,7 +291,8 @@ our %FIELD_ORDER = (
qw(Format Source Binary Architecture Version Origin Maintainer
Uploaders Homepage Standards-Version Vcs-Browser
Vcs-Arch Vcs-Bzr Vcs-Cvs Vcs-Darcs Vcs-Git Vcs-Hg Vcs-Mtn
- Vcs-Svn), &field_list_src_dep(), @checksum_fields, qw(Files)
+ Vcs-Svn), &field_list_src_dep(), qw(Package-List),
+ @checksum_fields, qw(Files)
],
CTRL_FILE_CHANGES() => [
qw(Format Date Source Binary Architecture Version Distribution
diff --git a/scripts/dpkg-source.pl b/scripts/dpkg-source.pl
index 5d4c1de6e..7fa8b7192 100755
--- a/scripts/dpkg-source.pl
+++ b/scripts/dpkg-source.pl
@@ -220,6 +220,10 @@ if ($options{'opmode'} =~ /^(-b|--print-format|--(before|after)-build)$/) {
# Scan control info of source package
my $src_fields = $control->get_source();
+ my $src_sect = $src_fields->{'Section'} || "unknown";
+ my $src_prio = $src_fields->{'Priority'} || "unknown";
+ $fields->{'Package-List'} = sprintf("\nsrc:%s %s %s", $src_fields->{'Source'},
+ $src_sect, $src_prio);
foreach $_ (keys %{$src_fields}) {
my $v = $src_fields->{$_};
if (m/^Source$/i) {
@@ -242,8 +246,15 @@ if ($options{'opmode'} =~ /^(-b|--print-format|--(before|after)-build)$/) {
}
# Scan control info of binary packages
+ my @pkglist;
foreach my $pkg ($control->get_packages()) {
my $p = $pkg->{'Package'};
+ my $sect = $pkg->{'Section'} || $src_sect;
+ 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", ($type eq "deb") ? "" : "$type:",
+ $p, $sect, $prio);
push(@binarypackages,$p);
foreach $_ (keys %{$pkg}) {
my $v = $pkg->{$_};
@@ -272,6 +283,7 @@ if ($options{'opmode'} =~ /^(-b|--print-format|--(before|after)-build)$/) {
}
}
}
+ $fields->{'Package-List'} .= "\n" . join("\n", sort @pkglist);
if (grep($_ eq 'any', @sourcearch)) {
# If we encounter one 'any' then the other arches become insignificant.
@sourcearch = ('any');