1
0
Fork 0

Merging upstream version 1.23.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-21 11:31:40 +01:00
parent e97534874c
commit 796a69d402
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
35 changed files with 1166 additions and 704 deletions

83
NEWS
View file

@ -1,73 +1,28 @@
Changes in version 1.22:
Changes in version 1.23:
The option '-e, --reproduce', which can recover a missing (zeroed) sector in
a lzip file, has been added. For it to work, two things are required:
- The same version of the lzip tool that created the file.
- A reference file containing the uncompressed data corresponding to the
missing compressed data of the zeroed sector, plus some context data
before and after them.
Thanks to Nissanka Gooneratne for his help in testing the reproduce mode.
Decompression time has been reduced by 5-12% depending on the file.
The options '--lzip-level', '--lzip-name', and '--reference-file', auxiliary
to '-e, --reproduce', have been added.
In case of error in a numerical argument to a command line option, lziprecover
now shows the name of the option and the range of valid values.
Option aliases '--dump-tdata', '--remove-tdata', and '--strip-tdata' have
been removed.
Options '--dump' and '--strip' now refuse to write compressed data to a
terminal except when dumping trailing data with '--dump=tdata'.
When decompressing or testing, lziprecover now reports an error if a file
name is empty (lziprecover -t "").
The option '-U, --unzcrash' now requires an argument: '1' to test 1-bit
errors, or 'B<size>' to test zeroed blocks.
Option '-o, --output' now behaves like '-c, --stdout', but sending the
output unconditionally to a file instead of to standard output. See the new
description of '-o' in the manual. This change is backwards compatible only
when decompressing from standard input alone. Therefore commands like:
lziprecover -d -o foo - bar.lz < foo.lz
must now be split into:
lziprecover -d -o foo - < foo.lz
lziprecover -d bar.lz
or rewritten as:
lziprecover -d - bar.lz < foo.lz > foo
The memory tester now allocates the dictionary once per member instead of
doing it for each test. This makes '-U, --unzcrash' about two times faster
on my machine on files with an uncompressed size larger than about 30 MB.
When using '-c' or '-o', lziprecover now checks whether the output is a
terminal only once.
'-W, --debug-decompress' now continues decompressing the members following
the damaged member if it has been fully decompressed (just failed with a CRC
mismatch).
Lziprecover now does not even open the output file if the input file is a
terminal.
The tool unzcrash now uses execvp instead of popen to avoid invoking /bin/sh
and run faster. It also prints byte or block position in messages.
'--ignore-errors' now makes '--decompress' and '--test' ignore data errors
and continue decompressing the remaining members in the file, keeping input
files unchanged.
Several descriptions have been improved in manual, '--help', and man page.
'--ignore-errors --range-decompress' now decompresses a truncated last
member. It also returns 0 if only ignored errors (format errors or data
errors) are found.
'--ignore-errors' now considers that any fragment of file starting with a
valid header and large enough to be a member is a (corrupt) member, not a
gap, even if it lacks a valid trailer.
The words 'decompressed' and 'compressed' have been replaced with the
shorter 'out' and 'in' in the verbose output when decompressing or testing.
Several compiler warnings have been fixed. (Reported by Nissanka Gooneratne).
Option '--list' now reports corruption or truncation of the last header in a
multimenber file specifically instead of showing the generic message "Last
member in input file is truncated or corrupt."
The debug options '-E, --debug-reproduce', '-M, --md5sum', and
'-U, --unzcrash' have been added.
The commands needed to extract files from a tar.lz archive have been
documented in the manual, in the output of '--help', and in the man page.
The new chapter 'Reproducing one sector' has been added to the manual.
The new sections 'Merging with a backup' and 'Reproducing a mailbox' have
been added to the manual.
The debug options for experts have been documented in the manual.
Lzip 1.16 (or clzip 1.6) or newer is required to run the tests.
9 new test files have been added to the testsuite.
The texinfo category of the manual has been changed from 'Data Compression'
to 'Compression' to match that of gzip. (Reported by Alfred M. Szmidt).