1 2 3This is the README for bzip2, a block-sorting file compressor, version 40.9.0. This version is fully compatible with the previous public 5release, bzip2-0.1pl2. 6 7bzip2-0.9.0 is distributed under a BSD-style license. For details, 8see the file LICENSE. 9 10Complete documentation is available in Postscript form (manual.ps) 11or html (manual_toc.html). A plain-text version of the manual page is 12available as bzip2.txt. 13 14 15HOW TO BUILD -- UNIX 16 17Type `make'. 18 19This creates binaries "bzip2" and "bzip2recover". 20 21It also runs four compress-decompress tests to make sure things are 22working properly. If all goes well, you should be up & running. 23Please be sure to read the output from `make' just to be sure that the 24tests went ok. 25 26To install bzip2 properly: 27 28* Copy the binaries "bzip2" and "bzip2recover" to a publically visible 29 place, possibly /usr/bin or /usr/local/bin. 30 31* In that directory, make "bunzip2" and "bzcat" be symbolic links 32 to "bzip2". 33 34* Copy the manual page, bzip2.1, to the relevant place. 35 Probably the right place is /usr/man/man1/. 36 37If you want to program with the library, you'll need to copy libbz2.a 38and bzlib.h to /usr/lib and /usr/include respectively. 39 40 41HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc. 42 43It's difficult for me to support compilation on all these platforms. 44My approach is to collect binaries for these platforms, and put them 45on my web page (http://www.muraroa.demon.co.uk). Look there. 46 47 48VALIDATION 49 50Correct operation, in the sense that a compressed file can always be 51decompressed to reproduce the original, is obviously of paramount 52importance. To validate bzip2, I used a modified version of Mark 53Nelson's churn program. Churn is an automated test driver which 54recursively traverses a directory structure, using bzip2 to compress 55and then decompress each file it encounters, and checking that the 56decompressed data is the same as the original. There are more details 57in Section 4 of the user guide. 58 59 60 61Please read and be aware of the following: 62 63WARNING: 64 65 This program (attempts to) compress data by performing several 66 non-trivial transformations on it. Unless you are 100% familiar 67 with *all* the algorithms contained herein, and with the 68 consequences of modifying them, you should NOT meddle with the 69 compression or decompression machinery. Incorrect changes can and 70 very likely *will* lead to disastrous loss of data. 71 72 73DISCLAIMER: 74 75 I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE 76 USE OF THIS PROGRAM, HOWSOEVER CAUSED. 77 78 Every compression of a file implies an assumption that the 79 compressed file can be decompressed to reproduce the original. 80 Great efforts in design, coding and testing have been made to 81 ensure that this program works correctly. However, the complexity 82 of the algorithms, and, in particular, the presence of various 83 special cases in the code which occur with very low but non-zero 84 probability make it impossible to rule out the possibility of bugs 85 remaining in the program. DO NOT COMPRESS ANY DATA WITH THIS 86 PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER 87 SMALL, THAT THE DATA WILL NOT BE RECOVERABLE. 88 89 That is not to say this program is inherently unreliable. Indeed, 90 I very much hope the opposite is true. bzip2 has been carefully 91 constructed and extensively tested. 92 93 94PATENTS: 95 96 To the best of my knowledge, bzip2 does not use any patented 97 algorithms. However, I do not have the resources available to 98 carry out a full patent search. Therefore I cannot give any 99 guarantee of the above statement. 100 101End of legalities. 102 103 104WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ? 105 106 * Approx 10% faster compression, 30% faster decompression 107 * -t (test mode) is a lot quicker 108 * Can decompress concatenated compressed files 109 * Programming interface, so programs can directly read/write .bz2 files 110 * Less restrictive (BSD-style) licensing 111 * Flag handling more compatible with GNU gzip 112 * Much more documentation, i.e., a proper user manual 113 * Hopefully, improved portability (at least of the library) 114 115 116I hope you find bzip2 useful. Feel free to contact me at 117 jseward@acm.org 118if you have any suggestions or queries. Many people mailed me with 119comments, suggestions and patches after the releases of bzip-0.15, 120bzip-0.21 and bzip2-0.1pl2, and the changes in bzip2 are largely a 121result of this feedback. I thank you for your comments. 122 123At least for the time being, bzip2's "home" is 124http://www.muraroa.demon.co.uk. 125 126Julian Seward 127jseward@acm.org 128 129Manchester, UK 13018 July 1996 (version 0.15) 13125 August 1996 (version 0.21) 132 133Guildford, Surrey, UK 1347 August 1997 (bzip2, version 0.1) 13529 August 1997 (bzip2, version 0.1pl2) 13623 August 1998 (bzip2, version 0.9.0) 137 138