[Bug 1926437] Re: [SRU] Backport zstd support, fix bug in python-apt
Julian Andres Klode
1926437 at bugs.launchpad.net
Thu Apr 29 21:54:19 UTC 2021
FWIW, I upgraded python-apt to the version in xenial-proposed
Unpacking python3-apt (1.1.0~beta1ubuntu0.16.04.12) over
(1.1.0~beta1ubuntu0.16.04.11) ...
And verified that the script
import apt_inst, apt_pkg
apt_pkg.init()
apt_inst.DebFile("glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb").control.extractall()
worked.
So verification-done-xenial is valid for this one too :D
apport fails weirdly, not have many other autopkgtest results back yet.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1926437
Title:
[SRU] Backport zstd support, fix bug in python-apt
Status in apt package in Ubuntu:
Invalid
Status in python-apt package in Ubuntu:
New
Status in apt source package in Xenial:
Fix Released
Status in python-apt source package in Xenial:
New
Status in python-apt source package in Bionic:
New
Status in python-apt source package in Focal:
New
Status in python-apt source package in Groovy:
New
Status in python-apt source package in Hirsute:
New
Status in python-apt source package in Impish:
New
Bug description:
[Impact]
APT in xenial needs to learn about zstd support to enable Launchpad to work with zstd packages.
python-apt in all releases needs to be adjusted to pass the compressor
names instead of programs to ExtractTar, as otherwise, if
/usr/bin/zstd does not exist, it will pass "false" as the compressor,
and then ExtractTar fails (same for other compressors).
On hirsute, the python-apt upload also includes some new <!nocheck> annotations for build-dependencies, as it's a straight upload of the 2.2
stable series.
[Test plan]
The apt regression tests cover the compression methods extensively, including even stored compressed lists in /var/lib/apt and fetching Packages files compressed with such methods, for all compression methods.
The final test is to make apt_inst.DebFile("glibc-doc-
reference_2.33-0ubuntu2~zstd1_all.deb").control.extractall() from
1923845 work in python3-apt.
For hirsute, the build dependency changes will verify themselves
during the build ;)
[Where problems could occur]
APT:
The changes to APT are adding the zstd compression backend to FileFd
and then linking it into the configuration. The former is adding new
code, triggered only on zstd files, and should not be able to cause
regressions.
The latter is a bunch of small lines here and there, and it caused
issues during backporting in the test suite because it expected
compressors in a specific order. However, chances are that nothing
else has as stringent requirements as the test suite, so I don't
believe that is a problem for existing users.
Bugs can of course be in the code dealing with zstd, and that might
open you up to security vulnerabilities in the zstd code if you pass
APT zstd compressed files.
A regression can be if clients used apt-helper cat-file to cat a zstd-
compressed file ending in .zst - they'll now get uncompressed content,
rather than compressed.
python-apt:
The change just replaces Binary with Name, aligning the code with APT
itself, so it's so trivial, we don't expect regressions.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1926437/+subscriptions
More information about the foundations-bugs
mailing list