Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v3 0/2] buildtools-docs-tarball: add new Sphinx extension svg2pdfconverter
@ 2025-12-03 11:32 Quentin Schulz
  2025-12-03 11:32 ` [PATCH v3 1/2] python3-sphinxcontrib-svg2pdfconverter: add new recipe Quentin Schulz
  2025-12-03 11:32 ` [PATCH v3 2/2] buildtools-docs-tarball: add python3-sphinxcontrib-svg2pdfconverter to the SDK Quentin Schulz
  0 siblings, 2 replies; 6+ messages in thread
From: Quentin Schulz @ 2025-12-03 11:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Antonin Godard, Quentin Schulz

This will soon be required to build the Yocto docs, so add a recipe for
the Sphinx extension and add it to the docs tarball.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
---
Changes in v3:
- added Antonin as maintainer of the newly added recipe (thanks!),
- removed changes from patch 1 to
  scripts/lib/recipetool/create_buildsys_python.py as those weren't
  supposed to be sent in this series,
- Link to v2: https://patch.msgid.link/20251202-svg2pdf-v2-0-529856a2b6da@cherry.de

Changes in v2:
- fixed incorrect PYPI_PACKAGE that was set by `devtool add`,
- fixed default UPSTREAM_CHECK_PYPI_PACKAGE so latest version is found,
  sphinxcontrib-svg2pdfconverter (the default) is used only until 1.2.2
  (included),
- Link to v1: https://patch.msgid.link/20251202-svg2pdf-v1-0-bf4bd322e528@cherry.de

---
Quentin Schulz (2):
      python3-sphinxcontrib-svg2pdfconverter: add new recipe
      buildtools-docs-tarball: add python3-sphinxcontrib-svg2pdfconverter to the SDK

 meta/conf/distro/include/maintainers.inc             |  1 +
 meta/recipes-core/meta/buildtools-docs-tarball.bb    |  1 +
 .../python3-sphinxcontrib-svg2pdfconverter_2.0.0.bb  | 20 ++++++++++++++++++++
 3 files changed, 22 insertions(+)
---
base-commit: ac7327583aef83fd400190506f3147623de38b68
change-id: 20251202-svg2pdf-e35074cd8cea

Best regards,
-- 
Quentin Schulz <quentin.schulz@cherry.de>



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 1/2] python3-sphinxcontrib-svg2pdfconverter: add new recipe
  2025-12-03 11:32 [PATCH v3 0/2] buildtools-docs-tarball: add new Sphinx extension svg2pdfconverter Quentin Schulz
@ 2025-12-03 11:32 ` Quentin Schulz
  2025-12-03 12:18   ` [OE-core] " Mathieu Dubois-Briand
  2025-12-03 11:32 ` [PATCH v3 2/2] buildtools-docs-tarball: add python3-sphinxcontrib-svg2pdfconverter to the SDK Quentin Schulz
  1 sibling, 1 reply; 6+ messages in thread
From: Quentin Schulz @ 2025-12-03 11:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Antonin Godard, Quentin Schulz

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>
---
 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>"
 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"

-- 
2.52.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 2/2] buildtools-docs-tarball: add python3-sphinxcontrib-svg2pdfconverter to the SDK
  2025-12-03 11:32 [PATCH v3 0/2] buildtools-docs-tarball: add new Sphinx extension svg2pdfconverter Quentin Schulz
  2025-12-03 11:32 ` [PATCH v3 1/2] python3-sphinxcontrib-svg2pdfconverter: add new recipe Quentin Schulz
@ 2025-12-03 11:32 ` Quentin Schulz
  1 sibling, 0 replies; 6+ messages in thread
From: Quentin Schulz @ 2025-12-03 11:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Antonin Godard, Quentin Schulz

From: Quentin Schulz <quentin.schulz@cherry.de>

This will soon be required for building the Yocto docs so let's add it
to the SDK toolchain.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
---
 meta/recipes-core/meta/buildtools-docs-tarball.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-core/meta/buildtools-docs-tarball.bb b/meta/recipes-core/meta/buildtools-docs-tarball.bb
index 98d47f7b71..3fc28fad93 100644
--- a/meta/recipes-core/meta/buildtools-docs-tarball.bb
+++ b/meta/recipes-core/meta/buildtools-docs-tarball.bb
@@ -10,6 +10,7 @@ TOOLCHAIN_HOST_TASK += "\
     nativesdk-python3-sphinx-argparse \
     nativesdk-python3-sphinx-copybutton \
     nativesdk-python3-sphinx-rtd-theme \
+    nativesdk-python3-sphinxcontrib-svg2pdfconverter \
     nativesdk-python3-pyyaml \
     nativesdk-rsvg \
     "

-- 
2.52.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [OE-core] [PATCH v3 1/2] python3-sphinxcontrib-svg2pdfconverter: add new recipe
  2025-12-03 11:32 ` [PATCH v3 1/2] python3-sphinxcontrib-svg2pdfconverter: add new recipe Quentin Schulz
@ 2025-12-03 12:18   ` Mathieu Dubois-Briand
  2025-12-03 12:41     ` Quentin Schulz
  0 siblings, 1 reply; 6+ messages in thread
From: Mathieu Dubois-Briand @ 2025-12-03 12:18 UTC (permalink / raw)
  To: Quentin Schulz, openembedded-core; +Cc: Antonin Godard, Quentin Schulz

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

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] [PATCH v3 1/2] python3-sphinxcontrib-svg2pdfconverter: add new recipe
  2025-12-03 12:18   ` [OE-core] " Mathieu Dubois-Briand
@ 2025-12-03 12:41     ` Quentin Schulz
  2025-12-03 15:24       ` Mathieu Dubois-Briand
  0 siblings, 1 reply; 6+ messages in thread
From: Quentin Schulz @ 2025-12-03 12:41 UTC (permalink / raw)
  To: Mathieu Dubois-Briand, Quentin Schulz, openembedded-core; +Cc: Antonin Godard

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] [PATCH v3 1/2] python3-sphinxcontrib-svg2pdfconverter: add new recipe
  2025-12-03 12:41     ` Quentin Schulz
@ 2025-12-03 15:24       ` Mathieu Dubois-Briand
  0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Dubois-Briand @ 2025-12-03 15:24 UTC (permalink / raw)
  To: Quentin Schulz, Quentin Schulz, openembedded-core; +Cc: Antonin Godard

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.

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-12-03 15:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-03 11:32 [PATCH v3 0/2] buildtools-docs-tarball: add new Sphinx extension svg2pdfconverter Quentin Schulz
2025-12-03 11:32 ` [PATCH v3 1/2] python3-sphinxcontrib-svg2pdfconverter: add new recipe Quentin Schulz
2025-12-03 12:18   ` [OE-core] " Mathieu Dubois-Briand
2025-12-03 12:41     ` Quentin Schulz
2025-12-03 15:24       ` Mathieu Dubois-Briand
2025-12-03 11:32 ` [PATCH v3 2/2] buildtools-docs-tarball: add python3-sphinxcontrib-svg2pdfconverter to the SDK Quentin Schulz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox