diff mbox series

[meta-python,2/5] python3-pikepdf: Upgrade 10.11.0 -> 10.13.0.post1

Message ID 20260921122224.4185627-2-leon.anavi@konsulko.com
State New
Headers show
Series [meta-python,1/5] python3-tzdata: Upgrade 2026.3 -> 2026.4 | expand

Commit Message

Leon Anavi Sept. 21, 2026, 12:22 p.m. UTC
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 <leon.anavi@konsulko.com>
---
 .../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 mbox series

Patch

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 <leon.anavi@konsulko.com>
 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 <leon.anavi@konsulko.com>
  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"