← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1717040] Re: Please backport libzstd 1.3.1+dfsg-1 (universe) from artful

 

** Changed in: libzstd (Ubuntu Zesty)
       Status: In Progress => Won't Fix

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1717040

Title:
  Please backport libzstd 1.3.1+dfsg-1 (universe) from artful

Status in libzstd package in Ubuntu:
  Fix Released
Status in libzstd source package in Xenial:
  In Progress
Status in libzstd source package in Zesty:
  Won't Fix

Bug description:
  [Impact]

   * libzstd v0.5.1 is an experimental version,
     which generates and read an experimental format
     incompatible with official libzstd v1+ format.

   * Backporting a newer version >= v1.0, such as artful's v1.3.1,
     fixes this issue

   * This backport/SRU is being requested by upstream.

  [Test Case]

   * with the pristine package from each release, compress a big file.
  For example, /usr/bin/snap. Name the resulting compressed file
  according to the version that was used to compress it, like this:

  Xenial:
  $ zstd /usr/bin/snap -o snap.0.5.1.zst
  Compressed 15528016 bytes into 4134889 bytes ==> 26.63%

  Zesty:
  $ zstd /usr/bin/snap -o snap.1.1.2.zst
  /usr/bin/snap        : 30.59%   (10825608 => 3311295 bytes, snap.1.1.2.zst)

   * Upgrade to the package made available through this SRU and compress
  it again:

  Xenial:
  $ zstd /usr/bin/snap -o snap.1.3.1.zst
  /usr/bin/snap        : 25.11%   (15528016 => 3899137 bytes, snap.1.3.1.zst)

  Zesty:
  $ zstd /usr/bin/snap -o snap.1.3.1.zst
  /usr/bin/snap        : 30.59%   (10825608 => 3311290 bytes, snap.1.3.1.zst)

  * Uncompress all the generated files using the new version. This
  proves it can handle files compressed by the old one:

  Xenial:
  $ zstd -d snap.0.5.1.zst -o snap.0.5.1
  snap.0.5.1.zst      : 15528016 bytes
  $ zstd -d snap.1.3.1.zst -o snap.1.3.1
  snap.1.3.1.zst      : 15528016 bytes

  Zesty:
  $ zstd -d snap.1.1.2.zst -o snap.1.1.2
  snap.1.1.2.zst      : 10825608 bytes
  $ zstd -d snap.1.3.1.zst -o snap.1.3.1
  snap.1.3.1.zst      : 10825608 bytes

   * Take md5sums of all uncompressed files and the original. They must
  of course match:

  Xenial:
  $ md5sum /usr/bin/snap snap.0.5.1 snap.1.3.1
  0fa4fa69d79ef4685aaa93be5b3aa33f  /usr/bin/snap
  0fa4fa69d79ef4685aaa93be5b3aa33f  snap.0.5.1
  0fa4fa69d79ef4685aaa93be5b3aa33f  snap.1.3.1

  Zesty:
  $ md5sum /usr/bin/snap snap.1.1.2 snap.1.3.1
  ba0a3ef5f519688bc5b0b58f190e73a4  /usr/bin/snap
  ba0a3ef5f519688bc5b0b58f190e73a4  snap.1.1.2
  ba0a3ef5f519688bc5b0b58f190e73a4  snap.1.3.1

  * Downgrade zstd back to the original version of the ubuntu release
  you are testing:

  Xenial:
  $ sudo apt install zstd=0.5.1-1

  Zesty:
  $ sudo apt install zstd=1.1.2-1 libzstd1=1.1.2-1

  * Try to decompress the zst file created with the 1.3.1 version from the previous test. In xenial only, it should fail to recognize the format:
  $ zstd -d snap.1.3.1.zst -o /dev/null
  zstd: /dev/null already exists; do you wish to overwrite (y/N) ? y
  zstd: snap.1.3.1.zst: not in zstd format

  In zesty it should work:
  $ zstd -d snap.1.3.1.zst -o snap.1.3.1-new
  snap.1.3.1.zst      : 9909192 bytes

  * Still in zesty, compare the md5, which should match:
  $ md5sum snap.1.3.1-new /usr/bin/snap
  7c980688861eef598a56c7970d952028  snap.1.3.1-new
  7c980688861eef598a56c7970d952028  /usr/bin/snap

  [Regression Potential]

   * During transition, if some user switches to newer zstd version, and
  then send compressed data to another user has not yet updated zstd,
  the receiver will not be able to decompress as long as he does not
  update.

   * Note though that newer version contains a compatibility module
  which makes it able to read data generated by older versions, such as
  v0.5.1. Any existing document compressed with v0.5.1 will still be
  readable after update to v1.3.1.

  [Other Info]

   * Linux kernel 4.14 now integrates zstd compression / decompression,
  primarily for BtrFS and SquashFS, with patches available for reiser4,
  zram, and initrd. Kernel version does not support compatibility
  module, hence cannot read data from v0.5.1. Userland tools associated
  with these services will fail if they link to Ubuntu LTS libzstd, as
  generating incompatible data.

   * On top of the incompatible format issue, libzstd v0.5.1 API is old
  and missing several features that applications relying on libzstd
  need, such as streaming interface, or bulk processing for dictionary
  compression.

  --- Original description ---

  Please backport libzstd 1.3.1+dfsg-1 (universe) from artful to xenial.

  Reason for the backport:
  ========================
  Current version in Xenial is v0.5.1,
  it's an experimental version, using its own, incompatible format.
  As a consequence, zstd on Ubuntu Xenial is not compatible with the rest of the world.

  This is of important concern for products using libzstd as a shared library :
  on Ubuntu Xenial, produced data is different, not compatible with v1+.

  This issue has been made more pressing with the integration of zstd in Linux Kernel,
  as userland tools must also be updated to read and generate zstd.

  Note : this request was first improperly filled at :
  https://bugs.launchpad.net/zesty-backports/+bug/1717037

  Testing:
  ========
  Mark off items in the checklist [X] as you test them, but please leave the checklist so that backporters can quickly evaluate the state of testing.

  Backport available from PPA:
  https://launchpad.net/~ginggs/+archive/ubuntu/backports

  * xenial:
  [X] Package builds without modification (needs debhelper 10)
  [X] zstd installs cleanly and runs
  [ ] zstd-dbgsym installs cleanly and runs
  [ ] libzstd1-dbgsym installs cleanly and runs
  [X] libzstd-dev installs cleanly and runs
  [X] libzstd1 installs cleanly and runs

  No reverse dependencies

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libzstd/+bug/1717040/+subscriptions