Apparently a recent version of dpkg-dev outputs DEBIAN/control in a
different order than before, so this produces the same sort of noise
that Loïc reports for DEBIAN/conffiles.  Here's a patch to sort these
files before comparing them.  It is RFC822-aware in the sense that it
treats a /^\s/ line as a continuation of the previous line.  (Necessary
for 'control', harmless for 'conffiles'.)

--- debdiff
+++ debdiff
@@ -669,6 +669,23 @@
 
     foreach my $cf (@cf) {
        next unless -f "$dir1/$cf" and -f "$dir2/$cf";
+       if ($cf eq 'control' or $cf eq 'conffiles') {
+           for my $file ("$dir1/$cf", "$dir2/$cf") {
+               my ($fd, @hdrs);
+               open $fd, '<', $file or die "Cannot read $file: $!\n";
+               while (<$fd>) {
+                   if (/^\s/ and @hdrs > 0) {
+                       $hdrs[$#hdrs] .= $_;
+                   } else {
+                       push @hdrs, $_;
+                   }
+               }
+               close $fd;
+               open $fd, '>', $file or die "Cannot write $file: $!\n";
+               print $fd sort @hdrs;
+               close $fd;
+           }
+       }
        my $wdiff = `wdiff -n $wdiff_opt $dir1/$cf $dir2/$cf`;
        my $usepkgname = $debname eq $dummyname ? "" : " of package $debname";
        if ($? >> 8 == 0) {

Attachment: signature.asc
Description: Digital signature

Reply via email to