2023-12-22 13:37:24

by Vegard Nossum

[permalink] [raw]
Subject: [PATCH net-next] Documentation: add pyyaml to requirements.txt

Commit f061c9f7d058 ("Documentation: Document each netlink family") added
a new Python script that is invoked during 'make htmldocs' and which reads
the netlink YAML spec files.

Using the virtualenv from scripts/sphinx-pre-install, we get this new
error wen running 'make htmldocs':

Traceback (most recent call last):
File "./tools/net/ynl/ynl-gen-rst.py", line 26, in <module>
import yaml
ModuleNotFoundError: No module named 'yaml'
make[2]: *** [Documentation/Makefile:112: Documentation/networking/netlink_spec/rt_link.rst] Error 1
make[1]: *** [Makefile:1708: htmldocs] Error 2

Fix this by adding 'pyyaml' to requirements.txt.

Note: This was somehow present in the original patch submission:
<https://lore.kernel.org/all/[email protected]/>
I'm not sure why the pyyaml requirement disappeared in the meantime.

Fixes: f061c9f7d058 ("Documentation: Document each netlink family")
Cc: Breno Leitao <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: Jonathan Corbet <[email protected]>
Signed-off-by: Vegard Nossum <[email protected]>
---
Documentation/sphinx/requirements.txt | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/sphinx/requirements.txt b/Documentation/sphinx/requirements.txt
index 335b53df35e2..a8a1aff6445e 100644
--- a/Documentation/sphinx/requirements.txt
+++ b/Documentation/sphinx/requirements.txt
@@ -1,3 +1,4 @@
# jinja2>=3.1 is not compatible with Sphinx<4.0
jinja2<3.1
Sphinx==2.4.4
+pyyaml
--
2.34.1



2023-12-22 17:41:07

by Jani Nikula

[permalink] [raw]
Subject: Re: [PATCH net-next] Documentation: add pyyaml to requirements.txt

On Fri, 22 Dec 2023, Vegard Nossum <[email protected]> wrote:
> Commit f061c9f7d058 ("Documentation: Document each netlink family") added
> a new Python script that is invoked during 'make htmldocs' and which reads
> the netlink YAML spec files.
>
> Using the virtualenv from scripts/sphinx-pre-install, we get this new
> error wen running 'make htmldocs':
>
> Traceback (most recent call last):
> File "./tools/net/ynl/ynl-gen-rst.py", line 26, in <module>
> import yaml
> ModuleNotFoundError: No module named 'yaml'
> make[2]: *** [Documentation/Makefile:112: Documentation/networking/netlink_spec/rt_link.rst] Error 1
> make[1]: *** [Makefile:1708: htmldocs] Error 2
>
> Fix this by adding 'pyyaml' to requirements.txt.
>
> Note: This was somehow present in the original patch submission:
> <https://lore.kernel.org/all/[email protected]/>
> I'm not sure why the pyyaml requirement disappeared in the meantime.

FWIW, not really specific to the patch at hand, but I'd always prefer
strictyaml [1] with schemas over plain yaml. You get strict typing and
validation of the data during parsing. It's pretty nice, maybe worth
looking into here.


BR,
Jani.


[1] https://hitchdev.com/strictyaml/



>
> Fixes: f061c9f7d058 ("Documentation: Document each netlink family")
> Cc: Breno Leitao <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: David S. Miller <[email protected]>
> Cc: Jonathan Corbet <[email protected]>
> Signed-off-by: Vegard Nossum <[email protected]>
> ---
> Documentation/sphinx/requirements.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/sphinx/requirements.txt b/Documentation/sphinx/requirements.txt
> index 335b53df35e2..a8a1aff6445e 100644
> --- a/Documentation/sphinx/requirements.txt
> +++ b/Documentation/sphinx/requirements.txt
> @@ -1,3 +1,4 @@
> # jinja2>=3.1 is not compatible with Sphinx<4.0
> jinja2<3.1
> Sphinx==2.4.4
> +pyyaml

--
Jani Nikula, Intel

2023-12-24 16:46:38

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH net-next] Documentation: add pyyaml to requirements.txt

On Fri, Dec 22, 2023 at 02:36:28PM +0100, Vegard Nossum wrote:
> Commit f061c9f7d058 ("Documentation: Document each netlink family") added
> a new Python script that is invoked during 'make htmldocs' and which reads
> the netlink YAML spec files.
>
> Using the virtualenv from scripts/sphinx-pre-install, we get this new
> error wen running 'make htmldocs':
>
> Traceback (most recent call last):
> File "./tools/net/ynl/ynl-gen-rst.py", line 26, in <module>
> import yaml
> ModuleNotFoundError: No module named 'yaml'
> make[2]: *** [Documentation/Makefile:112: Documentation/networking/netlink_spec/rt_link.rst] Error 1
> make[1]: *** [Makefile:1708: htmldocs] Error 2
>
> Fix this by adding 'pyyaml' to requirements.txt.
>
> Note: This was somehow present in the original patch submission:
> <https://lore.kernel.org/all/[email protected]/>
> I'm not sure why the pyyaml requirement disappeared in the meantime.
>
> Fixes: f061c9f7d058 ("Documentation: Document each netlink family")
> Cc: Breno Leitao <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: David S. Miller <[email protected]>
> Cc: Jonathan Corbet <[email protected]>
> Signed-off-by: Vegard Nossum <[email protected]>

I think the patch at the link above went through a few revisions
and landed as:

f061c9f7d058 ("Documentation: Document each netlink family")

And that along the way the requirements.txt update got lost.

Reviewed-by: Simon Horman <[email protected]>

2024-01-02 11:51:53

by Breno Leitao

[permalink] [raw]
Subject: Re: [PATCH net-next] Documentation: add pyyaml to requirements.txt

Hello Vegard,

On Fri, Dec 22, 2023 at 02:36:28PM +0100, Vegard Nossum wrote:
> Commit f061c9f7d058 ("Documentation: Document each netlink family") added
> a new Python script that is invoked during 'make htmldocs' and which reads
> the netlink YAML spec files.
>
> Using the virtualenv from scripts/sphinx-pre-install, we get this new
> error wen running 'make htmldocs':

The commit doesn't depend on sphinx. This is a standalone script now.
The requirements file is at tools/net/ynl/requirements.txt not in sphinx

> Note: This was somehow present in the original patch submission:
> <https://lore.kernel.org/all/[email protected]/>
> I'm not sure why the pyyaml requirement disappeared in the meantime.

It disapperared because the original patch version was a sphinx module,
thus, pyaml was not at sphinx dependency.

In the commit final form, the script is a standalone script inside
'tools/net/ynl', and PyYAML is already tracked in
`tools/net/ynl/requirements.txt`.

That said, can you try to install `tools/net/ynl/requirements.txt` and
see if you are able to reproduce the problem?

2024-01-02 13:50:57

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net-next] Documentation: add pyyaml to requirements.txt

Hello:

This patch was applied to netdev/net-next.git (main)
by David S. Miller <[email protected]>:

On Fri, 22 Dec 2023 14:36:28 +0100 you wrote:
> Commit f061c9f7d058 ("Documentation: Document each netlink family") added
> a new Python script that is invoked during 'make htmldocs' and which reads
> the netlink YAML spec files.
>
> Using the virtualenv from scripts/sphinx-pre-install, we get this new
> error wen running 'make htmldocs':
>
> [...]

Here is the summary with links:
- [net-next] Documentation: add pyyaml to requirements.txt
https://git.kernel.org/netdev/net-next/c/7df54188a897

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html