Commit Graph
40976 Commits
Author SHA1 Message Date
Leon Anavi c3f98a383d python3-portion: Upgrade 2.6.2 -> 2.6.3
Upgrade to release 2.6.3:

- IntervalDict.update and __init__ behave like dict.update when the
  provided intervals overlap (the last provided value wins).
- IntervalDict.pop accepts None as default value.
- Fix from_string accepting prefix (re.match) instead of full value
  (re.fullmatch) for infinities.
- Documentation of iterate explicitly states that base should be
  side-effect-free.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 13:06:48 -07:00
Leon Anavi 0c3a05ea79 python3-parse: Upgrade 1.22.3 -> 1.22.4
Upgrade to release 1.22.4:

- Account for the capture groups %z adds to the generated pattern
- Reject out-of-range timezone minutes
- Document the extra_types conversion mapping
- Fix case-sensitive am/pm and Zulu conversion under
  case-insensitive matching
- Resolve year-less strftime formats against the current year

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 13:03:41 -07:00
Leon Anavi 97fa9d4241 python3-icu: Upgrade 2.16.2 -> 2.17
Upgrade to release 2.17:

- Added support for DateTimePatternGenerator.getDefaultHourCycle()
  and enums
- Added missing wrappers for UDateFormatField
- Added support for ICU 79.1

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:46 -07:00
Leon Anavi 8f4b06a965 python3-huey: Upgrade 3.4.0 -> 3.5.3
Upgrade to release 3.5.3:

- Close the storage connection before forking process workers, this
  just simplifies things.
- Run the callback of an empty chord with an empty results list.
  Previously it was never enqueued.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:46 -07:00
Leon Anavi ee6cab0c44 python3-grpcio-reflection: Upgrade 1.84.1 -> 1.85.0
Upgrade to release 1.85.0:

- [AIO] Fixed data race in PollerCompletionQueue.
- Fix SyncServicerContext abort not raising exception.
- Fixed channelz module leak.
- Fixed CSDS memory leak.
- Unpin Cython dependency for source builds.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:46 -07:00
Leon Anavi 757f4d59b2 python3-grpcio-channelz: Upgrade 1.84.1 -> 1.85.0
Upgrade to release 1.85.0:

- [AIO] Fixed data race in PollerCompletionQueue.
- Fix SyncServicerContext abort not raising exception.
- Fixed channelz module leak.
- Fixed CSDS memory leak.
- Unpin Cython dependency for source builds.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:46 -07:00
Leon Anavi 18f695a62a python3-cmd2: Upgrade 4.3.0 -> 4.3.1
Upgrade to release 4.3.1:

- Fix type-check failures with ty 0.0.87
- Exclude .DS_Store from release
- Route annotated command help through the application output
  stream
- Add example embedding a cmd2 app in a Textual app with
  textual-tty
- Add example embedding a cmd2 app in a Textual app with
  textual-tty

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:46 -07:00
Leon Anavi cef544b5d3 python3-cachetools: Upgrade 7.2.4 -> 7.2.5
Upgrade to release 7.2.5:

- Fix @cachedmethod with condition for decorated methods taking a
  pending keyword argument (broken since v7.0.0).
- Fix pickling and deep-copying of instances using @cachedmethod
  (broken since v7.0.0).
- Fix calling @cachedmethod decorated methods through the class
  with the receiver (self) passed as a keyword argument (broken
  since v7.2.4).
- Various documentation improvements.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:46 -07:00
Leon Anavi bcee2a3157 python3-bitstruct: Upgrade 8.23.0 -> 8.24.0
Upgrade to release 8.24.0:

- Add Python 3.15 to test matrix + freethreaded

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:45 -07:00
Leon Anavi 703e088d33 python3-asgiref: Upgrade 3.12.1 -> 3.13.0
Upgrade to release 3.13.0:

- It is now possible to nest ThreadSensitiveContext by providing an
  explicit executor for thread-sensitive tasks. This enables moving
  a block of such work away from the parent context's shared worker.

  The provided executor must run  work sequentially and on a single
  thread, as per ThreadPoolExecutor(max_workers=1), and the calling
  code is responsible for managing the executor's lifecycle.

- Local attribute access is now 2-3x faster. Local(...) now uses one
  of two internal specialisations, selected by thread_critical,
  instead of checking the mode on every access.

  As a result Local is now marked @final and raises TypeError if
  subclassed. Subclassing was never supported, and could not have
  worked correctly with the specialised implementations.

- asgiref.timeout.timeout is deprecated, and will be removed in a
  future release. Move to use asyncio.timeout() instead.

- Added support for Python 3.15.

- Dropped support for EOL Python 3.10.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:45 -07:00
Khem Raj 75130cb9c0 python3-cchardet: Use python_setuptools_build_meta
pyproject.toml specifies setuptools.build_meta as the build backend, so
inherit python_setuptools_build_meta instead of setuptools3.

Fixes:

QA Issue: inherits setuptools3 but has pyproject.toml specifying backend
setuptools.build_meta, use the correct class [pep517-backend]

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-27 08:28:45 -07:00
Ankur Tyagi 53276e6882 redis: upgrade 8.10.2 -> 8.10.3
Changelog:
https://github.com/redis/redis/releases/tag/8.10.3

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:33 -07:00
Ankur Tyagi 07bd9e9b3c nano: upgrade 9.2 -> 9.3
- On the mini bar, an overlong filename gets properly clipped.
- The keypad operator keys produce their inscribed characters.

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:32 -07:00
Ankur Tyagi 2f7a0c3dfd libraw: upgrade 0.22.2 -> 0.22.3
Changelog:
https://github.com/LibRaw/LibRaw/releases/tag/0.22.3

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:32 -07:00
Ankur Tyagi fe7d77d70c c-periphery: upgrade 2.5.0 -> 2.5.1
Changelog:
https://github.com/vsergeev/c-periphery/blob/v2.5.1/CHANGELOG.md

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:32 -07:00
Ankur Tyagi c6833fc658 btop: upgrade 1.4.7 -> 1.4.8
Changelog:
https://github.com/aristocratos/btop/releases/tag/v1.4.8

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:32 -07:00
Ankur Tyagi b0d992e433 iotop: upgrade 1.31 -> 1.33
Refer to changelog for behaviour changes and new features.

Changelog:
https://github.com/Tomas-M/iotop/releases#release-v1.33

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:32 -07:00
Ankur Tyagi 694eb9006e haveged: upgrade 1.9.26 -> 1.9.27
Changelog:
https://github.com/jirka-h/haveged/releases/tag/v1.9.27

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:32 -07:00
Ankur Tyagi 67a450c31e fluentbit: upgrade 5.1.4 -> 5.1.5
Changelog:
https://github.com/fluent/fluent-bit/releases/tag/v5.1.4

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:31 -07:00
Ankur Tyagi 61effc2777 openh264: upgrade 2.6.0 -> 2.7.0
Changelog:
https://github.com/cisco/openh264/blob/v2.7.0/RELEASES

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:31 -07:00
Ankur Tyagi b3d4d46509 mpd: upgrade 0.24.16 -> 0.24.17
Changelog:
https://github.com/MusicPlayerDaemon/MPD/blob/v0.24.17/NEWS

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:31 -07:00
Ankur Tyagi 25d5d0d4cf libheif: upgrade 1.23.6 -> 1.23.7
Refer to changelog for behaviour changes.

Changelog:
https://github.com/strukturag/libheif/releases/tag/v1.23.7

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:31 -07:00
Ankur Tyagi 2f5478b91f python3-tzlocal: upgrade 5.4.4 -> 5.4.5
- Recognize timezone file names with multiple slashes in the TZ environment
  variable.
