Update version number to 0.544.

Change suggested maximum compression in README to disable threading with -p 1.
Use bzip2 as a fallback compression when lzma fails due to internal memory errors as may happen on 32 bits.
This commit is contained in:
Con Kolivas 2010-12-04 21:36:51 +11:00
parent 23e89b06af
commit c3dfcfcec1
5 changed files with 26 additions and 19 deletions

9
README
View file

@ -101,10 +101,11 @@ Q. How do I make a static build?
A. make static
Q. I want the absolute maximum compression I can possibly get, what do I do?
A. Try the command line options -MUz. This will use all available ram and ZPAQ
compression, and even use a compression window larger than you have ram.
Expect serious swapping to occur if your file is larger than your ram and for
it to take many times longer.
A. Try the command line options -MUzp 1. This will use all available ram and
ZPAQ compression, and even use a compression window larger than you have ram.
The -p 1 option disables multithreading which improves compression but at the
expense of speed. Expect serious swapping to occur if your file is larger than
your ram and for it to take many times longer.
Q. I want the absolute fastest decent compression I can possibly get.
A. Try the command line options -Ml. This will use the maximum possible

22
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.67 for lrzip 0.543.
# Generated by GNU Autoconf 2.67 for lrzip 0.544.
#
# Report bugs to <kernel@kolivas.org>.
#
@ -551,9 +551,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='lrzip'
PACKAGE_TARNAME='lrzip-0.543'
PACKAGE_VERSION='0.543'
PACKAGE_STRING='lrzip 0.543'
PACKAGE_TARNAME='lrzip-0.544'
PACKAGE_VERSION='0.544'
PACKAGE_STRING='lrzip 0.544'
PACKAGE_BUGREPORT='kernel@kolivas.org'
PACKAGE_URL=''
@ -1221,7 +1221,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures lrzip 0.543 to adapt to many kinds of systems.
\`configure' configures lrzip 0.544 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1269,7 +1269,7 @@ Fine tuning of the installation directories:
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/lrzip-0.543]
--docdir=DIR documentation root [DATAROOTDIR/doc/lrzip-0.544]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
@ -1286,7 +1286,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of lrzip 0.543:";;
short | recursive ) echo "Configuration of lrzip 0.544:";;
esac
cat <<\_ACEOF
@ -1375,7 +1375,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
lrzip configure 0.543
lrzip configure 0.544
generated by GNU Autoconf 2.67
Copyright (C) 2010 Free Software Foundation, Inc.
@ -2014,7 +2014,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by lrzip $as_me 0.543, which was
It was created by lrzip $as_me 0.544, which was
generated by GNU Autoconf 2.67. Invocation command line was
$ $0 $@
@ -5324,7 +5324,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by lrzip $as_me 0.543, which was
This file was extended by lrzip $as_me 0.544, which was
generated by GNU Autoconf 2.67. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -5386,7 +5386,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
lrzip config.status 0.543
lrzip config.status 0.544
configured by $0, generated by GNU Autoconf 2.67,
with options \\"\$ac_cs_config\\"

View file

@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT([lrzip],[0.543],[kernel@kolivas.org],[lrzip-0.543])
AC_INIT([lrzip],[0.544],[kernel@kolivas.org],[lrzip-0.544])
AC_CONFIG_HEADER(config.h)
# see what our system is!
AC_CANONICAL_HOST

2
rzip.h
View file

@ -19,7 +19,7 @@
#define LRZIP_MAJOR_VERSION 0
#define LRZIP_MINOR_VERSION 5
#define LRZIP_MINOR_SUBVERSION 43
#define LRZIP_MINOR_SUBVERSION 44
#define NUM_STREAMS 2
#define STREAM_BUFSIZE (1024 * 1024 * 10)

View file

@ -288,7 +288,7 @@ static void lzma_compress_buf(struct compress_thread *cthread)
if (lzma_ret != SZ_OK) {
switch (lzma_ret) {
case SZ_ERROR_MEM:
print_err("LZMA ERROR: %d. Try a smaller compression window.\n", SZ_ERROR_MEM);
print_verbose("LZMA ERROR: %d. Can't allocate enough RAM for compression window.\n", SZ_ERROR_MEM);
break;
case SZ_ERROR_PARAM:
print_err("LZMA Parameter ERROR: %d. This should not happen.\n", SZ_ERROR_PARAM);
@ -304,8 +304,14 @@ static void lzma_compress_buf(struct compress_thread *cthread)
break;
}
/* can pass -1 if not compressible! Thanks Lasse Collin */
print_maxverbose("Incompressible block\n");
free(c_buf);
if (lzma_ret == SZ_ERROR_MEM) {
/* lzma compress can be fragile on 32 bit. If it fails,
* fall back to bzip2 compression so the block doesn't
* remain uncompressed */
print_verbose("Falling back to bzip2 compression.\n");
bzip2_compress_buf(cthread);
}
return;
}
if ((i64)dlen >= cthread->c_len) {