diff --git a/BUGS b/BUGS index 68ef302..fa5cbf3 100644 --- a/BUGS +++ b/BUGS @@ -1,5 +1,10 @@ -BUGME November 2010 +BUGME February 2011 -Fails on mac osx : needs unnamed semaphores converted to named to work. Last -working version 0.530. +Mac OSX does not use multithreading, silently ignoring it so as to work. It +does not support unnamed semaphores so another synchronisation primitive will +be required (named semaphores or other). +There have been rare reports of corruption on decompression of files >20GB. +The cause remains unknown so caution is recommended, and not to use lrzip for +mission critical massive file backups. Checking files with md5sum is +recommended till further notice. diff --git a/ChangeLog b/ChangeLog index 242d75c..30344e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,18 @@ lrzip ChangeLog +FEBRUARY 2011, version 0.552 Con Kolivas +* Fix incompressible blocks causing failure with bzip2 and gzip. +* Freebsd doesn't do mremap, use the fake one. +* Update copyright notices. +* Flush writes to disk before allocating ram. +* Relax memory allocation when no back end compression will be used. +* Clean up unnecessary semaphore usage in decompression. +* Fix minor typos. +* Convert mmaps to malloc in runzip as they may silently fail if not a +multiple of page size, thereby leading to silent corruption on decompression. +* Return the correct length by unzip_literal. +* Use wrappers to serialise threads on OSX and bypass use of unnamed semaphores +which aren't supported. + DECEMBER 2010, version 0.551 Con Kolivas * Fix stdin failing due to getting sizes all wrong. * Fix stdin compression values not being shown at end. diff --git a/WHATS-NEW b/WHATS-NEW index 09a561d..c15eb17 100644 --- a/WHATS-NEW +++ b/WHATS-NEW @@ -1,3 +1,11 @@ +lrzip-0.552 + +Fixed a potential silent corruption bug on decompression. +Fixed compilation on freebsd. +Fixed failures on incompressible blocks with bzip2 or gzip. +Fixed osx failing to work. It does not support threaded compression or +decompression but should work again. + lrzip-0.551 Compressing from stdin should be unbroken again. diff --git a/configure b/configure index 47bfc2c..eb19ed6 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.67 for lrzip 0.551. +# Generated by GNU Autoconf 2.67 for lrzip 0.552. # # Report bugs to . # @@ -551,9 +551,9 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='lrzip' -PACKAGE_TARNAME='lrzip-0.551' -PACKAGE_VERSION='0.551' -PACKAGE_STRING='lrzip 0.551' +PACKAGE_TARNAME='lrzip-0.552' +PACKAGE_VERSION='0.552' +PACKAGE_STRING='lrzip 0.552' 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.551 to adapt to many kinds of systems. +\`configure' configures lrzip 0.552 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.551] + --docdir=DIR documentation root [DATAROOTDIR/doc/lrzip-0.552] --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.551:";; + short | recursive ) echo "Configuration of lrzip 0.552:";; 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.551 +lrzip configure 0.552 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.551, which was +It was created by lrzip $as_me 0.552, 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.551, which was +This file was extended by lrzip $as_me 0.552, 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.551 +lrzip config.status 0.552 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index bd7fbea..53d82d4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([lrzip],[0.551],[kernel@kolivas.org],[lrzip-0.551]) +AC_INIT([lrzip],[0.552],[kernel@kolivas.org],[lrzip-0.552]) AC_CONFIG_HEADER(config.h) # see what our system is! AC_CANONICAL_HOST diff --git a/man/lrzip.1 b/man/lrzip.1 index 472afe8..257c015 100644 --- a/man/lrzip.1 +++ b/man/lrzip.1 @@ -1,4 +1,4 @@ -.TH "lrzip" "1" "November 2010" "" "" +.TH "lrzip" "1" "February 2011" "" "" .SH "NAME" lrzip \- a large-file compression program .SH "SYNOPSIS" @@ -262,7 +262,8 @@ with increasing ram sizes. .PP .SH "BUGS" .PP -Nil known. Probably lots. +Rare reports of corruption on decompression of archives larger than 20GB. +Checking the output always with md5sum or equivalent is suggested. .PP .SH "SEE ALSO" diff --git a/rzip.h b/rzip.h index 68ff625..de4046d 100644 --- a/rzip.h +++ b/rzip.h @@ -18,7 +18,7 @@ #define LRZIP_MAJOR_VERSION 0 #define LRZIP_MINOR_VERSION 5 -#define LRZIP_MINOR_SUBVERSION 51 +#define LRZIP_MINOR_SUBVERSION 52 #define NUM_STREAMS 2 #define STREAM_BUFSIZE (1024 * 1024 * 10)