- Use HTTPS in place of FTP to retrieve tzdata archive.

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:31 -07:00
Ankur Tyagi 560f4ba020 swagger-ui: upgrade 5.33.3 -> 5.34.0
Changelog:
https://github.com/swagger-api/swagger-ui/releases/tag/v5.34.0

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:31 -07:00
Patrick Wicki 6cd0507222 squid: use /run instead of /var/run in tmpfiles.d
systemd-tmpfiles warns about the legacy path:

  /etc/tmpfiles.d/squid.conf:1: Line references path below legacy
  directory /var/run/, updating /var/run/squid → /run/squid; please
  update the tmpfiles.d/ drop-in file accordingly.

Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:31 -07:00
Patrick Wicki e86a751224 squid: install systemd unit without executable bit
install defaults to mode 0755, which makes systemd complain:

  Configuration file /usr/lib/systemd/system/squid.service is marked
  executable. Please remove executable permission bits. Proceeding anyway.

Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:30 -07:00
Ross Burton 0bf3c0c072 python3-importlib-metadata: clean up recipe
S is the default, and the dependencies can be consolidated.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:30 -07:00
Khem Raj 1f3625ff40 python3-engineio: Add missing runtime dependencies
simple-websocket is the only hard dependency in pyproject.toml, and the
default threading async mode uses it for WebSocket connections. The
threading driver and the client also import queue (python3-threading),
and the client imports ssl (python3-io).

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:30 -07:00
Khem Raj 618cd90b7e python3-simple-websocket: Add recipe
Simple WebSocket server and client for Python, built on wsproto.

Backport the upstream conversion of the async tests to pytest-asyncio;
the 1.1.0 tests call asyncio.get_event_loop(), which fails on Python
3.14 when there is no current event loop. Add it to the fast ptest list;
all 47 tests pass on qemuriscv64.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:30 -07:00
Khem Raj 186175d96c hdf5: Add PACKAGECONFIG for the C++ library
Since 1.14.0 upstream no longer builds the C++ library (libhdf5_cpp,
libhdf5_hl_cpp) by default, so recipes that need it fail to find it.
Add a "cpp" PACKAGECONFIG to turn on HDF5_BUILD_CPP_LIB, keeping it
disabled by default.

The C++ build also installs the h5c++ compiler wrapper, which needs the
same RECIPE_SYSROOT_NATIVE cleanup and multilib script handling as h5cc.

Fixes: https://github.com/openembedded/meta-openembedded/issues/814

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:30 -07:00
Khem Raj 87b0eeb4a7 HDF5: Remove license file
Its added to OE-core via below commit

commit f9903f74ee36de4dd592f3bc8b1ce7b08f32608c
Author: Ross Burton <ross.burton@arm.com>
Date:   Fri Oct 17 14:16:25 2025 +0100

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:30 -07:00
Khem Raj 3a05256e3b re2: Skip upstream's big tests in ptest under QEMU
The CMake build registers every test with ctest, including the ones
upstream's Makefile keeps in BIGTESTS (and Bazel marks size = "large"),
which "make test" does not run. Each of these runs silently until it
finishes, and under qemu emulation several of them take longer than the
ptest-runner timeout. On qemuriscv64, dfa_test stalled in
Multithreaded.SearchDFA until ptest-runner killed the whole suite after
450s. Under qemu-user, exhaustive3_test takes ~460s, random_test ~760s,
and dfa_test more than 15 minutes.

