Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx> writes: > As discussed at: > https://lore.kernel.org/all/20250610101331.62ba466f@xxxxxxx/ > > changeset f061c9f7d058 ("Documentation: Document each netlink family") > added a logic which generates *.rst files inside $(srctree). This is bad > when O=<BUILDDIR> is used. > > A recent change renamed the yaml files used by Netlink, revealing a bad > side effect: as "make cleandocs" don't clean the produced files and symbols > appear duplicated for people that don't build the kernel from scratch. > > This series adds an yaml parser extension and uses an index file with glob for > *. We opted to write such extension in a way that no actual yaml conversion > code is inside it. This makes it flexible enough to handle other types of yaml > files in the future. The actual yaml conversion logic were placed at > netlink_yml_parser.py. > > As requested by YNL maintainers, this version has netlink_yml_parser.py > inside tools/net/ynl/pyynl/ directory. I don't like mixing libraries with > binaries, nor to have Python libraries spread all over the Kernel. IMO, > the best is to put all of them on a common place (scripts/lib, python/lib, > lib/python, ...) but, as this can be solved later, for now let's keep it this > way. > > --- Note that the series leaves the YNL build broken. make -C tools/net/ynl/ make: Entering directory '/home/donaldh/net-next/tools/net/ynl' make[1]: Entering directory '/home/donaldh/net-next/tools/net/ynl/lib' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/donaldh/net-next/tools/net/ynl/lib' make[1]: Entering directory '/home/donaldh/net-next/tools/net/ynl/generated' GEN_RST conntrack.rst Traceback (most recent call last): File "/home/donaldh/net-next/tools/net/ynl/generated/../pyynl/ynl_gen_rst.py", line 90, in <module> main() ~~~~^^ File "/home/donaldh/net-next/tools/net/ynl/generated/../pyynl/ynl_gen_rst.py", line 86, in main write_to_rstfile(content, args.output) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/home/donaldh/net-next/tools/net/ynl/generated/../pyynl/ynl_gen_rst.py", line 64, in write_to_rstfile os.makedirs(directory, exist_ok=True) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen os>", line 227, in makedirs FileNotFoundError: [Errno 2] No such file or directory: '' make[1]: *** [Makefile:56: conntrack.rst] Error 1 make[1]: Leaving directory '/home/donaldh/net-next/tools/net/ynl/generated' make: *** [Makefile:25: generated] Error 2 make: Leaving directory '/home/donaldh/net-next/tools/net/ynl'