Hi, Holger Levsen wrote:
> the typo3 orig.tar.gz as it is in squeeze or sid is sufficient: gunzip it and > compress it with pxz and "voila"... *builds pxz, tests* Luckily the cause seems to be simple. pxz works by concatenating whole XZ files, but for simplicity busybox unxz ignores everything past the end of the first stream it reads. Meanwhile standard xz handles concatenated streams by concatenating their decompressed form. $ xz --robot -v -l broken.tar.xz | grep stream stream 1 1 0 0 11083380 25169920 0.440 CRC64 0 stream 2 1 11083380 25169920 5431156 25169920 0.216 CRC64 0 stream 3 1 16514536 50339840 267724 1505280 0.178 CRC64 0 $ busybox unxz -c <broken.tar.xz | wc -c 25169920 $ xz -dc <broken.tar.xz | wc -c 51845120 This could be avoided by putting the compressed chunks into Blocks instead of Streams, but that requires deeper knowledge of the file format (see /usr/share/doc/liblzma-dev/xz-file-format.txt). Or perhaps busybox unxz should learn about concatenated streams. Simplified example compressed file to play with attached. $ printf he | xz >test.xz $ echo llo | xz >>test.xz $ unxz <test.xz hello $ busybox unxz <test.xz he$ Have fun, Jonathan
concatenated.xz
Description: Binary data