diff mbox series

[v3,1/3] python3-pyzstd: import 0.17.0 from meta-python

Message ID 20251217150828.1044438-2-koen.kooi@oss.qualcomm.com
State Accepted, archived
Commit 88a27133c184125e1503d1397cbd276a9a76f6ab
Headers show
Series Fix and adjust ukify packaging | expand

Commit Message

Koen Kooi Dec. 17, 2025, 3:08 p.m. UTC
From the upstream website:
	Pyzstd module provides classes and functions for compressing and
	decompressing data, using Facebook's Zstandard (or zstd as short name)
	algorithm.

This recipe is being moved over for systemd 258.x, the 'ukify' tool
depends on this.

Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
---

Changes since v1:
 * Adjusted pyzstd patch to not specify an upper limit to the setuptools
   version, as suggested by Alexander Kanavin.

 ...emove-setuptools-version-limit-of-74.patch | 27 +++++++++++++++++++
 .../python/python3-pyzstd_0.17.0.bb           | 19 +++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
 create mode 100644 meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb

Comments

Mathieu Dubois-Briand Dec. 18, 2025, 1:40 p.m. UTC | #1
On Wed Dec 17, 2025 at 4:08 PM CET, Koen Kooi via lists.openembedded.org wrote:
> From the upstream website:
> 	Pyzstd module provides classes and functions for compressing and
> 	decompressing data, using Facebook's Zstandard (or zstd as short name)
> 	algorithm.
>
> This recipe is being moved over for systemd 258.x, the 'ukify' tool
> depends on this.
>
> Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
> ---

Hi Koen,

Thanks for the new version.

> diff --git a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb b/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> new file mode 100644
> index 0000000000..0ed6cd47c7
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb

A new entry should be added in meta/conf/distro/include/maintainers.inc
for this recipe:

2025-12-18 08:49:56,223 - oe-selftest - INFO - distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase)
2025-12-18 08:49:56,223 - oe-selftest - INFO -  ... FAIL
...
2025-12-18 08:49:56,224 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/distrodata.py", line 105, in test_maintainers
    self.fail("""
  File "/usr/lib64/python3.9/unittest/case.py", line 676, 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-pyzstd (/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/layers/openembedded-core/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb)

https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2854
https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2747

> @@ -0,0 +1,19 @@
> +DESCRIPTION = "Pyzstd module provides classes and functions for compressing and \
> +decompressing data, using Facebook’s Zstandard (or zstd as short name) algorithm."
> +HOMEPAGE = "https://github.com/animalize/pyzstd"
> +SECTION = "devel/python"
> +

You also need to add a SUMMARY line here. QA complains:

WARNING: python3-pyzstd-0.17.0-r0 do_recipe_qa: QA Issue: Recipe python3-pyzstd in /srv/pokybuild/yocto-worker/qemuriscv64-ptest/build/layers/openembedded-core/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb does not contain a SUMMARY. Please add an entry. [missing-metadata]
WARNING: python3-pyzstd-0.17.0-r0 do_recipe_qa: QA Issue: Recipe python3-pyzstd in /srv/pokybuild/yocto-worker/qemuriscv64-ptest/build/layers/openembedded-core/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb does not have an assigned maintainer. Please add an entry into meta/conf/distro/include/maintainers.inc. [missing-maintainer]

https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/848

Aside of this, other tests are succeeding.

Thanks,
Mathieu
Koen Kooi Dec. 19, 2025, 9:25 a.m. UTC | #2
> Op 18 dec 2025, om 14:40 heeft Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> het volgende geschreven:
> 
> On Wed Dec 17, 2025 at 4:08 PM CET, Koen Kooi via lists.openembedded.org wrote:
>> From the upstream website:
>> Pyzstd module provides classes and functions for compressing and
>> decompressing data, using Facebook's Zstandard (or zstd as short name)
>> algorithm.
>> 
>> This recipe is being moved over for systemd 258.x, the 'ukify' tool
>> depends on this.
>> 
>> Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
>> ---
> 
> Hi Koen,
> 
> Thanks for the new version.
> 
>> diff --git a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb b/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
>> new file mode 100644
>> index 0000000000..0ed6cd47c7
>> --- /dev/null
>> +++ b/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
> 
> A new entry should be added in meta/conf/distro/include/maintainers.inc
> for this recipe:
> 
> 2025-12-18 08:49:56,223 - oe-selftest - INFO - distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase)
> 2025-12-18 08:49:56,223 - oe-selftest - INFO -  ... FAIL
> ...
> 2025-12-18 08:49:56,224 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
>  File "/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/layers/openembedded-core/meta/lib/oeqa/selftest/cases/distrodata.py", line 105, in test_maintainers
>    self.fail("""
>  File "/usr/lib64/python3.9/unittest/case.py", line 676, 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-pyzstd (/srv/pokybuild/yocto-worker/oe-selftest-fedora/build/layers/openembedded-core/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb)
> 
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/2854
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/2747
> 
>> @@ -0,0 +1,19 @@
>> +DESCRIPTION = "Pyzstd module provides classes and functions for compressing and \
>> +decompressing data, using Facebook’s Zstandard (or zstd as short name) algorithm."
>> +HOMEPAGE = "https://github.com/animalize/pyzstd"
>> +SECTION = "devel/python"
>> +
> 
> You also need to add a SUMMARY line here. QA complains:
> 
> WARNING: python3-pyzstd-0.17.0-r0 do_recipe_qa: QA Issue: Recipe python3-pyzstd in /srv/pokybuild/yocto-worker/qemuriscv64-ptest/build/layers/openembedded-core/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb does not contain a SUMMARY. Please add an entry. [missing-metadata]
> WARNING: python3-pyzstd-0.17.0-r0 do_recipe_qa: QA Issue: Recipe python3-pyzstd in /srv/pokybuild/yocto-worker/qemuriscv64-ptest/build/layers/openembedded-core/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb does not have an assigned maintainer. Please add an entry into meta/conf/distro/include/maintainers.inc. [missing-maintainer]
> 
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/848
> 
> Aside of this, other tests are succeeding.

Thanks! I'll try to send a v4 before heading out for the holidays, I appreciate your feedback and help with this. It has been a looooooong time since I had to add a new recipe to OE-core.

regards,

Koen

> 
> Thanks,
> Mathieu
> 
> -- 
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
diff mbox series

Patch

diff --git a/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch b/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
new file mode 100644
index 0000000000..f2910322ff
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-pyzstd/0001-Remove-setuptools-version-limit-of-74.patch
@@ -0,0 +1,27 @@ 
+From bc9b975c9f41e43481a2eb0623b4180926baecec Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Apr 2025 14:38:31 -0700
+Subject: [PATCH] Remove setuptools version limit of '74'
+
+Upstream sticks to 0.74 since setuptools have dropped msvc9compiler
+support beyond that which is needed for python 3.9 on windows. We
+do not have this problem on Linux
+
+Upstream-Status: Inappropriate [OE-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index dd885e4..5d4d511 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,6 +1,6 @@
+ [build-system]
+ # setuptools 64+ support --build-option
+ # setuptools 74+ drops distutils.msvc9compiler required for Python 3.9 under Windows
+-requires = ["setuptools>=64,<74"]
++requires = ["setuptools>=64"]
+ backend-path = ["build_script"]
+ build-backend = "pyzstd_pep517"
diff --git a/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb b/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
new file mode 100644
index 0000000000..0ed6cd47c7
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-pyzstd_0.17.0.bb
@@ -0,0 +1,19 @@ 
+DESCRIPTION = "Pyzstd module provides classes and functions for compressing and \
+decompressing data, using Facebook’s Zstandard (or zstd as short name) algorithm."
+HOMEPAGE = "https://github.com/animalize/pyzstd"
+SECTION = "devel/python"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aedb5a2679cd1552fb61c181ef974b9e"
+
+PYPI_PACKAGE = "pyzstd"
+
+SRC_URI += "file://0001-Remove-setuptools-version-limit-of-74.patch"
+SRC_URI[sha256sum] = "d84271f8baa66c419204c1dd115a4dec8b266f8a2921da21b81764fa208c1db6"
+
+inherit pypi python_setuptools_build_meta ptest-python-pytest
+
+# clang-16 with -flto segfaults on arm, therefore ignore flto for now
+do_configure:append:arm:toolchain-clang() {
+    sed -i -e "s|'-flto'|''|" ${S}/setup.py
+}