Package: systemd-ukifyif
Version: 257.4-3
Severity: wishlist
Tags: upstream
systemd-ukify currently supports zstd decompression by using python3-zstandard, which is a hard dependency; but python3-zstandard
seems to require source changes every time libzstd is upgraded as a
result of having been designed with a vendored libzstd in mind
(#1100475) which makes it more fragile than seems ideal, especially
the long-term goal is for Debian's boot process to make more use ofUKIs
in future.zstd.
Looking at the source of systemd-ukify, it seems like it only makes a
very simple use of this module: import the module, and decompress one compressed binary blob into an uncompressed byte array in RAM. This
could presumably be done equally well with any implementation of
Perhaps it would be worthwhile to have a code path that implementszstd
decompression by using python3-pyzstd (which is somewhat higher-popcon
than python3-zstandard at the moment), or python3-zstd (although thatit
one is lower-popcon), or by invoking the zstd CLI tool (which is a Recommends of initramfs-tools-core) via subprocess? That would make
easier to swap between the implementations if one of them has
problematic properties.
On Sun, 16 Mar 2025 at 13:07:50 +0000, Luca Boccassi wrote:
This is only a corner case anyway, kernel images should use zboot
instead of shipping compressed files, as firmwares cannot handle that >anyway. It's only an issue with some Ubuntu architectures other than >x86_64.
Should python3-zstandard perhaps be a Recommends (or lower) on the architectures that don't need it, if not all do?
This is only a corner case anyway, kernel images should use zboot
instead of shipping compressed files, as firmwares cannot handle that
anyway. It's only an issue with some Ubuntu architectures other than
x86_64.
On Sun, 16 Mar 2025 at 14:28:52 +0000, Luca Boccassi wrote:that
I'll try to look into fixing python3-zstandard, it's unfortunate
newthe zstd transition was started to late
It's a bit of a weird transition, because upgrading a library to a
micro version with no new SONAME and no API/ABI breaks would normallybe
treated as a completely routine thing that doesn't need transitionsor
coordination, but python3-zstandard seems to be unusually
tightly-coupled to an exact version of libzstd.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 483 |
Nodes: | 16 (0 / 16) |
Uptime: | 84:16:06 |
Calls: | 9,576 |
Calls today: | 7 |
Files: | 13,666 |
Messages: | 6,143,357 |
Posted today: | 2 |