| Message ID | 20251203-svg2pdf-v3-1-879d05cb101b@cherry.de |
|---|---|
| State | New |
| Headers | show |
| Series | buildtools-docs-tarball: add new Sphinx extension svg2pdfconverter | expand |
On Wed Dec 3, 2025 at 12:32 PM CET, Quentin Schulz wrote: > From: Quentin Schulz <quentin.schulz@cherry.de> > > This will be a dependency for building the Yocto docs soon, so let's add > a recipe for it. > > This does SVG to PDF (or PNG) conversion for images used in Sphinx > projects. > > It exposes three different Sphinx extensions, each using a different > tool for the conversion: > - cairosvg, a Python module with no available recipe, > - inkscape, only available in seemingly unmaintained 3rd party layer, > - rsvg-convert, > > So we'll only support the last extension for now. > > Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> > --- Hi Quentin, Thanks for your patch. > meta/conf/distro/include/maintainers.inc | 1 + > .../python3-sphinxcontrib-svg2pdfconverter_2.0.0.bb | 20 ++++++++++++++++++++ > 2 files changed, 21 insertions(+) > > diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc > index 9f4e5e2df8..f819a21cce 100644 > --- a/meta/conf/distro/include/maintainers.inc > +++ b/meta/conf/distro/include/maintainers.inc > @@ -733,6 +733,7 @@ RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jquery = "Tim Orling <tim.orling@kons > RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jsmath = "Tim Orling <tim.orling@konsulko.com>" > RECIPE_MAINTAINER:pn-python3-sphinxcontrib-qthelp = "Tim Orling <tim.orling@konsulko.com>" > RECIPE_MAINTAINER:pn-python3-sphinxcontrib-serializinghtml = "Tim Orling <tim.orling@konsulko.com>" > +RECIPE_MAINTAINER:pn-python3-sphinxcontrib-svg2pdfconverter = "Antonin Godard <antonin.godard@bootlin.com>" It looks like this is not enough to make QA happy: 2025-12-03 10:53:56,449 - oe-selftest - INFO - FAIL: distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase) 2025-12-03 10:53:56,449 - oe-selftest - INFO - ---------------------------------------------------------------------- 2025-12-03 10:53:56,449 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last): File "/srv/pokybuild/yocto-worker/oe-selftest-debian/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/distrodata.py", line 105, in test_maintainers self.fail(""" File "/usr/lib/python3.10/unittest/case.py", line 675, in fail raise self.failureException(msg) AssertionError: The following recipes do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file. python3-sphinxcontrib-svg2pdfconverter (/srv/pokybuild/yocto-worker/oe-selftest-debian/build/layers/openembedded-core/meta/recipes-devtools/python/python3-sphinxcontrib-svg2pdfconverter_2.0.0.bb) https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2786 https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2681 Can you have a look at this? Thanks, Mathieu
Hi Mathieu, On 12/3/25 1:18 PM, Mathieu Dubois-Briand wrote: > On Wed Dec 3, 2025 at 12:32 PM CET, Quentin Schulz wrote: >> From: Quentin Schulz <quentin.schulz@cherry.de> >> >> This will be a dependency for building the Yocto docs soon, so let's add >> a recipe for it. >> >> This does SVG to PDF (or PNG) conversion for images used in Sphinx >> projects. >> >> It exposes three different Sphinx extensions, each using a different >> tool for the conversion: >> - cairosvg, a Python module with no available recipe, >> - inkscape, only available in seemingly unmaintained 3rd party layer, >> - rsvg-convert, >> >> So we'll only support the last extension for now. >> >> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> >> --- > > Hi Quentin, > > Thanks for your patch. > >> meta/conf/distro/include/maintainers.inc | 1 + >> .../python3-sphinxcontrib-svg2pdfconverter_2.0.0.bb | 20 ++++++++++++++++++++ >> 2 files changed, 21 insertions(+) >> >> diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc >> index 9f4e5e2df8..f819a21cce 100644 >> --- a/meta/conf/distro/include/maintainers.inc >> +++ b/meta/conf/distro/include/maintainers.inc >> @@ -733,6 +733,7 @@ RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jquery = "Tim Orling <tim.orling@kons >> RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jsmath = "Tim Orling <tim.orling@konsulko.com>" >> RECIPE_MAINTAINER:pn-python3-sphinxcontrib-qthelp = "Tim Orling <tim.orling@konsulko.com>" >> RECIPE_MAINTAINER:pn-python3-sphinxcontrib-serializinghtml = "Tim Orling <tim.orling@konsulko.com>" >> +RECIPE_MAINTAINER:pn-python3-sphinxcontrib-svg2pdfconverter = "Antonin Godard <antonin.godard@bootlin.com>" > > It looks like this is not enough to make QA happy: > > 2025-12-03 10:53:56,449 - oe-selftest - INFO - FAIL: distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase) > 2025-12-03 10:53:56,449 - oe-selftest - INFO - ---------------------------------------------------------------------- > 2025-12-03 10:53:56,449 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last): > File "/srv/pokybuild/yocto-worker/oe-selftest-debian/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/distrodata.py", line 105, in test_maintainers > self.fail(""" > File "/usr/lib/python3.10/unittest/case.py", line 675, in fail > raise self.failureException(msg) > AssertionError: > The following recipes do not have a maintainer assigned to them. Please add an entry to meta/conf/distro/include/maintainers.inc file. > python3-sphinxcontrib-svg2pdfconverter (/srv/pokybuild/yocto-worker/oe-selftest-debian/build/layers/openembedded-core/meta/recipes-devtools/python/python3-sphinxcontrib-svg2pdfconverter_2.0.0.bb) > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2786 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2681 > > Can you have a look at this? > It says "Finished two hours ago" at the top of the provided link but I sent v3 more recently than that. How do I know which patch(es) were applied from the logs? I went into "Build properties" and it points at mathieu/master-next branch for oe-core from openembedded-core-contrib repo at commit 687147e96e53a1ddb3842a3d190a683161e82167 but this isn't the proper HEAD anymore, so I had to start from commit 687147e96e53a1ddb3842a3d190a683161e82167 from cgit and then go to its parent recursively until I reached https://git.openembedded.org/openembedded-core-contrib/commit/?h=mathieu/master-next&id=141b8fdfdc311053d69eab6adbec5c3b09e3acee which is v2. Is there any chance we can have an easier way to figure this out? I also ran the test locally with oe-selftest -r distrodata.Distrodata.test_maintainers and it passed. Cheers, Quentin
On Wed Dec 3, 2025 at 1:41 PM CET, Quentin Schulz wrote: > Hi Mathieu, > > > It says "Finished two hours ago" at the top of the provided link but I > sent v3 more recently than that. > > How do I know which patch(es) were applied from the logs? I went into > "Build properties" and it points at mathieu/master-next branch for > oe-core from openembedded-core-contrib repo at commit > 687147e96e53a1ddb3842a3d190a683161e82167 but this isn't the proper HEAD > anymore, so I had to start from commit > 687147e96e53a1ddb3842a3d190a683161e82167 from cgit and then go to its > parent recursively until I reached > https://git.openembedded.org/openembedded-core-contrib/commit/?h=mathieu/master-next&id=141b8fdfdc311053d69eab6adbec5c3b09e3acee > which is v2. Is there any chance we can have an easier way to figure > this out? > > I also ran the test locally with > > oe-selftest -r distrodata.Distrodata.test_maintainers > > and it passed. > > Cheers, > Quentin My bad, this was indeed an earlier revision: https://git.yoctoproject.org/poky-ci-archive/commit/?h=oecore/autobuilder.yoctoproject.org/valkyrie/a-full-2814&id=141b8fdfdc311053d69eab6adbec5c3b09e3acee Sorry for the noise.
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 9f4e5e2df8..f819a21cce 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -733,6 +733,7 @@ RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jquery = "Tim Orling <tim.orling@kons RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jsmath = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-sphinxcontrib-qthelp = "Tim Orling <tim.orling@konsulko.com>" RECIPE_MAINTAINER:pn-python3-sphinxcontrib-serializinghtml = "Tim Orling <tim.orling@konsulko.com>" +RECIPE_MAINTAINER:pn-python3-sphinxcontrib-svg2pdfconverter = "Antonin Godard <antonin.godard@bootlin.com>" RECIPE_MAINTAINER:pn-python3-subunit = "Trevor Gamblin <tgamblin@baylibre.com>" RECIPE_MAINTAINER:pn-python3-testtools = "Trevor Gamblin <tgamblin@baylibre.com>" RECIPE_MAINTAINER:pn-python3-trove-classifiers = "Trevor Gamblin <tgamblin@baylibre.com>" diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-svg2pdfconverter_2.0.0.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-svg2pdfconverter_2.0.0.bb new file mode 100644 index 0000000000..1bf3e55ebd --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinxcontrib-svg2pdfconverter_2.0.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Sphinx SVG to PDF or PNG converter extension" +HOMEPAGE = "https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b11cf936853a71258d4b57bb1849a3f9" + +SRC_URI[sha256sum] = "ab9c8f1080391e231812d20abf2657a69ee35574563b1014414f953964a95fa3" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "sphinxcontrib_svg2pdfconverter" +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" + +RDEPENDS:${PN} = "python3-sphinx" +# Only support sphinxcontrib.rsvgconverter for now. +# sphinxcontrib.cairosvgconverter depends on cairosvg module, no recipe yet +# sphinxcontrib.inkscapeconverter depends on inkscape, recipe in meta-office, +# 3rd-party layer not updated in years +RDEPENDS:${PN} += "librsvg" + +BBCLASSEXTEND = "native nativesdk"