[SRU] Backport zstd support, fix bug in python-apt
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
python-apt (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Groovy |
Fix Released
|
Undecided
|
Unassigned | ||
Hirsute |
Fix Released
|
Undecided
|
Unassigned | ||
Impish |
Fix Released
|
Undecided
|
Unassigned |
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.
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.
no longer affects: | apt (Ubuntu Bionic) |
no longer affects: | apt (Ubuntu Focal) |
no longer affects: | apt (Ubuntu Groovy) |
no longer affects: | apt (Ubuntu Hirsute) |
no longer affects: | apt (Ubuntu Impish) |
Changed in apt (Ubuntu): | |
status: | New → Invalid |
description: | updated |
Changed in apt (Ubuntu): | |
status: | Invalid → Fix Released |
Hello Julian, or anyone else affected,
Accepted apt into xenial-proposed. The package will build now and be available at https:/ /launchpad. net/ubuntu/ +source/ apt/1.2. 35 in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification- needed- xenial to verification- done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed- xenial. In either case, without details of your testing we will not be able to proceed.
Further information regarding the verification process can be found at https:/ /wiki.ubuntu. com/QATeam/ PerformingSRUVe rification . Thank you in advance for helping!
N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.