@@ -15,7 +15,7 @@ that goes into great technical depth about the BPF Architecture. libbpf ======-Documentation/bpf/libbpf/libbpf.rst is a userspace library for loading and interacting with bpf programs.+Documentation/bpf/libbpf/index.rst is a userspace library for loading and interacting with bpf programs. BPF Type Format (BTF) =====================
@@ -296,7 +296,7 @@ not available. Device Tree bindings and board design =====================================-This section references ``Documentation/devicetree/bindings/net/dsa/sja1105.txt``+This section references ``Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml`` and aims to showcase some potential switch caveats. RMII PHY role and out-of-band signaling
@@ -374,7 +374,7 @@ class ManProgExtractor(ManPageExtractor):"""Anextractorforbpftool-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')defget_attach_types(self):returnself.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?
Same comment applies for the next two patches.
Quentin
@@ -374,7 +374,7 @@ class ManProgExtractor(ManPageExtractor):"""Anextractorforbpftool-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')defget_attach_types(self):returnself.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
@@ -374,7 +374,7 @@ class ManProgExtractor(ManPageExtractor):"""Anextractorforbpftool-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')defget_attach_types(self):returnself.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
Oh, I see, thanks for explaining. I didn't know this script would catch
the paths in bpftool's test file.
I'll drop the patches touching it for a next version, probably
adding a fix for such script.
Thanks,
Mauro
@@ -374,7 +374,7 @@ class ManProgExtractor(ManPageExtractor):"""Anextractorforbpftool-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')defget_attach_types(self):returnself.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
Oh, I see, thanks for explaining. I didn't know this script would catch
the paths in bpftool's test file.
quoted
I'll drop the patches touching it for a next version, probably
adding a fix for such script.
Thanks,
Mauro
Sounds good to me, thanks a lot!
The enclosed patch should do the trick.
Quentin
Thanks,
Mauro
[PATCH] scripts: documentation-file-ref-check: fix bpf selftests path
tools/testing/selftests/bpf/test_bpftool_synctypes.py use
relative patches on the top of BPFTOOL_DIR:
BPFTOOL_DIR = os.path.join(LINUX_ROOT, 'tools/bpf/bpftool')
Change the script to automatically convert:
testing/selftests/bpf -> bpf/bpftool
In order to properly check the files used by such script.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
[PATCH] scripts: documentation-file-ref-check: fix bpf selftests path
tools/testing/selftests/bpf/test_bpftool_synctypes.py use
relative patches on the top of BPFTOOL_DIR:
BPFTOOL_DIR = os.path.join(LINUX_ROOT, 'tools/bpf/bpftool')
Change the script to automatically convert:
testing/selftests/bpf -> bpf/bpftool
In order to properly check the files used by such script.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
@@ -144,6 +144,7 @@ while (<IN>) { if ($f =~ m/tools/) { my $path = $f; $path =~ s,(.*)/.*,$1,;+ $path =~ s,testing/selftests/bpf,bpf/bpftool,; next if (grep -e, glob("$path/$ref $path/../$ref $path/$fulref")); }
I tested the patch and it works well on my side.
However, this looks a bit fragile to me. There is no particular reason
to have testing/selftests/bpf point to bpf/bpftool other than to
accommodate the current case, we could imagine other selftest files
pointing to other parts of the documentation in the future. I would
instead make an exception for test_bpftool_synctypes.py specifically
(other selftest files don't usually parse documentation anyway).
Alternatively, I would look at excluding lines where the path is used in
code (tricky to detect), maybe at least when used with os.path.join():
next if ($ln =~ m,os\.path\.join\([^\,]*\,\s*['"]$fulref,);
But I'm not familiar with documentation-file-ref-check in the first
place, so these are just my two cents.
Thanks,
Quentin