Subject: Re: [PATCH 08/24] tools: bpftool: update bpftool-prog.rst reference

From: Mauro Carvalho Chehab <[email-masked]>
Date: Thu, 16 Sep 2021 12:49:30 +0200

Hi Quentin,

Em Thu, 16 Sep 2021 10:43:45 +0100
Quentin Monnet <[email-masked]> escreveu:

> 2021-09-16 11:14 UTC+0200 ~ Mauro Carvalho Chehab
> <[email-masked]>
> > The file name: Documentation/bpftool-prog.rst
> > should be, instead: tools/bpf/bpftool/Documentation/bpftool-prog.rst.
> > 
> > Update its cross-reference accordingly.
> > 
> > Fixes: a2b5944fb4e0 ("selftests/bpf: Check consistency between bpftool source, doc, completion")
> > Fixes: ff69c21a85a4 ("tools: bpftool: add documentation")  
> 
> Hi,
> How is this a fix for the commit that added the documentation in bpftool?
> 
> > Signed-off-by: Mauro Carvalho Chehab <[email-masked]>
> > ---
> >  tools/testing/selftests/bpf/test_bpftool_synctypes.py | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/tools/testing/selftests/bpf/test_bpftool_synctypes.py b/tools/testing/selftests/bpf/test_bpftool_synctypes.py
> > index be54b7335a76..27a2c369a798 100755
> > --- a/tools/testing/selftests/bpf/test_bpftool_synctypes.py
> > +++ b/tools/testing/selftests/bpf/test_bpftool_synctypes.py
> > @@ -374,7 +374,7 @@ class ManProgExtractor(ManPageExtractor):
> >      """
> >      An extractor for bpftool-prog.rst.
> >      """
> > -    filename = os.path.join(BPFTOOL_DIR, 'Documentation/bpftool-prog.rst')
> > +    filename = os.path.join(BPFTOOL_DIR, 'tools/bpf/bpftool/Documentation/bpftool-prog.rst')
> >  
> >      def get_attach_types(self):
> >          return self.get_rst_list('ATTACH_TYPE')
> >   
> 
> No I don't believe it should. BPFTOOL_DIR already contains
> 'tools/bpf/bpftool' and the os.path.join() concatenates the two path
> fragments.
> 
> Where is this suggestion coming from? Did you face an issue with the script?

No, I didn't face any issues with this script.

The suggestion cames from the script at:

	./scripts/documentation-file-ref-check

which is meant to discover broken doc references. 

Such script has already a rule to handle stuff under tools/:

		# Accept relative Documentation patches for tools/
		if ($f =~ m/tools/) {
			my $path = $f;
			$path =~ s,(.*)/.*,$1,;
			next if (grep -e, glob("$path/$ref $path/../$ref $path/$fulref"));
		}

but it seems it needs a fixup in order for it to stop reporting issues
at test_bpftool_synctypes.py:

	$ ./scripts/documentation-file-ref-check 
	...
	tools/testing/selftests/bpf/test_bpftool_synctypes.py: Documentation/bpftool-prog.rst
	tools/testing/selftests/bpf/test_bpftool_synctypes.py: Documentation/bpftool-map.rst
	tools/testing/selftests/bpf/test_bpftool_synctypes.py: Documentation/bpftool-cgroup.rst

I'll drop the patches touching it for a next version, probably
adding a fix for such script.

Thanks,
Mauro