scripts/documentation-file-ref-check: exclude false-positives
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Wed, 29 May 2019 23:09:28 +0000 (20:09 -0300)
committerJonathan Corbet <corbet@lwn.net>
Thu, 30 May 2019 16:40:24 +0000 (10:40 -0600)
There are at least two cases where a documentation file was gone
for good, but the text still mentions it:

1) drivers/vhost/vhost.c:
   the reference for Documentation/virtual/lguest/lguest.c is just
   to give credits to the original work that vhost replaced;

2) Documentation/scsi/scsi_mid_low_api.txt:
   It gives credit and mentions the old Documentation/Configure.help
   file that used to be part of Kernel 2.4.x

As we don't want to keep the script to keep pinpoint to those
every time, let's add a logic at the script to allow it to ignore
valid false-positives like the above.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
scripts/documentation-file-ref-check

index 6b622b88f4cfab49217401ed8b1cd2bc186bd89f..05235775cc7116f27b6cfac13bf26d18e0c30550 100755 (executable)
@@ -8,6 +8,14 @@ use warnings;
 use strict;
 use Getopt::Long qw(:config no_auto_abbrev);
 
+# NOTE: only add things here when the file was gone, but the text wants
+# to mention a past documentation file, for example, to give credits for
+# the original work.
+my %false_positives = (
+       "Documentation/scsi/scsi_mid_low_api.txt" => "Documentation/Configure.help",
+       "drivers/vhost/vhost.c" => "Documentation/virtual/lguest/lguest.c",
+);
+
 my $scriptname = $0;
 $scriptname =~ s,.*/([^/]+/),$1,;
 
@@ -122,6 +130,11 @@ while (<IN>) {
                        next if (grep -e, glob("$path/$ref $path/$fulref"));
                }
 
+               # Discard known false-positives
+               if (defined($false_positives{$f})) {
+                       next if ($false_positives{$f} eq $fulref);
+               }
+
                if ($fix) {
                        if (!($ref =~ m/(scripts|Kconfig|Kbuild)/)) {
                                $broken_ref{$ref}++;