1
0
Fork 0

Merging upstream version 1.16.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-21 11:21:25 +01:00
parent e06bc9ad7c
commit 31e2ca45e2
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
23 changed files with 113 additions and 96 deletions

View file

@ -1,19 +1,10 @@
2014-07-01 Antonio Diaz Diaz <antonio@gnu.org>
2014-08-29 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.16-rc1 released.
* License changed to GPL version 2 or later.
2014-05-25 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.16-pre2 released.
* Version 1.16 released.
* New class LZ_mtester makes repair much faster.
2014-04-05 Antonio Diaz Diaz <antonio@gnu.org>
* Version 1.16-pre1 released.
* main.cc (close_and_set_permissions): Behave like 'cp -p'.
* Minor improvements.
* lziprecover.texinfo: Renamed to lziprecover.texi.
* License changed to GPL version 2 or later.
2013-09-14 Antonio Diaz Diaz <antonio@gnu.org>
@ -100,7 +91,7 @@
* testsuite/unzcrash.cc: Test all 1-byte errors.
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This file is a collection of facts, and thus it is not copyrightable,
but just in case, you have unlimited permission to copy, distribute and

View file

@ -1,7 +1,7 @@
Requirements
------------
You will need a C++ compiler.
I use gcc 4.8.1 and 3.3.6, but the code should compile with any
I use gcc 4.9.1 and 3.3.6, but the code should compile with any
standards compliant compiler.
Gcc is available at http://gcc.gnu.org.
@ -32,7 +32,7 @@ the main archive.
5. Type 'make install' to install the program and any data files and
documentation.
You can install only the program, the info manual or the man page
You can install only the program, the info manual or the man page by
typing 'make install-bin', 'make install-info' or 'make install-man'
respectively.
@ -58,7 +58,7 @@ After running 'configure', you can run 'make' and 'make install' as
explained above.
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This file is free documentation: you have unlimited permission to copy,
distribute and modify it.

7
README
View file

@ -24,6 +24,11 @@ into account both data integrity and decoder availability:
* Additionally lzip is copylefted, which guarantees that it will
remain free forever.
A nice feature of the lzip format is that a corrupt byte is easier to
repair the nearer it is from the beginning of the file. Therefore, with
the help of lziprecover, losing an entire archive just because of a
corrupt byte near the beginning is a thing of the past.
Lziprecover is able to recover or decompress files produced by any of
the compressors in the lzip family; lzip, plzip, minilzip/lzlib, clzip
and pdlzip.
@ -67,7 +72,7 @@ unzcrash.c from Julian Seward's bzip2. Type 'make unzcrash' in the
lziprecover source directory to build it. Then try 'unzcrash --help'.
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This file is free documentation: you have unlimited permission to copy,
distribute and modify it.

View file

