scripts: get_abi.pl: prevent duplicated file names
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 30 Oct 2020 07:40:27 +0000 (08:40 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 30 Oct 2020 12:02:26 +0000 (13:02 +0100)
The same filename may exist on multiple directories within
ABI. Create separate entries at the internal database for
each of them.

Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/ef760f68f54e132c4be52f0027189b4ba31554ec.1604042072.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/get_abi.pl

index e5a5588..5612f01 100755 (executable)
@@ -65,7 +65,10 @@ sub parse_abi {
        my $name = $file;
        $name =~ s,.*/,,;
 
-       my $nametag = "File $name";
+       my $fn = $file;
+       $fn =~ s,Documentation/ABI/,,;
+
+       my $nametag = "File $fn";
        $data{$nametag}->{what} = "File $name";
        $data{$nametag}->{type} = "File";
        $data{$nametag}->{file} = $name;
@@ -320,16 +323,18 @@ sub output_rest {
                        my $fileref = "abi_file_".$path;
 
                        if ($type eq "File") {
-                               my $bar = $w;
-                               $bar =~ s/./-/g;
-
                                print ".. _$fileref:\n\n";
-                               print "$w\n$bar\n\n";
                        } else {
                                print "Defined on file :ref:`$f <$fileref>`\n\n";
                        }
                }
 
+               if ($type eq "File") {
+                       my $bar = $w;
+                       $bar =~ s/./-/g;
+                       print "$w\n$bar\n\n";
+               }
+
                my $desc = "";
                $desc = $data{$what}->{description} if (defined($data{$what}->{description}));
                $desc =~ s/\s+$/\n/;