fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: This is the README for bzip2/libzip2. fcbade7173 2015-04-30 kinaba: This version is fully compatible with the previous public releases. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: ------------------------------------------------------------------ fcbade7173 2015-04-30 kinaba: This file is part of bzip2/libbzip2, a program and library for fcbade7173 2015-04-30 kinaba: lossless, block-sorting data compression. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: bzip2/libbzip2 version 1.0.6 of 6 September 2010 fcbade7173 2015-04-30 kinaba: Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org> fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Please read the WARNING, DISCLAIMER and PATENTS sections in this file. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: This program is released under the terms of the license contained fcbade7173 2015-04-30 kinaba: in the file LICENSE. fcbade7173 2015-04-30 kinaba: ------------------------------------------------------------------ fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Complete documentation is available in Postscript form (manual.ps), fcbade7173 2015-04-30 kinaba: PDF (manual.pdf) or html (manual.html). A plain-text version of the fcbade7173 2015-04-30 kinaba: manual page is available as bzip2.txt. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: HOW TO BUILD -- UNIX fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Type 'make'. This builds the library libbz2.a and then the programs fcbade7173 2015-04-30 kinaba: bzip2 and bzip2recover. Six self-tests are run. If the self-tests fcbade7173 2015-04-30 kinaba: complete ok, carry on to installation: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: To install in /usr/local/bin, /usr/local/lib, /usr/local/man and fcbade7173 2015-04-30 kinaba: /usr/local/include, type fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: make install fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: make install PREFIX=/xxx/yyy fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: If you are (justifiably) paranoid and want to see what 'make install' fcbade7173 2015-04-30 kinaba: is going to do, you can first do fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: make -n install or fcbade7173 2015-04-30 kinaba: make -n install PREFIX=/xxx/yyy respectively. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: The -n instructs make to show the commands it would execute, but not fcbade7173 2015-04-30 kinaba: actually execute them. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: HOW TO BUILD -- UNIX, shared library libbz2.so. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Do 'make -f Makefile-libbz2_so'. This Makefile seems to work for fcbade7173 2015-04-30 kinaba: Linux-ELF (RedHat 7.2 on an x86 box), with gcc. I make no claims fcbade7173 2015-04-30 kinaba: that it works for any other platform, though I suspect it probably fcbade7173 2015-04-30 kinaba: will work for most platforms employing both ELF and gcc. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: bzip2-shared, a client of the shared library, is also built, but not fcbade7173 2015-04-30 kinaba: self-tested. So I suggest you also build using the normal Makefile, fcbade7173 2015-04-30 kinaba: since that conducts a self-test. A second reason to prefer the fcbade7173 2015-04-30 kinaba: version statically linked to the library is that, on x86 platforms, fcbade7173 2015-04-30 kinaba: building shared objects makes a valuable register (%ebx) unavailable fcbade7173 2015-04-30 kinaba: to gcc, resulting in a slowdown of 10%-20%, at least for bzip2. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Important note for people upgrading .so's from 0.9.0/0.9.5 to version fcbade7173 2015-04-30 kinaba: 1.0.X. All the functions in the library have been renamed, from (eg) fcbade7173 2015-04-30 kinaba: bzCompress to BZ2_bzCompress, to avoid namespace pollution. fcbade7173 2015-04-30 kinaba: Unfortunately this means that the libbz2.so created by fcbade7173 2015-04-30 kinaba: Makefile-libbz2_so will not work with any program which used an older fcbade7173 2015-04-30 kinaba: version of the library. I do encourage library clients to make the fcbade7173 2015-04-30 kinaba: effort to upgrade to use version 1.0, since it is both faster and more fcbade7173 2015-04-30 kinaba: robust than previous versions. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: It's difficult for me to support compilation on all these platforms. fcbade7173 2015-04-30 kinaba: My approach is to collect binaries for these platforms, and put them fcbade7173 2015-04-30 kinaba: on the master web site (http://www.bzip.org). Look there. However fcbade7173 2015-04-30 kinaba: (FWIW), bzip2-1.0.X is very standard ANSI C and should compile fcbade7173 2015-04-30 kinaba: unmodified with MS Visual C. If you have difficulties building, you fcbade7173 2015-04-30 kinaba: might want to read README.COMPILATION.PROBLEMS. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: At least using MS Visual C++ 6, you can build from the unmodified fcbade7173 2015-04-30 kinaba: sources by issuing, in a command shell: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: nmake -f makefile.msc fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: (you may need to first run the MSVC-provided script VCVARS32.BAT fcbade7173 2015-04-30 kinaba: so as to set up paths to the MSVC tools correctly). fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: VALIDATION fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Correct operation, in the sense that a compressed file can always be fcbade7173 2015-04-30 kinaba: decompressed to reproduce the original, is obviously of paramount fcbade7173 2015-04-30 kinaba: importance. To validate bzip2, I used a modified version of Mark fcbade7173 2015-04-30 kinaba: Nelson's churn program. Churn is an automated test driver which fcbade7173 2015-04-30 kinaba: recursively traverses a directory structure, using bzip2 to compress fcbade7173 2015-04-30 kinaba: and then decompress each file it encounters, and checking that the fcbade7173 2015-04-30 kinaba: decompressed data is the same as the original. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Please read and be aware of the following: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WARNING: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: This program and library (attempts to) compress data by fcbade7173 2015-04-30 kinaba: performing several non-trivial transformations on it. fcbade7173 2015-04-30 kinaba: Unless you are 100% familiar with *all* the algorithms fcbade7173 2015-04-30 kinaba: contained herein, and with the consequences of modifying them, fcbade7173 2015-04-30 kinaba: you should NOT meddle with the compression or decompression fcbade7173 2015-04-30 kinaba: machinery. Incorrect changes can and very likely *will* fcbade7173 2015-04-30 kinaba: lead to disastrous loss of data. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: DISCLAIMER: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE fcbade7173 2015-04-30 kinaba: USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Every compression of a file implies an assumption that the fcbade7173 2015-04-30 kinaba: compressed file can be decompressed to reproduce the original. fcbade7173 2015-04-30 kinaba: Great efforts in design, coding and testing have been made to fcbade7173 2015-04-30 kinaba: ensure that this program works correctly. However, the complexity fcbade7173 2015-04-30 kinaba: of the algorithms, and, in particular, the presence of various fcbade7173 2015-04-30 kinaba: special cases in the code which occur with very low but non-zero fcbade7173 2015-04-30 kinaba: probability make it impossible to rule out the possibility of bugs fcbade7173 2015-04-30 kinaba: remaining in the program. DO NOT COMPRESS ANY DATA WITH THIS fcbade7173 2015-04-30 kinaba: PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER fcbade7173 2015-04-30 kinaba: SMALL, THAT THE DATA WILL NOT BE RECOVERABLE. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: That is not to say this program is inherently unreliable. fcbade7173 2015-04-30 kinaba: Indeed, I very much hope the opposite is true. bzip2/libbzip2 fcbade7173 2015-04-30 kinaba: has been carefully constructed and extensively tested. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: PATENTS: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: To the best of my knowledge, bzip2/libbzip2 does not use any fcbade7173 2015-04-30 kinaba: patented algorithms. However, I do not have the resources fcbade7173 2015-04-30 kinaba: to carry out a patent search. Therefore I cannot give any fcbade7173 2015-04-30 kinaba: guarantee of the above statement. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ? fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: * Approx 10% faster compression, 30% faster decompression fcbade7173 2015-04-30 kinaba: * -t (test mode) is a lot quicker fcbade7173 2015-04-30 kinaba: * Can decompress concatenated compressed files fcbade7173 2015-04-30 kinaba: * Programming interface, so programs can directly read/write .bz2 files fcbade7173 2015-04-30 kinaba: * Less restrictive (BSD-style) licensing fcbade7173 2015-04-30 kinaba: * Flag handling more compatible with GNU gzip fcbade7173 2015-04-30 kinaba: * Much more documentation, i.e., a proper user manual fcbade7173 2015-04-30 kinaba: * Hopefully, improved portability (at least of the library) fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WHAT'S NEW IN 0.9.5 ? fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: * Compression speed is much less sensitive to the input fcbade7173 2015-04-30 kinaba: data than in previous versions. Specifically, the very fcbade7173 2015-04-30 kinaba: slow performance caused by repetitive data is fixed. fcbade7173 2015-04-30 kinaba: * Many small improvements in file and flag handling. fcbade7173 2015-04-30 kinaba: * A Y2K statement. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WHAT'S NEW IN 1.0.0 ? fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: See the CHANGES file. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WHAT'S NEW IN 1.0.2 ? fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: See the CHANGES file. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WHAT'S NEW IN 1.0.3 ? fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: See the CHANGES file. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WHAT'S NEW IN 1.0.4 ? fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: See the CHANGES file. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WHAT'S NEW IN 1.0.5 ? fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: See the CHANGES file. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: WHAT'S NEW IN 1.0.6 ? fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: See the CHANGES file. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: I hope you find bzip2 useful. Feel free to contact me at fcbade7173 2015-04-30 kinaba: jseward@bzip.org fcbade7173 2015-04-30 kinaba: if you have any suggestions or queries. Many people mailed me with fcbade7173 2015-04-30 kinaba: comments, suggestions and patches after the releases of bzip-0.15, fcbade7173 2015-04-30 kinaba: bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, fcbade7173 2015-04-30 kinaba: 1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this fcbade7173 2015-04-30 kinaba: feedback. I thank you for your comments. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: bzip2's "home" is http://www.bzip.org/ fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: Julian Seward fcbade7173 2015-04-30 kinaba: jseward@bzip.org fcbade7173 2015-04-30 kinaba: Cambridge, UK. fcbade7173 2015-04-30 kinaba: fcbade7173 2015-04-30 kinaba: 18 July 1996 (version 0.15) fcbade7173 2015-04-30 kinaba: 25 August 1996 (version 0.21) fcbade7173 2015-04-30 kinaba: 7 August 1997 (bzip2, version 0.1) fcbade7173 2015-04-30 kinaba: 29 August 1997 (bzip2, version 0.1pl2) fcbade7173 2015-04-30 kinaba: 23 August 1998 (bzip2, version 0.9.0) fcbade7173 2015-04-30 kinaba: 8 June 1999 (bzip2, version 0.9.5) fcbade7173 2015-04-30 kinaba: 4 Sept 1999 (bzip2, version 0.9.5d) fcbade7173 2015-04-30 kinaba: 5 May 2000 (bzip2, version 1.0pre8) fcbade7173 2015-04-30 kinaba: 30 December 2001 (bzip2, version 1.0.2pre1) fcbade7173 2015-04-30 kinaba: 15 February 2005 (bzip2, version 1.0.3) fcbade7173 2015-04-30 kinaba: 20 December 2006 (bzip2, version 1.0.4) fcbade7173 2015-04-30 kinaba: 10 December 2007 (bzip2, version 1.0.5) fcbade7173 2015-04-30 kinaba: 6 Sept 2010 (bzip2, version 1.0.6)