The following commit has been merged in the master branch:
commit bbbffb76df34420ef9f039f2d1178d4b524d907d
Author: Adam D. Barratt <[EMAIL PROTECTED]>
Date:   Wed Jul 30 21:27:44 2008 +0100

    Migrate to using Lintian::Collect
    
    * checks/infofiles:
      + [ADB] Use Lintian::Collect to retrieve information about the files
        being processed.

diff --git a/checks/infofiles b/checks/infofiles
index 2be4b22..f92e294 100644
--- a/checks/infofiles
+++ b/checks/infofiles
@@ -29,8 +29,7 @@ sub run {
 
 my $pkg = shift;
 my $type = shift;
-
-my %file_info;
+my $info = shift;
 
 my %preinst;
 my %postinst;
@@ -45,40 +44,14 @@ check_script("postinst", \%postinst) if (-f 
"control/postinst");
 check_script("prerm", \%prerm) if (-f "control/prerm");
 check_script("postrm", \%postrm) if (-f "control/postrm");
 
-# Read file info...
-open (IN, '<', "file-info")
-    or fail("cannot find file-info for $type package $pkg");
-while (<IN>) {
-    chop;
-
-    m/^(.*?):\s+(.*)$/o or fail("an error in the file pkg is preventing 
lintian from checking this package: $_");
-    my ($file,$info) = ($1,$2);
-
-    next unless $file =~ m,/info/,o;
-    $file =~ s,^(\./)?,,;
-
-    $file_info{$file} = $info;
-}
-close IN;
-
 # Read package contents...
-open (IN, '<', "index") or fail("cannot open index file index: $!");
-while (<IN>) {
-    chop;
-
-    my ($perm,$owner,$size,$date,$time,$file) = split(' ', $_, 6);
-    my $link;
-
-    $file =~ s,^(\./),,;
-    $file =~ s/ link to .*//;
-
-    if ($perm =~ m/^l/) {
-       ($file, $link) = split(' -> ', $file);
-    }
-
+foreach my $file (keys %{$info->index}) {
+    my $index_info = $info->index->{$file};
+    my $file_info = $info->file_info->{$file};
+    my $link = $index_info->{link} || '';
     my ($fname, $path, $suffix) = fileparse($file);
 
-    next unless ($perm =~ m,^[\-l],o)
+    next unless ($index_info->{type} =~ m,^[\-l],o)
            and ($path =~ m,^usr/share/info/, or $path =~ m,^usr/info/,);
 
     # Analyze the file names making sure the documents are named properly.
@@ -87,12 +60,11 @@ while (<IN>) {
     my @fname_pieces = split /\./, $fname;
     my $ext = pop @fname_pieces;
     if ($ext eq "gz") { # ok!
-       if ($perm =~ m,^-,o) { # compressed with maximum compression rate?
-           my $info = $file_info{$file};
-           if ($info !~ m/gzip compressed data/o) {
+       if ($index_info->{type} =~ m,^-,o) { # compressed with maximum 
compression rate?
+           if ($file_info !~ m/gzip compressed data/o) {
                tag "info-document-not-compressed-with-gzip", "$file";
            } else {
-               if ($info !~ m/max compression/o) {
+               if ($file_info !~ m/max compression/o) {
                    tag "info-document-not-compressed-with-max-compression", 
"$file";
                }
            }
@@ -112,7 +84,7 @@ while (<IN>) {
 
     # If this is the main info file (no numeric extension). make sure it has
     # appropriate dir entry information.
-    if ($fname !~ /-\d+\.gz/ && $file_info{$file} =~ /gzip compressed data/) {
+    if ($fname !~ /-\d+\.gz/ && $file_info =~ /gzip compressed data/) {
        my $pid = open INFO, '-|';
        if (not defined $pid) {
            fail("cannot fork: $!");
@@ -132,7 +104,6 @@ while (<IN>) {
        $missing_section{$file} = 1 unless $section;
     }
 }
-close IN;
 
 # policy 13.2 says prerm and postinst
 if ($postrm{'calls-install-info'}) {
diff --git a/debian/changelog b/debian/changelog
index e88aa1d..9526a44 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -38,6 +38,9 @@ lintian (1.24.3) unstable; urgency=low
       being incorrectly tagged as executable-in-usr-share-doc.
   * checks/huge-usr-share:
     + [ADB] Replace (the single) direct access to fields/* with ::field()
+  * checks/infofiles:
+    + [ADB] Use Lintian::Collect to retrieve information about the files
+      being processed.
   * checks/manpages:
     + [RA] Suppress warnings about inability to break a line that contains
       a URL.  URLs often can't be usefully broken.  Based on a patch by

-- 
Debian package checker


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

Reply via email to