2020-10-30 07:42:50

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH v2 08/39] scripts: get_abi.pl: prevent duplicated file names

The same filename may exist on multiple directories within
ABI. Create separate entries at the internal database for
each of them.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---
scripts/get_abi.pl | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/scripts/get_abi.pl b/scripts/get_abi.pl
index e5a5588a8639..5612f019fae0 100755
--- a/scripts/get_abi.pl
+++ b/scripts/get_abi.pl
@@ -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/;
--
2.26.2


2020-12-08 13:39:01

by Nícolas F. R. A. Prado

[permalink] [raw]
Subject: Re: [PATCH v2 08/39] scripts: get_abi.pl: prevent duplicated file names

On Fri, Oct 30, 2020 at 08:40:27AM +0100, Mauro Carvalho Chehab wrote:
> The same filename may exist on multiple directories within
> ABI. Create separate entries at the internal database for
> each of them.
>
> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
> ---
> scripts/get_abi.pl | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/scripts/get_abi.pl b/scripts/get_abi.pl
> index e5a5588a8639..5612f019fae0 100755
> --- a/scripts/get_abi.pl
> +++ b/scripts/get_abi.pl
> @@ -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/;
> --
> 2.26.2
>

Hey Mauro,

just a heads-up.

It seems the ABI page is showing the full file names as shown in [1], like "File
/srv/docbuild/lib/git/linux/stable/firewire-cdev", while only the file name
would be enough, like "File firewire-cdev".

By reverting this patch I got exactly the intended behavior, but it seems you
were fixing other things with this, so perhaps just reverting is breaking
something that I can't see.

Could you look into what would be the right fix for this? :)

Thanks,
Nícolas

[1] https://www.kernel.org/doc/html/latest/admin-guide/abi.html