From 1ab9cc5b30d578538a3e2380a83c0d161b7a24c0 Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Mon, 21 Sep 2026 15:22:21 +0300 Subject: [PATCH] python3-pikepdf: Upgrade 10.11.0 -> 10.13.0.post1 Upgrade to release 10.13.0.post1: - Behavior change: pikepdf.DataDecodingError now derives from pikepdf.PdfError. A stream that will not decode is a defect in the document, and the same call that raises it - Object.read_bytes() - already raised PdfError for other kinds of damage, so except PdfError was a handler that looked correct, passed on healthy files, and let a traceback escape on damaged ones. Code catching DataDecodingError by name is unaffected. Code that orders except PdfError before except DataDecodingError will now take the first branch; if the distinction matters, reverse the order. - Behavior change: pikepdf.PdfParsingError now derives from pikepdf.PdfError, for the same reason. - pikepdf.PasswordError remains a sibling of PdfError, not a subclass. A wrong password does not mean the document is defective, and handlers that report the two separately depend on except PdfError not catching it. - pikepdf.NotExtractableError is now exported. It was already the base class of the exported HifiPrintImageNotTranscodableError but could not be caught by name. - Fixed the exceptions documentation, which referenced a nonexistent FormCopyWarning (the class is PageCopyWarning) and omitted ReferenceCycleError, PageCopyWarning and NotExtractableError. - XMP assigns a type to every standard property, and software that reads XMP discards a property whose type is wrong - Ghostscript strips these silently, and PDF/A validators reject them. pikepdf used to choose the RDF container from the Python type of the value it was handed, so meta['dc:subject'] = ['a', 'b'] wrote an rdf:Seq where the specification requires an rdf:Bag, and meta['dc:creator'] = 'Author' wrote a bare string where an rdf:Seq belongs. pikepdf now knows the type of the properties in the standard schemas and converts values to it. This work was sponsored by GOVCERT.LU. Signed-off-by: Leon Anavi Signed-off-by: Khem Raj --- .../0001-pyproject.toml-Do-not-strip.patch | 11 ++++------- ..._10.11.0.bb => python3-pikepdf_10.13.0.post1.bb} | 13 ++++++++++++- 2 files changed, 16 insertions(+), 8 deletions(-) rename meta-python/recipes-devtools/python/{python3-pikepdf_10.11.0.bb => python3-pikepdf_10.13.0.post1.bb} (53%) diff --git a/meta-python/recipes-devtools/python/python3-pikepdf/0001-pyproject.toml-Do-not-strip.patch b/meta-python/recipes-devtools/python/python3-pikepdf/0001-pyproject.toml-Do-not-strip.patch index 7483ad413b..575c3abb7a 100644 --- a/meta-python/recipes-devtools/python/python3-pikepdf/0001-pyproject.toml-Do-not-strip.patch +++ b/meta-python/recipes-devtools/python/python3-pikepdf/0001-pyproject.toml-Do-not-strip.patch @@ -1,4 +1,4 @@ -From 22020dc444aaf3f98dc40f38c0a8aad48476db8f Mon Sep 17 00:00:00 2001 +From 1b326de10bee40f497386921072dd80e2d7ecbde Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Wed, 8 Jul 2026 11:45:11 +0000 Subject: [PATCH] pyproject.toml: Do not strip @@ -19,7 +19,7 @@ Signed-off-by: Leon Anavi 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index 06ccfbb..475af59 100644 +index 9e991c3..d7cee23 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,8 @@ build-backend = "scikit_build_core.build" @@ -30,8 +30,5 @@ index 06ccfbb..475af59 100644 +cmake.build-type = "RelWithDebInfo" +install.strip = false wheel.py-api = "cp314" - - [project] --- -2.47.3 - + # The wheel-building CI jobs download qpdf's source into ./qpdf to compile + # libqpdf before building. Without this exclusion scikit-build-core sweeps that diff --git a/meta-python/recipes-devtools/python/python3-pikepdf_10.11.0.bb b/meta-python/recipes-devtools/python/python3-pikepdf_10.13.0.post1.bb similarity index 53% rename from meta-python/recipes-devtools/python/python3-pikepdf_10.11.0.bb rename to meta-python/recipes-devtools/python/python3-pikepdf_10.13.0.post1.bb index b18632f926..df98507aae 100644 --- a/meta-python/recipes-devtools/python/python3-pikepdf_10.11.0.bb +++ b/meta-python/recipes-devtools/python/python3-pikepdf_10.13.0.post1.bb @@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/pikepdf/pikepdf" LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9741c346eef56131163e13b9db1241b3" -SRC_URI[sha256sum] = "4bebc59ac74411064e7c97a4036174023e22ccbecd22b78750ab76551eb38988" +SRC_URI[sha256sum] = "4b73f926ebae81f04bf14527af330bd00bb268be767e0f189f7c4c3e4ad7ae0a" SRC_URI += "file://0001-pyproject.toml-Do-not-strip.patch" @@ -47,6 +47,17 @@ RDEPENDS:${PN}-ptest += " \ do_install_ptest:append() { install -m 0644 ${S}/pyproject.toml ${D}${PTEST_PATH}/ + install -m 0644 ${S}/LICENSE.txt ${D}${PTEST_PATH}/ + install -d ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/README.md ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/GCC-exception-3.1.txt ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/GPL-3.0.txt ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/libjpeg-turbo-README.ijg.txt ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/libjpeg-turbo.txt ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/microsoft-visual-cpp-runtime.txt ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/openssl.txt ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/qpdf.txt ${D}${PTEST_PATH}/third-party-licenses/ + install -m 0644 ${S}/third-party-licenses/zlib.txt ${D}${PTEST_PATH}/third-party-licenses/ } BBCLASSEXTEND = "native nativesdk"