Update docs.

Bump version number.
Tidy.
This commit is contained in:
Con Kolivas 2010-11-02 11:14:00 +11:00
parent 102140dc2b
commit c0ac813f6d
6 changed files with 41 additions and 17 deletions

View file

@ -1,4 +1,28 @@
lrzip ChangeLog
NOVEMBER 2010, version 0.5 Con Kolivas
* Changed offset encoding in rzip stage to use variable byte width offsets
instead of 64 bits wide. Makes for better compression and slightly faster.
* Write the byte width into the file before each block.
* Shrunk match lengths to maximum of 16 bits again as per original rzip as the
larger offsets did not achieve greater compression and made final size larger.
* New file format not backwards compatible due to variable byte widths.
* Rewrote memory initialisation to have a pre-allocation stage to try and
find the maximum memory usable and defragment ram.
* Use reduced window size if allocating memory fails at higher size.
* Change use of malloc to mmap to make it possible to address up to 44 bit
sized offsets even on 32 bit machines on decompression. Still unable to use
greater than 2GB windows on 32 bit machines and unsure if this is fixable.
* Reworked the STDIN code to use an anonymous mmap and read in stdin into this
to make it possible to compress from STDIN without the need for temporary
files. As the file size is not known in advance, memory allocation is set to
large and byte width to equivalent size.
* Reallocation of ram where possible to minimise risk of running out of memory
in the middle of a compression phase, and flushing to disk to empty dirty ram
for the same reason.
* More robust fatal warnings.
* Numerous cleanups and tidying of code and addition of comments.
* Updated documentation to reflect changes.
OCTOBER 2010, version 0.47, Con Kolivas
* Fix the symlinking problem when DESTDIR is in use reported by a billion
people.

2
README
View file

@ -1,4 +1,4 @@
lrzip v0.50
lrzip v0.5
Long Range ZIP or Lzma RZIP

View file

@ -7,7 +7,8 @@ Updated a lot of the stdin code.
The most common scenario of compression from stdin now works without
temporary files.
Lots more meaningful warnings if failure occurs.
Lots of code cleanups and tidying.
May be able to decompress files on 32 bit machines that were compressed on 64
bit machines with >2GB windows now if there is enough ram.
lrzip-0.46

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.47.
# Generated by GNU Autoconf 2.67 for lrzip 0.5.
#
# Report bugs to <kernel@kolivas.org>.
#
@ -551,9 +551,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='lrzip'
PACKAGE_TARNAME='lrzip-0.47'
PACKAGE_VERSION='0.47'
PACKAGE_STRING='lrzip 0.47'
PACKAGE_TARNAME='lrzip-0.5'
PACKAGE_VERSION='0.5'
PACKAGE_STRING='lrzip 0.5'
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.47 to adapt to many kinds of systems.
\`configure' configures lrzip 0.5 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.47]
--docdir=DIR documentation root [DATAROOTDIR/doc/lrzip-0.5]
--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.47:";;
short | recursive ) echo "Configuration of lrzip 0.5:";;
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.47
lrzip configure 0.5
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.47, which was
It was created by lrzip $as_me 0.5, 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.47, which was
This file was extended by lrzip $as_me 0.5, 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.47
lrzip config.status 0.5
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.47],[kernel@kolivas.org],[lrzip-0.47])
AC_INIT([lrzip],[0.5],[kernel@kolivas.org],[lrzip-0.5])
AC_CONFIG_HEADER(config.h)
# see what our system is!
AC_CANONICAL_HOST

5
main.c
View file

@ -136,7 +136,7 @@ static void preserve_perms(int fd_in, int fd_out)
fchown(fd_out, st.st_uid, st.st_gid);
}
/* Open a temporary outputfile for stdout compression */
/* Open a temporary outputfile to emulate stdout */
static int open_tmpoutfile(void)
{
int fd_out;
@ -563,9 +563,8 @@ int main(int argc, char *argv[])
control.suffix = ".lrz";
control.outdir = NULL;
if (strstr(argv[0], "lrunzip")) {
if (strstr(argv[0], "lrunzip"))
control.flags |= FLAG_DECOMPRESS;
}
control.compression_level = 7;
control.ramsize = get_ram() / 104858ull; /* hundreds of megabytes */