diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Dpkg/Control/Fields.pm | 6 | ||||
-rwxr-xr-x | scripts/dpkg-source.pl | 12 |
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'); |