The following commit has been merged in the master branch:
commit 15fa75bd7143d6ec54f0a77c482ff0cfb72bf440
Author: Raphael Hertzog <[EMAIL PROTECTED]>
Date:   Wed Jan 30 23:05:58 2008 +0100

    dpkg-genchanges: always list all binary packages in the Description field

diff --git a/ChangeLog b/ChangeLog
index 1bbc5f7..e788580 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-31  Raphael Hertzog  <[EMAIL PROTECTED]>
+
+       * scripts/dpkg-genchanges.pl: Always list all binary packages in
+       the Description field of generated .changes files.
+
 2008-01-30  Justin Pryzby  <[EMAIL PROTECTED]>
 
        * utils/start-stop-daemon.c (do_help): Clarify --name and --user
diff --git a/debian/changelog b/debian/changelog
index b320073..9c4f9ee 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -21,6 +21,10 @@ dpkg (1.14.17) UNRELEASED; urgency=low
     libraries.
   * Add -R option to dpkg-buildpackage so that one can replace the usual
     "debian/rules" by something else. Closes: #355654
+  * Always list all binary packages in the Description: field of .changes
+    files. It's nice for reviewers and mentors.debian.net was using this field
+    on source only uploads to display short description of what the package is
+    about.
 
   [ Updated manpages translations ]
   * German (Helge Kreutzmann).
diff --git a/scripts/dpkg-genchanges.pl b/scripts/dpkg-genchanges.pl
index 7dada21..0fcd529 100755
--- a/scripts/dpkg-genchanges.pl
+++ b/scripts/dpkg-genchanges.pl
@@ -267,13 +267,20 @@ foreach $_ (keys %{$src_fields}) {
     }
 }
 
-# Scan control info of all binary packages unless
-# we have a source only upload
-my @pkg;
-push @pkg, $control->get_packages() unless is_sourceonly;
-foreach my $pkg (@pkg) {
+# Scan control info of all binary packages
+foreach my $pkg ($control->get_packages()) {
     my $p = $pkg->{"Package"};
     my $a = $pkg->{"Architecture"};
+    my $d = $pkg->{"Description"} || "no description available";
+    $d = $1 if $d =~ /^(.*)\n/;
+
+    my @f; # List of files for this binary package
+    push @f, @{$p2f{$p}} if defined $p2f{$p};
+
+    # Add description of all binary packages
+    my $desc = sprintf("%-10s - %-.65s", $p, $d);
+    $desc .= " (udeb)" if (grep(/\.udeb$/, @f)); # XXX: Check Package-Type 
field instead
+    push @descriptions, $desc;
 
     if (not defined($p2f{$p})) {
        # No files for this package... warn if it's unexpected
@@ -286,18 +293,12 @@ foreach my $pkg (@pkg) {
        next; # and skip it
     }
 
-    my @f = @{$p2f{$p}}; # List of files for this binary package
     $p2arch{$p} = $a;
 
     foreach $_ (keys %{$pkg}) {
        my $v = $pkg->{$_};
 
-       if (m/^Description$/) {
-           $v = $1 if $v =~ m/^(.*)\n/;
-           my $desc = sprintf("%-10s - %-.65s", $p, $v);
-           $desc .= " (udeb)" if (grep(/\.udeb$/, @f));
-           push @descriptions, $desc;
-       } elsif (m/^Section$/) {
+       if (m/^Section$/) {
            $f2seccf{$_} = $v foreach (@f);
        } elsif (m/^Priority$/) {
            $f2pricf{$_} = $v foreach (@f);

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to