On 10/6/25 00:10, Adriano Carvalho wrote:
As requested, I added this step to all doc targets.

This change looks wrong to me.

Everything needed to build the documentation should be in doc/sphinx/requirements.txt.

Everything needed to run tests should be in test/py/requirements.txt.

If there is an overlap that is fine. But, please, abstain from confusing the two.

Please, add missing dependencies to doc/sphinx/requirements.txt.


If I don't do this, this is what I get with
docker.io/trini/u-boot-gitlab-ci-runner:jammy-20250714-25Jul2025:

uboot@35c89b9ab70e:~/u-boot$ make pdfdocs
[...]
WARNING: autodoc: failed to import module 'test_bind'; the following exception 
was raised:
No module named 'pytest' [autodoc.import_object]

Why should pytest be needed to build documentation?

Something must be really wrong in the pdfdocs make target if this error comes up.

Best regards

Heinrich

WARNING: autodoc: failed to import module 'test_bootmenu'; the following 
exception was raised:
No module named 'pytest' [autodoc.import_object]
WARNING: autodoc: failed to import module 'test_bootstage'; the following 
exception was raised:
No module named 'pytest' [autodoc.import_object]
WARNING: autodoc: failed to import module 'test_button'; the following 
exception was raised:
No module named 'pytest' [autodoc.import_object]
WARNING: autodoc: failed to import module 'test_efi_loader'; the following 
exception was raised:
No module named 'pytest' [autodoc.import_object]
WARNING: autodoc: failed to import module 'test_net'; the following exception 
was raised:
No module named 'pytest' [autodoc.import_object]
WARNING: autodoc: failed to import module 'test_net_boot'; the following 
exception was raised:
No module named 'pytest' [autodoc.import_object]
[...]
build finished with problems, 7 warnings (with warnings treated as errors).
make[1]: *** [doc/Makefile:84: latexdocs] Error 1
make: *** [Makefile:2687: pdfdocs] Error 2

NOTE: This won't completely fix the pdfdocs target. See next commit(s).

Signed-off-by: Adriano Carvalho <[email protected]>
---
  doc/build/documentation.rst | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/doc/build/documentation.rst b/doc/build/documentation.rst
index f977781184d..483bdc42227 100644
--- a/doc/build/documentation.rst
+++ b/doc/build/documentation.rst
@@ -35,6 +35,7 @@ The *htmldocs* target is used to build the HTML 
documentation. It uses the
      . myenv/bin/activate
      # Install build requirements
      python3 -m pip install -r doc/sphinx/requirements.txt
+    python3 -m pip install -r test/py/requirements.txt
      # Build the documentation
      make htmldocs
      # Deactivate the Python environment
@@ -58,6 +59,7 @@ The *infodocs* target builds both a texinfo and an info file:
      . myenv/bin/activate
      # Install build requirements
      python3 -m pip install -r doc/sphinx/requirements.txt
+    python3 -m pip install -r test/py/requirements.txt
      # Build the documentation
      make infodocs
      # Deactivate the Python environment
@@ -78,6 +80,7 @@ The *pdfdocs* target is meant to be used to build PDF 
documentation:
      . myenv/bin/activate
      # Install build requirements
      python3 -m pip install -r doc/sphinx/requirements.txt
+    python3 -m pip install -r test/py/requirements.txt
      # Build the documentation
      make pdfdocs
      # Deactivate the Python environment
@@ -95,6 +98,7 @@ We can use texi2pdf instead:
      . myenv/bin/activate
      # Install build requirements
      python3 -m pip install -r doc/sphinx/requirements.txt
+    python3 -m pip install -r test/py/requirements.txt
      # Build the documentation
      make texinfodocs
      # Deactivate the Python environment
@@ -115,6 +119,7 @@ To build only the texinfo documentation the *texinfodocs* 
target is used:
      . myenv/bin/activate
      # Install build requirements
      python3 -m pip install -r doc/sphinx/requirements.txt
+    python3 -m pip install -r test/py/requirements.txt
      # Build the documentation
      make texinfodocs
      # Deactivate the Python environment

Reply via email to