Exclude dfa_test, exhaustive*_test and random_test from run-ptest when
running under QEMU, detected at runtime via DMI sys_vendor, a fw-cfg
device tree node or a qemu device tree compatible. Doing this at build
time with a qemuall override would make re2's task signatures differ
between machines sharing a tune. Real hardware still runs all tests.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:29 -07:00
Khem Raj 73c158cd30 python3-scapy: Skip live whois tests in ptest
"Whois request" and "AS resolver - IPv6" only query public whois
servers and upstream notes they often fail. "AS resolver - IPv6" failed
intermittently in testimage on qemuarm64 and passed on a rerun. Tag both
with skipped_ptest so run-ptest leaves them out.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:29 -07:00
Khem Raj 24f3c91e5f python3-ipy: upgrade 1.01 -> 1.2
Changelog:
 * Drop Python 2 support; require Python 3.5+
 * Remove the module-level names INT_TYPES, STR_TYPES and xrange
 * Add inline type annotations; IPy is now a package that ships py.typed
 * Fix IP.broadcast() returning an IPv4 address for IPv6 networks
 * Fix IP.reverseName() for 0.0.0.0/0
 * Fix the flaky IPSet fuzz test

The fuzz test fix stops the intermittent ptest failure in
TestIPSet.testRandomContains, whose oracle ignored that IPSet merges
adjacent prefixes into a larger one.

The sdist is now named ipy-1.2.tar.gz, so drop PYPI_PACKAGE_SDIST.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-26 17:04:29 -07:00
Jason Schonberg 3f337d921e webmin: upgrade 2.653 -> 2.660
Changelog: https://github.com/webmin/webmin/releases/tag/2.660

Signed-off-by: Jason Schonberg <schonm@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-25 19:21:15 -07:00
Ricardo Salveti 82ca468de8 ostree: upgrade 2026.4 -> 2026.5
This release is mostly hardening against untrusted repository content.
It fixes two checkout issues: a crafted whiteout name that strips to
".." and makes a --whiteouts checkout delete the destination's parent
(GHSA-cp2j-qv7x-wcw4), and union checkouts following a symlink planted
at a directory name and writing outside the destination
(GHSA-7pq7-3pmj-9wp6). Composefs and commit signature checks with the
OpenSSL ed25519/SPKI backends now accept only EVP_DigestVerify() == 1,
where error returns used to count as a valid signature. Static delta,
content header, commit and curl header parsing gain bounds checks.

Behaviour changes: the default min-free-space is now min(3%, 1GB), and
the systemd generator leaves boot.mount to systemd-fstab-generator when
/etc/fstab has a /boot entry.

https://github.com/ostreedev/ostree/releases/tag/v2026.5

