summaryrefslogtreecommitdiff
path: root/upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2026-07-16 13:30:29 +0300
committerPatrick Williams <patrick@stwcx.xyz>2026-07-16 18:06:35 +0300
commitc9d5773ca04583c701e9ed3a484e95cd2a2eee19 (patch)
tree29cab9e08182f7fcbb90baaf1e45464e37b7a0de /upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd
parent2ba2a28531fc116890eab63b4fafbce499b2cb18 (diff)
downloadopenbmc-c9d5773ca04583c701e9ed3a484e95cd2a2eee19.tar.xz
meta-openembedded: subtree update:17afdec9d8..e93799db0e
Alex Kiernan (2): fuse-archive: Add recipe pjproject: Add recipe Antonios Christidis (1): opencl-cts: Suppress -Wfree-nonheap-object compiler warning Deepesh Varatharajan (2): librust-cxx: upgrade 1.0.194 -> 1.0.197 nushell: upgrade 0.111.0 -> 0.114.1 Jason Schonberg (2): c-ares: upgrade 1.34.6 -> 1.34.8 xfdesktop: upgrade 4.20.2 -> 4.21.0 Khem Raj (19): python3-httptools: Relax setuptools upper bound in build requirements python3-charset-normalizer: Relax setuptools upper bound in build requirements python3-pychromecast: Relax build requirements python3-pikepdf: Fix cross build with scikit-build-core fex: Upgrade to FEX-2607 release fex: force use of bundled fmt to fix build against fmt 12.2.0 uim: fix cross-build segfault by loading native plugins in uim-module-manager postgresql: adapt to systemd-systemctl-native merge into systemd-tools-native meta-webserver: Depend upon networking layer gnome-calendar: fix build against libical 4.0 python3-dbus-deviation: Drop all setup_requires to fix build failure sysdig: Fix intermittent missing libsinsp/libscap headers on rebuild bpftrace: link test data source binary without host runtime sysdig: Use LuaJIT headers to match the linked LuaJIT library gerbera: fix build against fmt 12.2.0 librav1e: fix nasm-native dependency override for x86-64 bpftrace: fix patch context so -fno-stack-protector applies to test object mpd: fix build against fmt 12.2.0 frr: Fix native clippy failing to load libatomic.so.1 Leon Anavi (11): python3-pybind11: Upgrade 3.0.1 -> 3.0.4 python3-pikepdf: Upgrade 10.5.1 -> 10.9.1 python3-unidecode: Enable tests python3-jsbeautifier: Enable tests python3-olefile: Enable tests python3-screeninfo: Enable tests python3-pybcj: Enable tests python3-pyppmd: Enable tests python3-rarfile: Upgrade 4.2 -> 4.3 python3-rarfile: Enable tests python3-wand: Enable tests Markus Volk (2): pipewire: update 1.6.7 -> 1.6.8 evolution-data-server: update 3.56.2 -> 3.60.2 Peter Kjellerstedt (1): pegtl: Correct the license to BSL-1.0 Priyansh Jain (1): thermald: upgrade to 2.5.12 Wang Mingyu (37): bcc: upgrade 0.36.1 -> 0.37.0 ctags: upgrade 6.2.20260628.0 -> 6.2.20260705.0 geoclue: upgrade 2.8.1 -> 2.8.2 graphviz: upgrade 15.0.0 -> 15.1.0 imagemagick: upgrade 7.1.2-26 -> 7.1.2-27 libio-compress-perl: upgrade 2.221 -> 2.223 libsdl3: upgrade 3.4.10 -> 3.4.12 libxmp: upgrade 4.7.0 -> 4.7.1 memcached: upgrade 1.6.42 -> 1.6.43 mm-common: upgrade 1.0.7 -> 1.0.8 ndctl: upgrade v84 -> v85 openvpn: upgrade 2.7.4 -> 2.7.5 ostree: upgrade 2026.1 -> 2026.2 python3-aiohappyeyeballs: upgrade 2.6.2 -> 2.7.1 python3-argcomplete: upgrade 3.6.3 -> 3.7.0 python3-bumble: upgrade 0.0.230 -> 0.0.231 python3-cbor2: upgrade 6.1.2 -> 6.1.3 python3-discovery: upgrade 1.4.2 -> 1.4.3 python3-faker: upgrade 40.23.0 -> 40.28.1 python3-huey: upgrade 3.0.3 -> 3.1.1 python3-humanize: upgrade 4.15.0 -> 4.16.0 python3-jsbeautifier: upgrade 2.0.1 -> 2.0.3 python3-lazy: upgrade 1.6 -> 2.0 python3-mlcommons-loadgen: upgrade 6.0.15 -> 6.0.16 python3-pillow: upgrade 12.2.0 -> 12.3.0 python3-responses: upgrade 0.26.1 -> 0.26.2 python3-sentry-sdk: upgrade 2.63.0 -> 2.64.0 python3-twitter: upgrade 4.16.0 -> 4.17.0 python3-tzlocal: upgrade 5.4.3 -> 5.4.4 python3-xmlschema: upgrade 4.3.1 -> 4.3.2 rabbitmq-c: upgrade 0.16.0 -> 0.17.0 smarty: upgrade 5.8.3 -> 5.8.4 ssh-audit: upgrade 3.3.0 -> 3.9.0 stunnel: upgrade 5.78 -> 5.79 upower: upgrade 1.91.2 -> 1.91.3 weechat: upgrade 4.9.2 -> 4.9.3 xarchiver: upgrade 0.5.4.26 -> 0.5.4.27 Change-Id: Id60d995229d0a6290395c6c410acc0ae64fdc591 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd')
-rw-r--r--upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd/0001-Ppmd7-Ppmd8-Fix-SIGABRT-in-OutputBuffer_Grow.patch70
-rw-r--r--upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd/run-ptest3
2 files changed, 73 insertions, 0 deletions
diff --git a/upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd/0001-Ppmd7-Ppmd8-Fix-SIGABRT-in-OutputBuffer_Grow.patch b/upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd/0001-Ppmd7-Ppmd8-Fix-SIGABRT-in-OutputBuffer_Grow.patch
new file mode 100644
index 0000000000..a31ac621d6
--- /dev/null
+++ b/upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd/0001-Ppmd7-Ppmd8-Fix-SIGABRT-in-OutputBuffer_Grow.patch
@@ -0,0 +1,70 @@
+From f9c6a0549503f00a1ab0ad58a98a30ee99b96770 Mon Sep 17 00:00:00 2001
+From: Leon Anavi <leon.anavi@konsulko.com>
+Date: Thu, 9 Jul 2026 11:37:04 +0000
+Subject: [PATCH] Ppmd7/Ppmd8: Fix SIGABRT in OutputBuffer_Grow
+
+The decode loop could abort in OutputBuffer_Grow() when a resumed
+decode thread wrote past the current call's max_length. Stop early
+once that limit is reached instead of trying to grow the buffer
+further.
+
+Also fix Ppmd8Decoder_decode because it never updated needs_input
+when input was fully consumed, unlike Ppmd7.
+
+Fixes test_ppmd7_decode_chunks and the equivalent Ppmd8 case,
+which previously aborted deterministically partway through decoding
+testdata2.ppmd in small chunks.
+
+This work was sponsored by GOVCERT.LU.
+
+Upstream-Status: Pending [https://github.com/miurahr/pyppmd/pull/131/]
+
+Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+---
+ src/ext/_ppmdmodule.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/src/ext/_ppmdmodule.c b/src/ext/_ppmdmodule.c
+index dafa1c5..94f7f18 100644
+--- a/src/ext/_ppmdmodule.c
++++ b/src/ext/_ppmdmodule.c
+@@ -531,6 +531,12 @@ Ppmd7Decoder_decode(Ppmd7Decoder *self, PyObject *args, PyObject *kwargs) {
+ break;
+ }
+ if (out->pos == out->size) {
++ /* Already reached max_length for this call; stop instead of
++ growing (avoids rest<=0 assert in OutputBuffer_Grow) */
++ if (self->blocksOutputBuffer->max_length >= 0 &&
++ self->blocksOutputBuffer->allocated >= self->blocksOutputBuffer->max_length) {
++ break;
++ }
+ if (OutputBuffer_Grow(self->blocksOutputBuffer, out) < 0) {
+ PyErr_SetString(PyExc_ValueError, "No Memory.");
+ goto error;
+@@ -1276,6 +1282,11 @@ Ppmd8Decoder_decode(Ppmd8Decoder *self, PyObject *args, PyObject *kwargs) {
+ break; // filled expected
+ }
+ if (out->pos == out->size) {
++ /* Same guard as for Ppmd7Decoder_decode() above */
++ if (self->blocksOutputBuffer->max_length >= 0 &&
++ self->blocksOutputBuffer->allocated >= self->blocksOutputBuffer->max_length) {
++ break;
++ }
+ if (OutputBuffer_Grow(self->blocksOutputBuffer, out) < 0) {
+ PyErr_SetString(PyExc_ValueError, "L1586: Unknown status");
+ goto error;
+@@ -1303,6 +1314,11 @@ Ppmd8Decoder_decode(Ppmd8Decoder *self, PyObject *args, PyObject *kwargs) {
+ self->in_begin = 0;
+ self->in_end = 0;
+ }
++ if (self->eof) {
++ self->needs_input = False;
++ } else {
++ self->needs_input = True;
++ }
+ } else {
+ const size_t data_size = in->size - in->pos;
+ self->needs_input = False;
+--
+2.47.3
+
diff --git a/upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd/run-ptest b/upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd/run-ptest
new file mode 100644
index 0000000000..8d2017d39c
--- /dev/null
+++ b/upstream-layers/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake