Blame


1 ff3adf60 2004-04-14 devnull
2 ff3adf60 2004-04-14 devnull This is the README for bzip2, a block-sorting file compressor, version
3 ff3adf60 2004-04-14 devnull 1.0. This version is fully compatible with the previous public
4 ff3adf60 2004-04-14 devnull releases, bzip2-0.1pl2, bzip2-0.9.0 and bzip2-0.9.5.
5 ff3adf60 2004-04-14 devnull
6 ff3adf60 2004-04-14 devnull bzip2-1.0 is distributed under a BSD-style license. For details,
7 ff3adf60 2004-04-14 devnull see the file LICENSE.
8 ff3adf60 2004-04-14 devnull
9 ff3adf60 2004-04-14 devnull Complete documentation is available in Postscript form (manual.ps) or
10 ff3adf60 2004-04-14 devnull html (manual_toc.html). A plain-text version of the manual page is
11 ff3adf60 2004-04-14 devnull available as bzip2.txt. A statement about Y2K issues is now included
12 ff3adf60 2004-04-14 devnull in the file Y2K_INFO.
13 ff3adf60 2004-04-14 devnull
14 ff3adf60 2004-04-14 devnull
15 ff3adf60 2004-04-14 devnull HOW TO BUILD -- UNIX
16 ff3adf60 2004-04-14 devnull
17 ff3adf60 2004-04-14 devnull Type `make'. This builds the library libbz2.a and then the
18 ff3adf60 2004-04-14 devnull programs bzip2 and bzip2recover. Six self-tests are run.
19 ff3adf60 2004-04-14 devnull If the self-tests complete ok, carry on to installation:
20 ff3adf60 2004-04-14 devnull
21 ff3adf60 2004-04-14 devnull To install in /usr/bin, /usr/lib, /usr/man and /usr/include, type
22 ff3adf60 2004-04-14 devnull make install
23 ff3adf60 2004-04-14 devnull To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type
24 ff3adf60 2004-04-14 devnull make install PREFIX=/xxx/yyy
25 ff3adf60 2004-04-14 devnull If you are (justifiably) paranoid and want to see what 'make install'
26 ff3adf60 2004-04-14 devnull is going to do, you can first do
27 ff3adf60 2004-04-14 devnull make -n install or
28 ff3adf60 2004-04-14 devnull make -n install PREFIX=/xxx/yyy respectively.
29 ff3adf60 2004-04-14 devnull The -n instructs make to show the commands it would execute, but
30 ff3adf60 2004-04-14 devnull not actually execute them.
31 ff3adf60 2004-04-14 devnull
32 ff3adf60 2004-04-14 devnull
33 ff3adf60 2004-04-14 devnull HOW TO BUILD -- UNIX, shared library libbz2.so.
34 ff3adf60 2004-04-14 devnull
35 ff3adf60 2004-04-14 devnull Do 'make -f Makefile-libbz2_so'. This Makefile seems to work for
36 ff3adf60 2004-04-14 devnull Linux-ELF (RedHat 5.2 on an x86 box), with gcc. I make no claims
37 ff3adf60 2004-04-14 devnull that it works for any other platform, though I suspect it probably
38 ff3adf60 2004-04-14 devnull will work for most platforms employing both ELF and gcc.
39 ff3adf60 2004-04-14 devnull
40 ff3adf60 2004-04-14 devnull bzip2-shared, a client of the shared library, is also build, but
41 ff3adf60 2004-04-14 devnull not self-tested. So I suggest you also build using the normal
42 ff3adf60 2004-04-14 devnull Makefile, since that conducts a self-test.
43 ff3adf60 2004-04-14 devnull
44 ff3adf60 2004-04-14 devnull Important note for people upgrading .so's from 0.9.0/0.9.5 to
45 ff3adf60 2004-04-14 devnull version 1.0. All the functions in the library have been renamed,
46 ff3adf60 2004-04-14 devnull from (eg) bzCompress to BZ2_bzCompress, to avoid namespace pollution.
47 ff3adf60 2004-04-14 devnull Unfortunately this means that the libbz2.so created by
48 ff3adf60 2004-04-14 devnull Makefile-libbz2_so will not work with any program which used an
49 ff3adf60 2004-04-14 devnull older version of the library. Sorry. I do encourage library
50 ff3adf60 2004-04-14 devnull clients to make the effort to upgrade to use version 1.0, since
51 ff3adf60 2004-04-14 devnull it is both faster and more robust than previous versions.
52 ff3adf60 2004-04-14 devnull
53 ff3adf60 2004-04-14 devnull
54 ff3adf60 2004-04-14 devnull HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc.
55 ff3adf60 2004-04-14 devnull
56 ff3adf60 2004-04-14 devnull It's difficult for me to support compilation on all these platforms.
57 ff3adf60 2004-04-14 devnull My approach is to collect binaries for these platforms, and put them
58 ff3adf60 2004-04-14 devnull on the master web page (http://sourceware.cygnus.com/bzip2). Look
59 ff3adf60 2004-04-14 devnull there. However (FWIW), bzip2-1.0 is very standard ANSI C and should
60 ff3adf60 2004-04-14 devnull compile unmodified with MS Visual C. For Win32, there is one
61 ff3adf60 2004-04-14 devnull important caveat: in bzip2.c, you must set BZ_UNIX to 0 and
62 ff3adf60 2004-04-14 devnull BZ_LCCWIN32 to 1 before building. If you have difficulties building,
63 ff3adf60 2004-04-14 devnull you might want to read README.COMPILATION.PROBLEMS.
64 ff3adf60 2004-04-14 devnull
65 ff3adf60 2004-04-14 devnull
66 ff3adf60 2004-04-14 devnull VALIDATION
67 ff3adf60 2004-04-14 devnull
68 ff3adf60 2004-04-14 devnull Correct operation, in the sense that a compressed file can always be
69 ff3adf60 2004-04-14 devnull decompressed to reproduce the original, is obviously of paramount
70 ff3adf60 2004-04-14 devnull importance. To validate bzip2, I used a modified version of Mark
71 ff3adf60 2004-04-14 devnull Nelson's churn program. Churn is an automated test driver which
72 ff3adf60 2004-04-14 devnull recursively traverses a directory structure, using bzip2 to compress
73 ff3adf60 2004-04-14 devnull and then decompress each file it encounters, and checking that the
74 ff3adf60 2004-04-14 devnull decompressed data is the same as the original. There are more details
75 ff3adf60 2004-04-14 devnull in Section 4 of the user guide.
76 ff3adf60 2004-04-14 devnull
77 ff3adf60 2004-04-14 devnull
78 ff3adf60 2004-04-14 devnull
79 ff3adf60 2004-04-14 devnull Please read and be aware of the following:
80 ff3adf60 2004-04-14 devnull
81 ff3adf60 2004-04-14 devnull WARNING:
82 ff3adf60 2004-04-14 devnull
83 ff3adf60 2004-04-14 devnull This program (attempts to) compress data by performing several
84 ff3adf60 2004-04-14 devnull non-trivial transformations on it. Unless you are 100% familiar
85 ff3adf60 2004-04-14 devnull with *all* the algorithms contained herein, and with the
86 ff3adf60 2004-04-14 devnull consequences of modifying them, you should NOT meddle with the
87 ff3adf60 2004-04-14 devnull compression or decompression machinery. Incorrect changes can and
88 ff3adf60 2004-04-14 devnull very likely *will* lead to disastrous loss of data.
89 ff3adf60 2004-04-14 devnull
90 ff3adf60 2004-04-14 devnull
91 ff3adf60 2004-04-14 devnull DISCLAIMER:
92 ff3adf60 2004-04-14 devnull
93 ff3adf60 2004-04-14 devnull I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
94 ff3adf60 2004-04-14 devnull USE OF THIS PROGRAM, HOWSOEVER CAUSED.
95 ff3adf60 2004-04-14 devnull
96 ff3adf60 2004-04-14 devnull Every compression of a file implies an assumption that the
97 ff3adf60 2004-04-14 devnull compressed file can be decompressed to reproduce the original.
98 ff3adf60 2004-04-14 devnull Great efforts in design, coding and testing have been made to
99 ff3adf60 2004-04-14 devnull ensure that this program works correctly. However, the complexity
100 ff3adf60 2004-04-14 devnull of the algorithms, and, in particular, the presence of various
101 ff3adf60 2004-04-14 devnull special cases in the code which occur with very low but non-zero
102 ff3adf60 2004-04-14 devnull probability make it impossible to rule out the possibility of bugs
103 ff3adf60 2004-04-14 devnull remaining in the program. DO NOT COMPRESS ANY DATA WITH THIS
104 ff3adf60 2004-04-14 devnull PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
105 ff3adf60 2004-04-14 devnull SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
106 ff3adf60 2004-04-14 devnull
107 ff3adf60 2004-04-14 devnull That is not to say this program is inherently unreliable. Indeed,
108 ff3adf60 2004-04-14 devnull I very much hope the opposite is true. bzip2 has been carefully
109 ff3adf60 2004-04-14 devnull constructed and extensively tested.
110 ff3adf60 2004-04-14 devnull
111 ff3adf60 2004-04-14 devnull
112 ff3adf60 2004-04-14 devnull PATENTS:
113 ff3adf60 2004-04-14 devnull
114 ff3adf60 2004-04-14 devnull To the best of my knowledge, bzip2 does not use any patented
115 ff3adf60 2004-04-14 devnull algorithms. However, I do not have the resources available to
116 ff3adf60 2004-04-14 devnull carry out a full patent search. Therefore I cannot give any
117 ff3adf60 2004-04-14 devnull guarantee of the above statement.
118 ff3adf60 2004-04-14 devnull
119 ff3adf60 2004-04-14 devnull End of legalities.
120 ff3adf60 2004-04-14 devnull
121 ff3adf60 2004-04-14 devnull
122 ff3adf60 2004-04-14 devnull WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ?
123 ff3adf60 2004-04-14 devnull
124 ff3adf60 2004-04-14 devnull * Approx 10% faster compression, 30% faster decompression
125 ff3adf60 2004-04-14 devnull * -t (test mode) is a lot quicker
126 ff3adf60 2004-04-14 devnull * Can decompress concatenated compressed files
127 ff3adf60 2004-04-14 devnull * Programming interface, so programs can directly read/write .bz2 files
128 ff3adf60 2004-04-14 devnull * Less restrictive (BSD-style) licensing
129 ff3adf60 2004-04-14 devnull * Flag handling more compatible with GNU gzip
130 ff3adf60 2004-04-14 devnull * Much more documentation, i.e., a proper user manual
131 ff3adf60 2004-04-14 devnull * Hopefully, improved portability (at least of the library)
132 ff3adf60 2004-04-14 devnull
133 ff3adf60 2004-04-14 devnull WHAT'S NEW IN 0.9.5 ?
134 ff3adf60 2004-04-14 devnull
135 ff3adf60 2004-04-14 devnull * Compression speed is much less sensitive to the input
136 ff3adf60 2004-04-14 devnull data than in previous versions. Specifically, the very
137 ff3adf60 2004-04-14 devnull slow performance caused by repetitive data is fixed.
138 ff3adf60 2004-04-14 devnull * Many small improvements in file and flag handling.
139 ff3adf60 2004-04-14 devnull * A Y2K statement.
140 ff3adf60 2004-04-14 devnull
141 ff3adf60 2004-04-14 devnull WHAT'S NEW IN 1.0
142 ff3adf60 2004-04-14 devnull
143 ff3adf60 2004-04-14 devnull See the CHANGES file.
144 ff3adf60 2004-04-14 devnull
145 ff3adf60 2004-04-14 devnull I hope you find bzip2 useful. Feel free to contact me at
146 ff3adf60 2004-04-14 devnull jseward@acm.org
147 ff3adf60 2004-04-14 devnull if you have any suggestions or queries. Many people mailed me with
148 ff3adf60 2004-04-14 devnull comments, suggestions and patches after the releases of bzip-0.15,
149 ff3adf60 2004-04-14 devnull bzip-0.21, bzip2-0.1pl2 and bzip2-0.9.0, and the changes in bzip2 are
150 ff3adf60 2004-04-14 devnull largely a result of this feedback. I thank you for your comments.
151 ff3adf60 2004-04-14 devnull
152 ff3adf60 2004-04-14 devnull At least for the time being, bzip2's "home" is (or can be reached via)
153 ff3adf60 2004-04-14 devnull http://www.muraroa.demon.co.uk.
154 ff3adf60 2004-04-14 devnull
155 ff3adf60 2004-04-14 devnull Julian Seward
156 ff3adf60 2004-04-14 devnull jseward@acm.org
157 ff3adf60 2004-04-14 devnull
158 ff3adf60 2004-04-14 devnull Cambridge, UK
159 ff3adf60 2004-04-14 devnull 18 July 1996 (version 0.15)
160 ff3adf60 2004-04-14 devnull 25 August 1996 (version 0.21)
161 ff3adf60 2004-04-14 devnull 7 August 1997 (bzip2, version 0.1)
162 ff3adf60 2004-04-14 devnull 29 August 1997 (bzip2, version 0.1pl2)
163 ff3adf60 2004-04-14 devnull 23 August 1998 (bzip2, version 0.9.0)
164 ff3adf60 2004-04-14 devnull 8 June 1999 (bzip2, version 0.9.5)
165 ff3adf60 2004-04-14 devnull 4 Sept 1999 (bzip2, version 0.9.5d)
166 ff3adf60 2004-04-14 devnull 5 May 2000 (bzip2, version 1.0pre8)