AI-Generated: Uses Claude Code (Claude Opus 5.5)
Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-25 14:41:37 -07:00
Khem Raj 34b647516d python3-pyzmq: Skip timing sensitive test_retry_poll in ptest
The test expects a message sent from another thread 0.2s later to arrive
within a 0.5s poll window, which a loaded test host misses. Upstream
marks it flaky(reruns=3), but pytest-rerunfailures is not available.
Adjust the musl sed to the new end of the -k expression.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-25 14:41:37 -07:00
Khem Raj ef9c0bda6c python3-fsspec: Skip network test in ptest
test_async_cat_file_ranges fetches a file from a public S3 bucket, which
fails without DNS and internet access on the target, as in sysvinit
qemu images where resolv.conf is empty.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-25 14:41:37 -07:00
Khem Raj 6f348d558d libgpiod: Show the output of failing tests in ptest log
run-ptest wrote each test's output into a file in the image, so an
intermittent gpiod-glib-test failure in testimage left nothing to debug.
Print the output when a test fails.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-25 14:41:37 -07:00
Khem Raj b90177727f tbb: Skip test_scheduler_mix in ptest
The test hangs intermittently on all architectures and is an open
upstream issue, https://github.com/uxlfoundation/oneTBB/issues/1281.
On qemuarm64 musl it hit the ptest-runner timeout.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-25 14:41:37 -07:00
Khem Raj ec0f69ddd5 fuse3: Load the loop driver for the blkdev ptests
mount/blkdev-fsname-hello{,-ll} attach a loop device, but loop is built
as a module and was not in the ptest image, so losetup failed. Recommend
kernel-module-loop and modprobe it in run-ptest, since it is not loaded
on demand when /dev/loop-control has not been created.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-25 14:41:37 -07:00
Khem Raj cb9e4666b6 fftw: Fix planner hang on musl with CLOCK_SGI_CYCLE
musl defines CLOCK_SGI_CYCLE, so on aarch64 cycle.h uses
clock_gettime(CLOCK_SGI_CYCLE) as its tick counter. Linux returns
EINVAL for that clock, every measurement reads as zero, and
FFTW_MEASURE planning loops forever, which times out the bench ptest.
Skip the SGI clock on Linux.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-25 14:41:36 -07:00
Ankur Tyagi 533d0a63ac 7zip: upgrade 26.04 -> 26.05
Changelog:
https://github.com/ip7z/7zip/releases/tag/26.05

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-24 09:28:24 -07:00
Ankur Tyagi 13f6266c34 rtorrent: upgrade 0.16.25 -> 0.16.26
Changelog:
https://github.com/rakshasa/rtorrent/releases/tag/v0.16.26

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-24 09:28:24 -07:00
Ankur Tyagi bc9d7e284c transmission: upgrade 4.1.3 -> 4.1.4
Changelog:
https://github.com/transmission/transmission/releases/tag/4.1.4

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-24 09:28:24 -07:00
Ankur Tyagi 9d8384862e zabbix: upgrade 7.4.15 -> 7.4.16
Changelog:
https://github.com/zabbix/zabbix/blob/7.4.16/ChangeLog

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-24 09:28:24 -07:00
Ankur Tyagi f63f617ed1 rabbitmq-c: upgrade 0.18.0 -> 0.18.1
Changelog:
https://github.com/alanxz/rabbitmq-c/releases/tag/v0.18.1

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-24 09:28:23 -07:00
Ankur Tyagi ad00afbfc6 libtorrent: upgrade 0.16.25 -> 0.16.26
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-24 09:28:23 -07:00
Ankur Tyagi b730ef39a1 ntpsec: upgrade 1.2.5 -> 1.2.6
Changelog:
https://gitlab.com/NTPsec/ntpsec/-/blob/NTPsec_1_2_6/NEWS.adoc?ref_type=tags

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-24 09:28:23 -07:00
Leon Anavi 23a17447f1 python3-pikepdf: Upgrade 10.13.0.post1 -> 10.17.0
Upgrade to release 10.17.0:

- Added {class}pikepdf.ObjectSet, which records the objects that a
  walk of a PDF's object graph has already visited. Objects in a
  PDF are shared and may refer back to their ancestors, so a search
  that only limits its depth can take exponential time on quite
  ordinary files. ObjectSet.add() reports whether an object is new,
  and tells apart direct objects and objects of different Pdf,
  which a set of objgen cannot. See {ref}walking-object-graphs.
- Added {meth}pikepdf.Object.is_same_object_as, which tests whether
  two references lead to the same object. Neither is, == nor
  comparing objgen answers this reliably.
- Added {meth}pikepdf.Pdf.content_scopes and
  {meth}pikepdf.Page.content_scopes, which iterate over every
  content stream that pages can draw, each with the resource
  dictionary it uses: the page itself, form XObjects, annotation
  appearance streams, tiling patterns, Type 3 glyph procedures and
  soft masks, however they are nested or shared. This is the way to
  find every font, image or colour space a document uses. Each
  {class}pikepdf.ContentScope is reported once for the document;
  pages= selects pages and kinds= selects what is reported.
- Added {meth}pikepdf.Page.get_resources, which returns the
  resources of a page or form XObject for reading. Unlike
  {attr}pikepdf.Page.resources, it finds resources inherited from
  the page tree, does not create an empty dictionary when there are
  none, and returns None instead of raising when /Resources is
  malformed.
- Fixed comparing two objects with == taking exponential time when
  the objects being compared share children, such as the same file
  opened twice. Each pair of objects is now compared once.
- Fixed {meth}pikepdf.Pdf.add_pages_from hanging on a page with an
  action whose /Next actions are shared or form a loop.
