+8
−3
+58
−37
Loading
There are at least 2 cases where `pixz` produces output which differs from `xz --check=crc32 -T0`: - When `pixz` compresses a `.tar` file and `-t` is not given it produces an extra xz data block which contains an index of the tar contents. - For blocks where the uncompressed size is significantly less than the expected block size, `xz` overestimates the block heading size, which results in >= 4 bytes of padding while `pixz` does not. Examples: * https://mirrors.edge.kernel.org/pub/software/network/iw/iw-4.14.tar.xz * https://mirrors.edge.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.26.tar.xz * http://snapshot.debian.org/archive/debian/20180220T215051Z/pool/main/k/kexec-tools/kexec-tools_2.0.16.orig.tar.xz All are compressed using `pixz` and have a 16-byte block header. Recompressing with `xz` gives a 20-byte block header with 4 pad bytes. Due to these differences, use of `pixz` instead of `xz` is sometimes necessary, which is why this commit introduces these checks. Closes: #892029 Closes: #913218 Signed-off-by:Kevin Locke <kevin@kevinlocke.name>