| Message ID | 20260211-fix-make-multi-target-v3-1-1168a6f1525f@cherry.de |
|---|---|
| State | Changes Requested |
| Headers | show |
| Series | [v3] convert SVGs to PDF and PNG using sphinxcontrib.rsvgconverter plugin | expand |
Hi, On Wed Feb 11, 2026 at 4:25 PM CET, Quentin Schulz via lists.yoctoproject.org wrote: [...] > diff --git a/documentation/tools/host_packages_scripts/pip3_docs.sh b/documentation/tools/host_packages_scripts/pip3_docs.sh > index 907ecec55..3e4045e7e 100644 > --- a/documentation/tools/host_packages_scripts/pip3_docs.sh > +++ b/documentation/tools/host_packages_scripts/pip3_docs.sh > @@ -1 +1 @@ > -sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton > +sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0' pip3_docs.sh is not used for ubuntu and debian, meaning we need to find the equivalent package to add to documentation/tools/host_packages_scripts/ubuntu_docs.sh, or write a custom pip3_docs.sh file for ubuntu/debian. Or drop the ubuntu_docs.sh file and use pip3_docs.sh for ubuntu/debian, which would make this kind of mistakes unlikely to happen. What do you think? Antonin
Hi Antonin, On 2/12/26 9:50 AM, Antonin Godard wrote: > Hi, > > On Wed Feb 11, 2026 at 4:25 PM CET, Quentin Schulz via lists.yoctoproject.org wrote: > [...] >> diff --git a/documentation/tools/host_packages_scripts/pip3_docs.sh b/documentation/tools/host_packages_scripts/pip3_docs.sh >> index 907ecec55..3e4045e7e 100644 >> --- a/documentation/tools/host_packages_scripts/pip3_docs.sh >> +++ b/documentation/tools/host_packages_scripts/pip3_docs.sh >> @@ -1 +1 @@ >> -sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton >> +sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0' > > pip3_docs.sh is not used for ubuntu and debian, meaning we need to find the Woopsies. > equivalent package to add to > documentation/tools/host_packages_scripts/ubuntu_docs.sh, or write a custom There's none as far as I could tell and even if there was one, unlikely to be 2.0.0 for all Debian/Ubuntu versions as they are generally pretty conservative with upgrades and this was a recent one. > pip3_docs.sh file for ubuntu/debian. > > Or drop the ubuntu_docs.sh file and use pip3_docs.sh for ubuntu/debian, which > would make this kind of mistakes unlikely to happen. What do you think? > I don't mind either way. Makes it easier to maintain if all use the same packages from pip is my opinion. What would you prefer? Cheers, Quentin
On Thu Feb 12, 2026 at 10:39 AM CET, Quentin Schulz wrote: > Hi Antonin, > > On 2/12/26 9:50 AM, Antonin Godard wrote: >> Hi, >> >> On Wed Feb 11, 2026 at 4:25 PM CET, Quentin Schulz via lists.yoctoproject.org wrote: >> [...] >>> diff --git a/documentation/tools/host_packages_scripts/pip3_docs.sh b/documentation/tools/host_packages_scripts/pip3_docs.sh >>> index 907ecec55..3e4045e7e 100644 >>> --- a/documentation/tools/host_packages_scripts/pip3_docs.sh >>> +++ b/documentation/tools/host_packages_scripts/pip3_docs.sh >>> @@ -1 +1 @@ >>> -sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton >>> +sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0' >> >> pip3_docs.sh is not used for ubuntu and debian, meaning we need to find the > > Woopsies. > >> equivalent package to add to >> documentation/tools/host_packages_scripts/ubuntu_docs.sh, or write a custom > > There's none as far as I could tell and even if there was one, unlikely > to be 2.0.0 for all Debian/Ubuntu versions as they are generally pretty > conservative with upgrades and this was a recent one. > >> pip3_docs.sh file for ubuntu/debian. >> >> Or drop the ubuntu_docs.sh file and use pip3_docs.sh for ubuntu/debian, which >> would make this kind of mistakes unlikely to happen. What do you think? >> > > I don't mind either way. Makes it easier to maintain if all use the same > packages from pip is my opinion. > > What would you prefer? I prefer having pip3_docs.sh shared between all. Do you mind deleting ubuntu_docs.sh and replacing it with pip3_docs.sh in a separate patch? Thanks! Antonin
Hi Antonin, On 2/12/26 10:49 AM, Antonin Godard wrote: > On Thu Feb 12, 2026 at 10:39 AM CET, Quentin Schulz wrote: >> Hi Antonin, >> >> On 2/12/26 9:50 AM, Antonin Godard wrote: >>> Hi, >>> >>> On Wed Feb 11, 2026 at 4:25 PM CET, Quentin Schulz via lists.yoctoproject.org wrote: >>> [...] >>>> diff --git a/documentation/tools/host_packages_scripts/pip3_docs.sh b/documentation/tools/host_packages_scripts/pip3_docs.sh >>>> index 907ecec55..3e4045e7e 100644 >>>> --- a/documentation/tools/host_packages_scripts/pip3_docs.sh >>>> +++ b/documentation/tools/host_packages_scripts/pip3_docs.sh >>>> @@ -1 +1 @@ >>>> -sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton >>>> +sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0' >>> >>> pip3_docs.sh is not used for ubuntu and debian, meaning we need to find the >> >> Woopsies. >> >>> equivalent package to add to >>> documentation/tools/host_packages_scripts/ubuntu_docs.sh, or write a custom >> >> There's none as far as I could tell and even if there was one, unlikely >> to be 2.0.0 for all Debian/Ubuntu versions as they are generally pretty >> conservative with upgrades and this was a recent one. >> >>> pip3_docs.sh file for ubuntu/debian. >>> >>> Or drop the ubuntu_docs.sh file and use pip3_docs.sh for ubuntu/debian, which >>> would make this kind of mistakes unlikely to happen. What do you think? >>> >> >> I don't mind either way. Makes it easier to maintain if all use the same >> packages from pip is my opinion. >> >> What would you prefer? > > I prefer having pip3_docs.sh shared between all. Do you mind deleting > ubuntu_docs.sh and replacing it with pip3_docs.sh in a separate patch? > Working on it, and I'll check that the docs can be built with all containers this time. Good catch :) Cheers, Quentin
diff --git a/documentation/Makefile b/documentation/Makefile index e144a50b4..897db2b5a 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -10,11 +10,8 @@ VALEOPTS ?= --no-wrap --glob '!migration-guides/release-notes-*.rst' SOURCEDIR = . VALEDOCS ?= $(SOURCEDIR) SPHINXLINTDOCS ?= $(SOURCEDIR) -IMAGEDIRS = */svg BUILDDIR = _build DESTDIR = final -SVG2PNG = rsvg-convert -SVG2PDF = rsvg-convert ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0) $(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed") @@ -24,7 +21,7 @@ endif help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -.PHONY: all checks help Makefile clean stylecheck publish epub latexpdf +.PHONY: all checks help Makefile clean stylecheck publish latexpdf publish: Makefile checks epub latexpdf html singlehtml rm -rf $(BUILDDIR)/$(DESTDIR)/ @@ -35,22 +32,8 @@ publish: Makefile checks epub latexpdf html singlehtml cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html -# Build a list of SVG files to convert to PDFs -PDFs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.pdf,$(wildcard $(SOURCEDIR)/$(dir)/*.svg))) - -# Build a list of SVG files to convert to PNGs -PNGs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.png,$(wildcard $(SOURCEDIR)/$(dir)/*.svg))) - -# Pattern rule for converting SVG to PDF -%.pdf : %.svg - $(SVG2PDF) --format=pdf --output=$@ $< - -# Pattern rule for converting SVG to PNG -%.png : %.svg - $(SVG2PNG) --format=png --output=$@ $< - clean: - @rm -rf $(BUILDDIR) $(PNGs) $(PDFs) poky.yaml sphinx-static/switchers.js releases.rst + @rm -rf $(BUILDDIR) poky.yaml sphinx-static/switchers.js releases.rst checks: $(SOURCEDIR)/tools/check-glossaries --docs-dir $(SOURCEDIR) @@ -62,14 +45,10 @@ stylecheck: sphinx-lint: sphinx-lint $(SPHINXLINTDOCS) -epub: $(PNGs) - $(SOURCEDIR)/set_versions.py - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - # Note: we need to pass buf_size here (which is also configurable from # texmf.cnf), to avoid following error: # Unable to read an entire line---bufsize=200000. Please increase buf_size in texmf.cnf. -latexpdf: $(PDFs) +latexpdf: $(SOURCEDIR)/set_versions.py buf_size=10000000 $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/documentation/Pipfile b/documentation/Pipfile index 1fa2df31e..67fce078d 100644 --- a/documentation/Pipfile +++ b/documentation/Pipfile @@ -10,6 +10,8 @@ sphinx = "*" sphinx-rtd-theme = "*" pyyaml = "*" sphinx-copybutton = "*" +# SVG to PNG only supported since 2.0.0 +sphinxcontrib-svg2pdfconverter = ">=2.0.0" [requires] python_version = "3" diff --git a/documentation/conf.py b/documentation/conf.py index 3d04f9057..5a69977cf 100644 --- a/documentation/conf.py +++ b/documentation/conf.py @@ -67,6 +67,7 @@ extensions = [ 'sphinx.ext.extlinks', 'sphinx.ext.intersphinx', 'sphinx_copybutton', + 'sphinxcontrib.rsvgconverter', 'yocto-vars' ] autosectionlabel_prefix_document = True diff --git a/documentation/tools/host_packages_scripts/pip3_docs.sh b/documentation/tools/host_packages_scripts/pip3_docs.sh index 907ecec55..3e4045e7e 100644 --- a/documentation/tools/host_packages_scripts/pip3_docs.sh +++ b/documentation/tools/host_packages_scripts/pip3_docs.sh @@ -1 +1 @@ -sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton +sudo pip3 install sphinx sphinx_rtd_theme pyyaml sphinx-copybutton 'sphinxcontrib-svg2pdfconverter>=2.0.0'