2018-04-16 02:35:39 |
Balint Reczey |
bug |
|
|
added bug |
2018-04-16 02:35:39 |
Balint Reczey |
attachment added |
|
dpkg_1.19.0.5ubuntu2.patch https://bugs.launchpad.net/bugs/1764220/+attachment/5117300/+files/dpkg_1.19.0.5ubuntu2.patch |
|
2018-04-16 02:37:02 |
Balint Reczey |
bug |
|
|
added subscriber Ubuntu Release Team |
2018-04-16 10:00:26 |
Łukasz Zemczak |
dpkg (Ubuntu): status |
New |
Triaged |
|
2018-04-16 12:36:54 |
Francis Ginther |
tags |
|
id-5a9f9b96fff3bd2877ffa9de |
|
2018-04-18 17:58:01 |
Balint Reczey |
bug watch added |
|
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
|
2018-04-18 17:58:01 |
Balint Reczey |
bug task added |
|
dpkg |
|
2018-04-18 22:34:42 |
Bug Watch Updater |
dpkg: status |
Unknown |
New |
|
2018-04-19 22:36:08 |
Launchpad Janitor |
dpkg (Ubuntu): status |
Triaged |
Fix Released |
|
2019-02-01 12:47:57 |
Bug Watch Updater |
dpkg: status |
New |
Incomplete |
|
2021-04-06 16:38:00 |
Balint Reczey |
summary |
[FFe] dpkg zstd support |
[SRU] dpkg zstd support |
|
2021-04-06 16:41:52 |
Balint Reczey |
nominated for series |
|
Ubuntu Xenial |
|
2021-04-06 16:41:52 |
Balint Reczey |
bug task added |
|
dpkg (Ubuntu Xenial) |
|
2021-04-12 14:38:30 |
Balint Reczey |
dpkg (Ubuntu Xenial): assignee |
|
Balint Reczey (rbalint) |
|
2021-04-14 18:18:02 |
Balint Reczey |
description |
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors.
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
|
2021-04-14 19:57:42 |
Balint Reczey |
description |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors.
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
* Build the hello package, it should work
* Build the hello package overriding the compression to zstd, this should fail:
$ cat debian/rules
...
override_dh_builddeb:
dh_builddeb -- -Zzstd
...
make[1]: Entering directory '/root/hello-2.10'
dh_builddeb -- -Zzstd
dpkg-deb: building package 'hello' in '../hello_2.10-1ubuntu1_amd64.deb'.
dh_builddeb: dpkg-deb -Zzstd --build debian/hello .. died with signal 13
debian/rules:12: recipe for target 'override_dh_builddeb' failed
make[1]: *** [override_dh_builddeb] Error 1
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors should they exist.
Only decompression should be supported and this is verified in the test plan.
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
|
2021-04-15 12:38:49 |
Balint Reczey |
description |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
* Build the hello package, it should work
* Build the hello package overriding the compression to zstd, this should fail:
$ cat debian/rules
...
override_dh_builddeb:
dh_builddeb -- -Zzstd
...
make[1]: Entering directory '/root/hello-2.10'
dh_builddeb -- -Zzstd
dpkg-deb: building package 'hello' in '../hello_2.10-1ubuntu1_amd64.deb'.
dh_builddeb: dpkg-deb -Zzstd --build debian/hello .. died with signal 13
debian/rules:12: recipe for target 'override_dh_builddeb' failed
make[1]: *** [override_dh_builddeb] Error 1
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors should they exist.
Only decompression should be supported and this is verified in the test plan.
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
* Build the hello package, it should work
* Build the hello package overriding the compression to zstd, this should fail:
$ cat debian/rules
...
override_dh_builddeb:
dh_builddeb -- -Zzstd
...
make[1]: Entering directory '/root/hello-2.10'
dh_builddeb -- -Zzstd
dpkg-deb: error: only decompression is supported for 'zstd'!
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --help for help about installing and deinstalling packages.
dh_builddeb: dpkg-deb -Zzstd --build debian/hello .. returned exit code 2
debian/rules:12: recipe for target 'override_dh_builddeb' failed
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors should they exist.
Only decompression should be supported and this is verified in the test plan.
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
|
2021-04-15 13:04:02 |
Balint Reczey |
description |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
* Build the hello package, it should work
* Build the hello package overriding the compression to zstd, this should fail:
$ cat debian/rules
...
override_dh_builddeb:
dh_builddeb -- -Zzstd
...
make[1]: Entering directory '/root/hello-2.10'
dh_builddeb -- -Zzstd
dpkg-deb: error: only decompression is supported for 'zstd'!
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --help for help about installing and deinstalling packages.
dh_builddeb: dpkg-deb -Zzstd --build debian/hello .. returned exit code 2
debian/rules:12: recipe for target 'override_dh_builddeb' failed
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors should they exist.
Only decompression should be supported and this is verified in the test plan.
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
* Build the hello package, it should work
* Build the hello package overriding the compression to zstd, this should fail:
$ cat debian/rules
...
override_dh_builddeb:
dh_builddeb -- -Zzstd
...
make[1]: Entering directory '/root/hello-2.10'
dh_builddeb -- -Zzstd
dpkg-deb: error: only decompression is supported for 'zstd'!
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --help for help about installing and deinstalling packages.
dh_builddeb: dpkg-deb -Zzstd --build debian/hello .. returned exit code 2
debian/rules:12: recipe for target 'override_dh_builddeb' failed
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors should they exist.
Only decompression should be supported and this is verified in the test plan.
* Incompabilities between libzstd present in Xenial and present in later releases could prevent dpkg running on Xenial from successfully processing packages built on later releases. The package for Xenial is built with libzstd1 (build-depending on libzstd1-dev) which is at version 1.3.1+dfsg-1~ubuntu0.16.04.1. Bionic's version is 1.3.3+dfsg-2ubuntu1.2 and there were no format breaking changes between those versions, not in any later version. https://github.com/facebook/zstd/issues/999#issuecomment-359538229 .
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
|
2021-04-15 13:04:18 |
Balint Reczey |
description |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
* Build the hello package, it should work
* Build the hello package overriding the compression to zstd, this should fail:
$ cat debian/rules
...
override_dh_builddeb:
dh_builddeb -- -Zzstd
...
make[1]: Entering directory '/root/hello-2.10'
dh_builddeb -- -Zzstd
dpkg-deb: error: only decompression is supported for 'zstd'!
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --help for help about installing and deinstalling packages.
dh_builddeb: dpkg-deb -Zzstd --build debian/hello .. returned exit code 2
debian/rules:12: recipe for target 'override_dh_builddeb' failed
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors should they exist.
Only decompression should be supported and this is verified in the test plan.
* Incompabilities between libzstd present in Xenial and present in later releases could prevent dpkg running on Xenial from successfully processing packages built on later releases. The package for Xenial is built with libzstd1 (build-depending on libzstd1-dev) which is at version 1.3.1+dfsg-1~ubuntu0.16.04.1. Bionic's version is 1.3.3+dfsg-2ubuntu1.2 and there were no format breaking changes between those versions, not in any later version. https://github.com/facebook/zstd/issues/999#issuecomment-359538229 .
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
[Impact]
* Xenial's dpkg can't decompress zstd-compressed binary packages preventing some systems of Launchpad from processing packages with such compression. This blocks publishing zstd-compressed binary packages through Launchpad for later Ubuntu releases as well.
[Test Plan]
* https://people.canonical.com/~rbalint/zstd-debs/ contains a .deb built on Hirsute having both data and control members of the .deb being compressed with zstd.
* Download and unpack it. With unfixed dpkg an error should be shown.
$ wget https://people.canonical.com/~rbalint/zstd-debs/glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
# unfixed:
$ dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
dpkg-deb: error: archive 'glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb' uses unknown compression for member 'control.tar.zst', giving up
# fixed
$ time dpkg-deb -R glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb glibc-doc-extracted
real 0m0.148s
user 0m0.041s
sys 0m0.124s
* Also install the package:
root@x-zstd:~# dpkg -i glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb
Selecting previously unselected package glibc-doc-reference.
(Reading database ... 25816 files and directories currently installed.)
Preparing to unpack glibc-doc-reference_2.33-0ubuntu2~zstd1_all.deb ...
Unpacking glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Setting up glibc-doc-reference (2.33-0ubuntu2~zstd1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
root@x-zstd:~#
* Build the hello package, it should work
* Build the hello package overriding the compression to zstd, this should fail:
$ cat debian/rules
...
override_dh_builddeb:
dh_builddeb -- -Zzstd
...
make[1]: Entering directory '/root/hello-2.10'
dh_builddeb -- -Zzstd
dpkg-deb: error: only decompression is supported for 'zstd'!
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --help for help about installing and deinstalling packages.
dh_builddeb: dpkg-deb -Zzstd --build debian/hello .. returned exit code 2
debian/rules:12: recipe for target 'override_dh_builddeb' failed
[Where problems could occur]
* The fix is isolated and is a backport from Bionic with the compression part omitted. Crashes could happen due to coding errors should they exist.
Only decompression should be supported and this is verified in the test plan.
* Incompabilities between libzstd present in Xenial and present in later releases could prevent dpkg running on Xenial from successfully processing packages built on later releases. The package for Xenial is built with libzstd1 (build-depending on libzstd1-dev) which is at version 1.3.1+dfsg-1~ubuntu0.16.04.1. Bionic's version is 1.3.3+dfsg-2ubuntu1.2 and there were no format breaking changes between those versions, not in any later version. See https://github.com/facebook/zstd/issues/999#issuecomment-359538229 .
[Original Bug Text]
As discussed previously, we want to have zstd support in 18.04 to evaluate and potentially enable it in later releases.
The zstd support adds a dependency on libzstd1 to dpkg. This should not have any effect on live images, since libzstd1 is part of the various live tasks, as btrfs-progs need it. For installed systems, this might be a new dependency (if they do not use btrfs, tor, or some other tools), so an increase of ~520 KB, as that's the size of the library and the library only depends on libc6.
The change is isolated, it adds the compressor and decompressor to dpkg, please see the attached patch for the details.
The change is being discussed here:
https://lists.ubuntu.com/archives/ubuntu-devel/2018-March/040211.html
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892664 |
|
2021-04-20 20:46:12 |
Steve Langasek |
dpkg (Ubuntu Xenial): status |
New |
Fix Committed |
|
2021-04-20 20:46:14 |
Steve Langasek |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2021-04-20 20:46:16 |
Steve Langasek |
bug |
|
|
added subscriber SRU Verification |
2021-04-20 20:46:20 |
Steve Langasek |
tags |
id-5a9f9b96fff3bd2877ffa9de |
id-5a9f9b96fff3bd2877ffa9de verification-needed verification-needed-xenial |
|
2021-04-21 15:50:31 |
Balint Reczey |
tags |
id-5a9f9b96fff3bd2877ffa9de verification-needed verification-needed-xenial |
id-5a9f9b96fff3bd2877ffa9de verification-done verification-done-xenial |
|
2021-04-22 16:14:22 |
Balint Reczey |
merge proposal linked |
|
https://code.launchpad.net/~rbalint/britney/+git/hints-ubuntu/+merge/401632 |
|
2021-04-27 17:13:11 |
Balint Reczey |
merge proposal linked |
|
https://code.launchpad.net/~rbalint/britney/+git/hints-ubuntu/+merge/401885 |
|
2021-04-28 22:30:30 |
Brian Murray |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2021-04-28 22:45:58 |
Launchpad Janitor |
dpkg (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2023-01-11 03:45:29 |
Bug Watch Updater |
dpkg: status |
Incomplete |
Fix Released |
|