- Fixed {meth}pikepdf.Pdf.open_outline reading only the first item
  at each level of an outline whose items are direct objects. Such
  items are now made indirect when the outline is saved, as the PDF
  specification requires.
- Reading a stream that will not decode now raises
  {exc}~pikepdf.exceptions.DataDecodingError with the reason,
  whether the stream's data was read from a file or set from
  memory. Previously a stream read from a file raised a
  {exc}~pikepdf.exceptions.PdfError that said only "read_bytes
  called on unfilterable stream", and the reason was available only
  from {meth}pikepdf.Pdf.get_warnings. DataDecodingError is a
  PdfError, so existing handlers are unaffected.
- An exception raised by a JBIG2 decoder now reaches the caller of
  {meth}pikepdf.PdfImage.as_pil_image,
  {meth}pikepdf.PdfImage.extract_to and
  {meth}pikepdf.PdfImage.read_bytes unchanged, with its own type,
  message and traceback. Previously, for an image read from a file,
  it was replaced by a generic DataDecodingError or PdfError.
- Added {exc}~pikepdf.exceptions.QpdfRuntimeError, raised for
  errors from qpdf that pikepdf has no more specific exception for.
  These were previously raised as a bare RuntimeError, which except
  pikepdf.PikepdfError did not catch. The new exception derives
  from both {exc}~pikepdf.exceptions.PikepdfError and RuntimeError,
  so handlers written for RuntimeError still work.
- The empty name / is now supported. The PDF 1.7 and 2.0
  specifications define a lone slash as a valid name made of zero
  characters, but pikepdf.Name('/') raised ValueError, and
  dictionaries refused / as a key. This broke
  {meth}pikepdf.Pdf.add_pages_from on files with an empty-named
  destination such as /Dests << / 3 0 R >>. Such names can now be
  created, used as dictionary keys, and migrated during page
  copying. bool(Name('/')) is False, like an empty
  {class}pikepdf.String. Name(''), which lacks the leading slash,
  is still rejected. PDF/A does not forbid empty names, and the
  PDF/A validator accepts them.
- AcroFormField.get_inheritable_field_value_as_name() now returns a
  {class}pikepdf.Name, as documented, instead of a str. When the
  value is missing or not a name, it returns the empty name
  Name('/'), which is falsy, instead of ''. Comparisons such as ==
  '/Tx' are unaffected.
- Fixed an out-of-bounds read when opening a PDF from a Python file
  object whose readinto() reports more bytes than were requested.
  This now raises ValueError, as writing to such a stream already
  did. Non-blocking streams, whose readinto() returns None, now
  raise ValueError instead of hanging.
- Fixed building from source on PyPy, which failed to compile since
  v10.0. PyPy now reads Python file objects through readinto(),
  like CPython, instead of copying the result of read().
- {func}pikepdf.open reads directly from the file descriptor when
  given a filename, instead of calling the seek() and readinto()
  methods of a Python file object for every read. Opening and
  reading a large file with many objects is about four to five
  times faster, matching the speed of memory mapping
  (access_mode=AccessMode.mmap). Streams passed to
  {func}pikepdf.open, including plain file objects, are read
  through their methods as before.
- Documented {class}pikepdf.TokenFilter with worked examples that
  shorten numbers and convert RGB colors to grayscale, and
  explained when to use a token filter instead of
  {func}pikepdf.parse_content_stream. The API reference no longer
  says that the parser should not be used to edit content streams.
  The TokenFilter.handle_token documentation now says correctly
  that exceptions it raises propagate to the caller.

Extend RDEPENDS with the missing runtime dependencies
python3-fonttools and python3-jsonschema which are required
to import pikepdf.pdfa.

Install pdfa_differential.py to pass the tests from
test_pdfa_differential.py. Fixes:

E   ModuleNotFoundError: No module named 'pdfa_differential'

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-10-24 09:24:02 -07:00