@ -1,6 +1,5 @@
/* Arg_parser - POSIX/GNU command line argument parser. (C++ version)
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
Antonio Diaz Diaz.
Copyright (C) 2006-2014 Antonio Diaz Diaz.
This library is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,5 @@
/* Arg_parser - POSIX/GNU command line argument parser. (C++ version)
Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
Antonio Diaz Diaz.
Copyright (C) 2006-2014 Antonio Diaz Diaz.
This library is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

10
configure vendored
View file

@ -1,12 +1,12 @@
#! /bin/sh
# configure script for Lziprecover - Data recovery tool for lzip files
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
# configure script for Lziprecover - Data recovery tool for the lzip format
# Copyright (C) 2009-2014 Antonio Diaz Diaz.
#
# This configure script is free software: you have unlimited permission
# to copy, distribute and modify it.
pkgname=lziprecover
pkgversion=1.16-rc1
pkgversion=1.16
progname=lziprecover
srctrigger=doc/${pkgname}.texi
@ -164,8 +164,8 @@ echo "CXXFLAGS = ${CXXFLAGS}"
echo "LDFLAGS = ${LDFLAGS}"
rm -f Makefile
cat > Makefile << EOF
# Makefile for Lziprecover - Data recovery tool for lzip files
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
# Makefile for Lziprecover - Data recovery tool for the lzip format
# Copyright (C) 2009-2014 Antonio Diaz Diaz.
# This file was generated automatically by configure. Do not edit.
#
# This Makefile is free software: you have unlimited permission

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -278,7 +278,7 @@ int LZ_decoder::decode_member( const Pretty_print & pp )
{
rep0 += rdec.decode( direct_bits - dis_align_bits ) << dis_align_bits;
rep0 += rdec.decode_tree_reversed4( bm_align );
if( rep0 == 0xFFFFFFFFU ) // Marker found
if( rep0 == 0xFFFFFFFFU ) // marker found
{
rep0 = rep0_saved;
rdec.normalize();

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,12 +1,12 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1.
.TH LZIPRECOVER "1" "July 2014" "lziprecover 1.16-rc1" "User Commands"
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.1.
.TH LZIPRECOVER "1" "August 2014" "lziprecover 1.16" "User Commands"
.SH NAME
lziprecover \- recovers data from damaged lzip files
.SH SYNOPSIS
.B lziprecover
[\fIoptions\fR] [\fIfiles\fR]
[\fI\,options\/\fR] [\fI\,files\/\fR]
.SH DESCRIPTION
Lziprecover \- Data recovery tool and decompressor for lzip files.
Lziprecover \- Data recovery tool and decompressor for the lzip format.
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View file

@ -3,7 +3,7 @@ lziprecover.texi.
INFO-DIR-SECTION Data Compression
START-INFO-DIR-ENTRY
* Lziprecover: (lziprecover). Data recovery tool for lzip files
* Lziprecover: (lziprecover). Data recovery tool for the lzip format
END-INFO-DIR-ENTRY

@ -12,7 +12,7 @@ File: lziprecover.info, Node: Top, Next: Introduction, Up: (dir)
Lziprecover Manual
******************
This manual is for Lziprecover (version 1.16-rc1, 1 July 2014).
This manual is for Lziprecover (version 1.16, 29 August 2014).
* Menu:
@ -27,7 +27,7 @@ This manual is for Lziprecover (version 1.16-rc1, 1 July 2014).
* Concept index:: Index of concepts
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This manual is free documentation: you have unlimited permission to
copy, distribute and modify it.
@ -62,6 +62,11 @@ into account both data integrity and decoder availability:
* Additionally lzip is copylefted, which guarantees that it will
remain free forever.
A nice feature of the lzip format is that a corrupt byte is easier to
repair the nearer it is from the beginning of the file. Therefore, with
the help of lziprecover, losing an entire archive just because of a
corrupt byte near the beginning is a thing of the past.
Lziprecover is able to recover or decompress files produced by any of
the compressors in the lzip family; lzip, plzip, minilzip/lzlib, clzip
and pdlzip.
@ -257,7 +262,7 @@ corruption.
Bit-flip happens when one bit in the file is changed from 0 to 1 or
vice versa. It may be caused by bad RAM or even by natural radiation. I
have seen a case of bit-flip in a file stored in an USB flash drive.
have seen a case of bit-flip in a file stored on an USB flash drive.
Repairing a file can take some time. Small files or files with the
error located near the beginning can be repaired in a few seconds. But
@ -496,9 +501,15 @@ programs with a suitable command line syntax.
values for each byte. 'N-bit error' means any value differing from
the original value in N bit positions, not a value differing from
the original value in the bit position N.
The number of N-bit errors per byte (N = 1 to 8) is: 8 28 56 70 56
28 8 1
Examples of RANGE: 1 1,2,3 1-4 1,3-5,8 1-3,5-8
The number of N-bit errors per byte (N = 1 to 8) is:
8 28 56 70 56 28 8 1
Examples of RANGE Tests errors of N-bit
1 1
1,2,3 1, 2 and 3
2-4 2, 3 and 4
1,3-5,8 1, 3, 4, 5 and 8
1-3,5-8 1, 2, 3, 5, 6, 7 and 8
'-p BYTES'
'--position=BYTES'
@ -560,17 +571,17 @@ Concept index

Tag Table:
Node: Top226
Node: Introduction1098
Node: Invoking lziprecover3856
Node: Repairing files9294
Node: Merging files10484
Node: File format12255
Node: Examples14765
Ref: ddrescue-example15966
Node: Unzcrash17075
Node: Problems19447
Node: Concept index19997
Node: Top231
Node: Introduction1077
Node: Invoking lziprecover4105
Node: Repairing files9543
Node: Merging files10733
Node: File format12504
Node: Examples15014
Ref: ddrescue-example16215
Node: Unzcrash17324
Node: Problems19876
Node: Concept index20426

End Tag Table

View file

@ -6,19 +6,19 @@
@finalout
@c %**end of header
@set UPDATED 1 July 2014
@set VERSION 1.16-rc1
@set UPDATED 29 August 2014
@set VERSION 1.16
@dircategory Data Compression
@direntry
* Lziprecover: (lziprecover). Data recovery tool for lzip files
* Lziprecover: (lziprecover). Data recovery tool for the lzip format
@end direntry
@ifnothtml
@titlepage
@title Lziprecover
@subtitle Data recovery tool for lzip files
@subtitle Data recovery tool for the lzip format
@subtitle for Lziprecover version @value{VERSION}, @value{UPDATED}
@author by Antonio Diaz Diaz
@ -47,8 +47,7 @@ This manual is for Lziprecover (version @value{VERSION}, @value{UPDATED}).
@end menu
@sp 1
Copyright @copyright{} 2009, 2010, 2011, 2012, 2013, 2014
Antonio Diaz Diaz.
Copyright @copyright{} 2009-2014 Antonio Diaz Diaz.
This manual is free documentation: you have unlimited permission
to copy, distribute and modify it.
@ -87,6 +86,11 @@ Additionally lzip is copylefted, which guarantees that it will remain
free forever.
@end itemize
A nice feature of the lzip format is that a corrupt byte is easier to
repair the nearer it is from the beginning of the file. Therefore, with
the help of lziprecover, losing an entire archive just because of a
corrupt byte near the beginning is a thing of the past.
Lziprecover is able to recover or decompress files produced by any of
the compressors in the lzip family; lzip, plzip, minilzip/lzlib, clzip
and pdlzip.
@ -287,7 +291,7 @@ forms of data corruption.
Bit-flip happens when one bit in the file is changed from 0 to 1 or vice
versa. It may be caused by bad RAM or even by natural radiation. I have
seen a case of bit-flip in a file stored in an USB flash drive.
seen a case of bit-flip in a file stored on an USB flash drive.
Repairing a file can take some time. Small files or files with the error
located near the beginning can be repaired in a few seconds. But
@ -564,8 +568,17 @@ Test N-bit errors only, instead of testing all the 255 wrong values for
each byte. @samp{N-bit error} means any value differing from the
original value in N bit positions, not a value differing from the
original value in the bit position N.@*
The number of N-bit errors per byte (N = 1 to 8) is: 8 28 56 70 56 28 8 1@*
Examples of @var{range}: 1 1,2,3 1-4 1,3-5,8 1-3,5-8
The number of N-bit errors per byte (N = 1 to 8) is:
@w{8 28 56 70 56 28 8 1}
@multitable {Examples of @var{range}} {1, 2, 3, 5, 6, 7 and 8}
@item Examples of @var{range} @tab Tests errors of N-bit
@item 1 @tab 1
@item 1,2,3 @tab 1, 2 and 3
@item 2-4 @tab 2, 3 and 4
@item 1,3-5,8 @tab 1, 3, 4, 5 and 8
@item 1-3,5-8 @tab 1, 2, 3, 5, 6, 7 and 8
@end multitable
@item -p @var{bytes}
@itemx --position=@var{bytes}

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

4
lzip.h
View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -91,7 +91,7 @@ bool delete_output_on_interrupt = false;
void show_help()
{
std::printf( "%s - Data recovery tool and decompressor for lzip files.\n", Program_name );
std::printf( "%s - Data recovery tool and decompressor for the lzip format.\n", Program_name );
std::printf( "\nUsage: %s [options] [files]\n", invocation_name );
std::printf( "\nOptions:\n"
" -h, --help display this help and exit\n"

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -139,7 +139,7 @@ int LZ_mtester::test_member( const long pos_limit )
{
rep0 += rdec.decode( direct_bits - dis_align_bits ) << dis_align_bits;
rep0 += rdec.decode_tree_reversed4( bm_align );
if( rep0 == 0xFFFFFFFFU ) // Marker found
if( rep0 == 0xFFFFFFFFU ) // marker found
{
rep0 = rep0_saved;
rdec.normalize();

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,5 +1,5 @@
/* Lziprecover - Data recovery tool for lzip files
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
/* Lziprecover - Data recovery tool for the lzip format
Copyright (C) 2009-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View file

@ -1,6 +1,6 @@
#! /bin/sh
# check script for Lziprecover - Data recovery tool for lzip files
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
# check script for Lziprecover - Data recovery tool for the lzip format
# Copyright (C) 2009-2014 Antonio Diaz Diaz.
#
# This script is free software: you have unlimited permission
# to copy, distribute and modify it.

View file

@ -1,7 +1,6 @@
/* Unzcrash - Tests robustness of decompressors to corrupted data.
Inspired by unzcrash.c from Julian Seward's bzip2.
Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014
Antonio Diaz Diaz.
Copyright (C) 2008-2014 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by