]> git.pld-linux.org Git - packages/bzip2.git/blame - bzip2-libtoolizeautoconf.patch
- cosmetics (spaces -> tabs)
[packages/bzip2.git] / bzip2-libtoolizeautoconf.patch
Content-type: text/html ]> git.pld-linux.org Git - packages/bzip2.git/blame - bzip2-libtoolizeautoconf.patch


500 - Internal Server Error

Malformed UTF-8 character (fatal) at (eval 6) line 1, <$fd> line 2980.
This page took 2.242099 seconds and 4 git commands to generate.
CommitLineData
15ee0650 1diff -Nru bzip2-1.0.2/AUTHORS bzip2-1.0.2.new/AUTHORS
2--- bzip2-1.0.2/AUTHORS Thu Jan 1 01:00:00 1970
3+++ bzip2-1.0.2.new/AUTHORS Fri Feb 1 04:18:59 2002
d967e3ec 4@@ -0,0 +1 @@
5+Julian Seward <jseward@acm.org>
15ee0650 6diff -Nru bzip2-1.0.2/CHANGES bzip2-1.0.2.new/CHANGES
7--- bzip2-1.0.2/CHANGES Sat Jan 26 01:02:57 2002
8+++ bzip2-1.0.2.new/CHANGES Thu Jan 1 01:00:00 1970
9@@ -1,253 +0,0 @@
d967e3ec 10-
11-
12-0.9.0
13-~~~~~
14-First version.
15-
16-
17-0.9.0a
18-~~~~~~
19-Removed 'ranlib' from Makefile, since most modern Unix-es
20-don't need it, or even know about it.
21-
22-
23-0.9.0b
24-~~~~~~
25-Fixed a problem with error reporting in bzip2.c. This does not effect
26-the library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the
27-program proper) compress and decompress correctly, but give misleading
28-error messages (internal panics) when an I/O error occurs, instead of
29-reporting the problem correctly. This shouldn't give any data loss
30-(as far as I can see), but is confusing.
31-
32-Made the inline declarations disappear for non-GCC compilers.
33-
34-
35-0.9.0c
36-~~~~~~
37-Fixed some problems in the library pertaining to some boundary cases.
38-This makes the library behave more correctly in those situations. The
39-fixes apply only to features (calls and parameters) not used by
40-bzip2.c, so the non-fixedness of them in previous versions has no
41-effect on reliability of bzip2.c.
42-
43-In bzlib.c:
44- * made zero-length BZ_FLUSH work correctly in bzCompress().
45- * fixed bzWrite/bzRead to ignore zero-length requests.
46- * fixed bzread to correctly handle read requests after EOF.
47- * wrong parameter order in call to bzDecompressInit in
48- bzBuffToBuffDecompress. Fixed.
49-
50-In compress.c:
51- * changed setting of nGroups in sendMTFValues() so as to
52- do a bit better on small files. This _does_ effect
53- bzip2.c.
54-
55-
56-0.9.5a
57-~~~~~~
58-Major change: add a fallback sorting algorithm (blocksort.c)
59-to give reasonable behaviour even for very repetitive inputs.
60-Nuked --repetitive-best and --repetitive-fast since they are
61-no longer useful.
62-
63-Minor changes: mostly a whole bunch of small changes/
64-bugfixes in the driver (bzip2.c). Changes pertaining to the
65-user interface are:
66-
67- allow decompression of symlink'd files to stdout
68- decompress/test files even without .bz2 extension
69- give more accurate error messages for I/O errors
70- when compressing/decompressing to stdout, don't catch control-C
71- read flags from BZIP2 and BZIP environment variables
72- decline to break hard links to a file unless forced with -f
73- allow -c flag even with no filenames
74- preserve file ownerships as far as possible
75- make -s -1 give the expected block size (100k)
76- add a flag -q --quiet to suppress nonessential warnings
77- stop decoding flags after --, so files beginning in - can be handled
78- resolved inconsistent naming: bzcat or bz2cat ?
79- bzip2 --help now returns 0
80-
81-Programming-level changes are:
82-
83- fixed syntax error in GET_LL4 for Borland C++ 5.02
84- let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
85- fix overshoot of mode-string end in bzopen_or_bzdopen
86- wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
87- close file handles under all error conditions
88- added minor mods so it compiles with DJGPP out of the box
89- fixed Makefile so it doesn't give problems with BSD make
90- fix uninitialised memory reads in dlltest.c
91-
92-0.9.5b
93-~~~~~~
94-Open stdin/stdout in binary mode for DJGPP.
95-
96-0.9.5c
97-~~~~~~
98-Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1
99-version could cause the sorted order to be wrong in some extremely
100-obscure cases. Also changed setting of quadrant in blocksort.c.
101-
102-0.9.5d
103-~~~~~~
104-The only functional change is to make bzlibVersion() in the library
105-return the correct string. This has no effect whatsoever on the
106-functioning of the bzip2 program or library. Added a couple of casts
107-so the library compiles without warnings at level 3 in MS Visual
108-Studio 6.0. Included a Y2K statement in the file Y2K_INFO. All other
109-changes are minor documentation changes.
110-
111-1.0
112-~~~
113-Several minor bugfixes and enhancements:
114-
115-* Large file support. The library uses 64-bit counters to
116- count the volume of data passing through it. bzip2.c
117- is now compiled with -D_FILE_OFFSET_BITS=64 to get large
118- file support from the C library. -v correctly prints out
119- file sizes greater than 4 gigabytes. All these changes have
120- been made without assuming a 64-bit platform or a C compiler
121- which supports 64-bit ints, so, except for the C library
122- aspect, they are fully portable.
123-
124-* Decompression robustness. The library/program should be
125- robust to any corruption of compressed data, detecting and
126- handling _all_ corruption, instead of merely relying on
127- the CRCs. What this means is that the program should
128- never crash, given corrupted data, and the library should
129- always return BZ_DATA_ERROR.
130-
131-* Fixed an obscure race-condition bug only ever observed on
132- Solaris, in which, if you were very unlucky and issued
133- control-C at exactly the wrong time, both input and output
134- files would be deleted.
135-
136-* Don't run out of file handles on test/decompression when
137- large numbers of files have invalid magic numbers.
138-
139-* Avoid library namespace pollution. Prefix all exported
140- symbols with BZ2_.
141-
142-* Minor sorting enhancements from my DCC2000 paper.
143-
144-* Advance the version number to 1.0, so as to counteract the
145- (false-in-this-case) impression some people have that programs
15ee0650 146- with version numbers less than 1.0 are in some way, experimental,
d967e3ec 147- pre-release versions.
148-
149-* Create an initial Makefile-libbz2_so to build a shared library.
150- Yes, I know I should really use libtool et al ...
151-
152-* Make the program exit with 2 instead of 0 when decompression
153- fails due to a bad magic number (ie, an invalid bzip2 header).
154- Also exit with 1 (as the manual claims :-) whenever a diagnostic
155- message would have been printed AND the corresponding operation
156- is aborted, for example
157- bzip2: Output file xx already exists.
158- When a diagnostic message is printed but the operation is not
159- aborted, for example
160- bzip2: Can't guess original name for wurble -- using wurble.out
161- then the exit value 0 is returned, unless some other problem is
162- also detected.
163-
164- I think it corresponds more closely to what the manual claims now.
165-
166-
167-1.0.1
168-~~~~~
169-* Modified dlltest.c so it uses the new BZ2_ naming scheme.
170-* Modified makefile-msc to fix minor build probs on Win2k.
171-* Updated README.COMPILATION.PROBLEMS.
172-
173-There are no functionality changes or bug fixes relative to version
174-1.0.0. This is just a documentation update + a fix for minor Win32
175-build problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is
176-utterly pointless. Don't bother.
15ee0650 177-
178-
179-1.0.2
180-~~~~~
181-A bug fix release, addressing various minor issues which have appeared
182-in the 18 or so months since 1.0.1 was released. Most of the fixes
183-are to do with file-handling or documentation bugs. To the best of my
184-knowledge, there have been no data-loss-causing bugs reported in the
185-compression/decompression engine of 1.0.0 or 1.0.1.
186-
187-Note that this release does not improve the rather crude build system
188-for Unix platforms. The general plan here is to autoconfiscate/
189-libtoolise 1.0.2 soon after release, and release the result as 1.1.0
190-or perhaps 1.2.0. That, however, is still just a plan at this point.
191-
192-Here are the changes in 1.0.2. Bug-reporters and/or patch-senders in
193-parentheses.
194-
195-* Fix an infinite segfault loop in 1.0.1 when a directory is
196- encountered in -f (force) mode.
197- (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
198-
199-* Avoid double fclose() of output file on certain I/O error paths.
200- (Solar Designer)
201-
202-* Don't fail with internal error 1007 when fed a long stream (> 48MB)
203- of byte 251. Also print useful message suggesting that 1007s may be
204- caused by bad memory.
205- (noticed by Juan Pedro Vallejo, fixed by me)
206-
207-* Fix uninitialised variable silly bug in demo prog dlltest.c.
208- (Jorj Bauer)
209-
210-* Remove 512-MB limitation on recovered file size for bzip2recover
211- on selected platforms which support 64-bit ints. At the moment
212- all GCC supported platforms, and Win32.
213- (me, Alson van der Meulen)
214-
215-* Hard-code header byte values, to give correct operation on platforms
216- using EBCDIC as their native character set (IBM's OS/390).
217- (Leland Lucius)
218-
219-* Copy file access times correctly.
220- (Marty Leisner)
221-
222-* Add distclean and check targets to Makefile.
223- (Michael Carmack)
224-
225-* Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS).
226- (Rich Ireland, Bo Thorsen)
227-
228-* Pass -p (create parent dirs as needed) to mkdir during make install.
229- (Jeremy Fusco)
230-
231-* Dereference symlinks when copying file permissions in -f mode.
232- (Volker Schmidt)
233-
234-* Majorly simplify implementation of uInt64_qrm10.
235- (Bo Lindbergh)
236-
237-* Check the input file still exists before deleting the output one,
238- when aborting in cleanUpAndFail().
239- (Joerg Prante, Robert Linden, Matthias Krings)
240-
241-Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer
242-of bzip2:
243-
244-* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
245-
246-* Spelling changes and minor enhancements in bzip2.1.
247-
248-* Avoid race condition between creating the output file and setting its
249- interim permissions safely, by using fopen_output_safely().
250- No changes to bzip2recover since there is no issue with file
251- permissions there.
252-
253-* do not print senseless report with -v when compressing an empty
254- file.
255-
256-* bzcat -f works on non-bzip2 files.
257-
258-* do not try to escape shell meta-characters on unix (the shell takes
259- care of these).
260-
261-* added --fast and --best aliases for -1 -9 for gzip compatibility.
262-
263diff -Nru bzip2-1.0.2/COPYING bzip2-1.0.2.new/COPYING
264--- bzip2-1.0.2/COPYING Thu Jan 1 01:00:00 1970
265+++ bzip2-1.0.2.new/COPYING Wed Jan 2 05:12:07 2002
d967e3ec 266@@ -0,0 +1,39 @@
267+
268+This program, "bzip2" and associated library "libbzip2", are
15ee0650 269+copyright (C) 1996-2002 Julian R Seward. All rights reserved.
d967e3ec 270+
271+Redistribution and use in source and binary forms, with or without
272+modification, are permitted provided that the following conditions
273+are met:
274+
275+1. Redistributions of source code must retain the above copyright
276+ notice, this list of conditions and the following disclaimer.
277+
278+2. The origin of this software must not be misrepresented; you must
279+ not claim that you wrote the original software. If you use this
280+ software in a product, an acknowledgment in the product
281+ documentation would be appreciated but is not required.
282+
283+3. Altered source versions must be plainly marked as such, and must
284+ not be misrepresented as being the original software.
285+
286+4. The name of the author may not be used to endorse or promote
287+ products derived from this software without specific prior written
288+ permission.
289+
290+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
291+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
292+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
293+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
294+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
295+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
296+GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
297+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
298+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
299+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
300+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
301+
302+Julian Seward, Cambridge, UK.
303+jseward@acm.org
15ee0650 304+bzip2/libbzip2 version 1.0.2 of 30 December 2001
d967e3ec 305+
15ee0650 306diff -Nru bzip2-1.0.2/ChangeLog bzip2-1.0.2.new/ChangeLog
307--- bzip2-1.0.2/ChangeLog Thu Jan 1 01:00:00 1970
308+++ bzip2-1.0.2.new/ChangeLog Fri Feb 1 04:19:04 2002
d967e3ec 309@@ -0,0 +1 @@
310+
15ee0650 311diff -Nru bzip2-1.0.2/INSTALL bzip2-1.0.2.new/INSTALL
312--- bzip2-1.0.2/INSTALL Thu Jan 1 01:00:00 1970
313+++ bzip2-1.0.2.new/INSTALL Fri Feb 1 04:19:04 2002
d967e3ec 314@@ -0,0 +1,182 @@
315+Basic Installation
316+==================
317+
318+ These are generic installation instructions.
319+
320+ The `configure' shell script attempts to guess correct values for
321+various system-dependent variables used during compilation. It uses
322+those values to create a `Makefile' in each directory of the package.
323+It may also create one or more `.h' files containing system-dependent
324+definitions. Finally, it creates a shell script `config.status' that
325+you can run in the future to recreate the current configuration, a file
326+`config.cache' that saves the results of its tests to speed up
327+reconfiguring, and a file `config.log' containing compiler output
328+(useful mainly for debugging `configure').
329+
330+ If you need to do unusual things to compile the package, please try
331+to figure out how `configure' could check whether to do them, and mail
332+diffs or instructions to the address given in the `README' so they can
333+be considered for the next release. If at some point `config.cache'
334+contains results you don't want to keep, you may remove or edit it.
335+
336+ The file `configure.in' is used to create `configure' by a program
337+called `autoconf'. You only need `configure.in' if you want to change
338+it or regenerate `configure' using a newer version of `autoconf'.
339+
340+The simplest way to compile this package is:
341+
342+ 1. `cd' to the directory containing the package's source code and type
343+ `./configure' to configure the package for your system. If you're
344+ using `csh' on an old version of System V, you might need to type
345+ `sh ./configure' instead to prevent `csh' from trying to execute
346+ `configure' itself.
347+
348+ Running `configure' takes awhile. While running, it prints some
349+ messages telling which features it is checking for.
350+
351+ 2. Type `make' to compile the package.
352+
353+ 3. Optionally, type `make check' to run any self-tests that come with
354+ the package.
355+
356+ 4. Type `make install' to install the programs and any data files and
357+ documentation.
358+
359+ 5. You can remove the program binaries and object files from the
360+ source code directory by typing `make clean'. To also remove the
361+ files that `configure' created (so you can compile the package for
362+ a different kind of computer), type `make distclean'. There is
363+ also a `make maintainer-clean' target, but that is intended mainly
364+ for the package's developers. If you use it, you may have to get
365+ all sorts of other programs in order to regenerate files that came
366+ with the distribution.
367+
368+Compilers and Options
369+=====================
370+
371+ Some systems require unusual options for compilation or linking that
372+the `configure' script does not know about. You can give `configure'
373+initial values for variables by setting them in the environment. Using
374+a Bourne-compatible shell, you can do that on the command line like
375+this:
376+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
377+
378+Or on systems that have the `env' program, you can do it like this:
379+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
380+
381+Compiling For Multiple Architectures
382+====================================
383+
384+ You can compile the package for more than one kind of computer at the
385+same time, by placing the object files for each architecture in their
386+own directory. To do this, you must use a version of `make' that
387+supports the `VPATH' variable, such as GNU `make'. `cd' to the
388+directory where you want the object files and executables to go and run
389+the `configure' script. `configure' automatically checks for the
390+source code in the directory that `configure' is in and in `..'.
391+
392+ If you have to use a `make' that does not supports the `VPATH'
393+variable, you have to compile the package for one architecture at a time
394+in the source code directory. After you have installed the package for
395+one architecture, use `make distclean' before reconfiguring for another
396+architecture.
397+
398+Installation Names
399+==================
400+
401+ By default, `make install' will install the package's files in
402+`/usr/local/bin', `/usr/local/man', etc. You can specify an
403+installation prefix other than `/usr/local' by giving `configure' the
404+option `--prefix=PATH'.
405+
406+ You can specify separate installation prefixes for
407+architecture-specific files and architecture-independent files. If you
408+give `configure' the option `--exec-prefix=PATH', the package will use
409+PATH as the prefix for installing programs and libraries.
410+Documentation and other data files will still use the regular prefix.
411+
412+ In addition, if you use an unusual directory layout you can give
413+options like `--bindir=PATH' to specify different values for particular
414+kinds of files. Run `configure --help' for a list of the directories
415+you can set and what kinds of files go in them.
416+
417+ If the package supports it, you can cause programs to be installed
418+with an extra prefix or suffix on their names by giving `configure' the
419+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
420+
421+Optional Features
422+=================
423+
424+ Some packages pay attention to `--enable-FEATURE' options to
425+`configure', where FEATURE indicates an optional part of the package.
426+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
427+is something like `gnu-as' or `x' (for the X Window System). The
428+`README' should mention any `--enable-' and `--with-' options that the
429+package recognizes.
430+
431+ For packages that use the X Window System, `configure' can usually
432+find the X include and library files automatically, but if it doesn't,
433+you can use the `configure' options `--x-includes=DIR' and
434+`--x-libraries=DIR' to specify their locations.
435+
436+Specifying the System Type
437+==========================
438+
439+ There may be some features `configure' can not figure out
440+automatically, but needs to determine by the type of host the package
441+will run on. Usually `configure' can figure that out, but if it prints
442+a message saying it can not guess the host type, give it the
443+`--host=TYPE' option. TYPE can either be a short name for the system
444+type, such as `sun4', or a canonical name with three fields:
445+ CPU-COMPANY-SYSTEM
446+
447+See the file `config.sub' for the possible values of each field. If
448+`config.sub' isn't included in this package, then this package doesn't
449+need to know the host type.
450+
451+ If you are building compiler tools for cross-compiling, you can also
452+use the `--target=TYPE' option to select the type of system they will
453+produce code for and the `--build=TYPE' option to select the type of
454+system on which you are compiling the package.
455+
456+Sharing Defaults
457+================
458+
459+ If you want to set default values for `configure' scripts to share,
460+you can create a site shell script called `config.site' that gives
461+default values for variables like `CC', `cache_file', and `prefix'.
462+`configure' looks for `PREFIX/share/config.site' if it exists, then
463+`PREFIX/etc/config.site' if it exists. Or, you can set the
464+`CONFIG_SITE' environment variable to the location of the site script.
465+A warning: not all `configure' scripts look for a site script.
466+
467+Operation Controls
468+==================
469+
470+ `configure' recognizes the following options to control how it
471+operates.
472+
473+`--cache-file=FILE'
474+ Use and save the results of the tests in FILE instead of
475+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
476+ debugging `configure'.
477+
478+`--help'
479+ Print a summary of the options to `configure', and exit.
480+
481+`--quiet'
482+`--silent'
483+`-q'
484+ Do not print messages saying which checks are being made. To
485+ suppress all normal output, redirect it to `/dev/null' (any error
486+ messages will still be shown).
487+
488+`--srcdir=DIR'
489+ Look for the package's source code in directory DIR. Usually
490+ `configure' can determine that directory automatically.
491+
492+`--version'
493+ Print the version of Autoconf used to generate the `configure'
494+ script, and exit.
495+
496+`configure' also accepts some other, not widely useful, options.
15ee0650 497diff -Nru bzip2-1.0.2/LICENSE bzip2-1.0.2.new/LICENSE
498--- bzip2-1.0.2/LICENSE Wed Jan 2 05:12:07 2002
499+++ bzip2-1.0.2.new/LICENSE Thu Jan 1 01:00:00 1970
d967e3ec 500@@ -1,39 +0,0 @@
501-
502-This program, "bzip2" and associated library "libbzip2", are
15ee0650 503-copyright (C) 1996-2002 Julian R Seward. All rights reserved.
d967e3ec 504-
505-Redistribution and use in source and binary forms, with or without
506-modification, are permitted provided that the following conditions
507-are met:
508-
509-1. Redistributions of source code must retain the above copyright
510- notice, this list of conditions and the following disclaimer.
511-
512-2. The origin of this software must not be misrepresented; you must
513- not claim that you wrote the original software. If you use this
514- software in a product, an acknowledgment in the product
515- documentation would be appreciated but is not required.
516-
517-3. Altered source versions must be plainly marked as such, and must
518- not be misrepresented as being the original software.
519-
520-4. The name of the author may not be used to endorse or promote
521- products derived from this software without specific prior written
522- permission.
523-
524-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
525-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
526-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
527-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
528-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
529-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
530-GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
531-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
532-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
533-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
534-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
535-
536-Julian Seward, Cambridge, UK.
537-jseward@acm.org
15ee0650 538-bzip2/libbzip2 version 1.0.2 of 30 December 2001
d967e3ec 539-
15ee0650 540diff -Nru bzip2-1.0.2/Makefile-libbz2_so bzip2-1.0.2.new/Makefile-libbz2_so
541--- bzip2-1.0.2/Makefile-libbz2_so Sun Dec 30 03:15:59 2001
542+++ bzip2-1.0.2.new/Makefile-libbz2_so Thu Jan 1 01:00:00 1970
543@@ -1,44 +0,0 @@
d967e3ec 544-
545-# This Makefile builds a shared version of the library,
15ee0650 546-# libbz2.so.1.0.2, with soname libbz2.so.1.0,
547-# at least on x86-Linux (RedHat 7.2),
548-# with gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98).
549-# Please see the README file for some
d967e3ec 550-# important info about building the library like this.
551-
552-SHELL=/bin/sh
553-CC=gcc
554-BIGFILES=-D_FILE_OFFSET_BITS=64
555-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -fomit-frame-pointer -fno-strength-reduce $(BIGFILES)
556-
557-OBJS= blocksort.o \
558- huffman.o \
559- crctable.o \
560- randtable.o \
561- compress.o \
562- decompress.o \
563- bzlib.o
564-
565-all: $(OBJS)
15ee0650 566- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.2 $(OBJS)
567- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.2
d967e3ec 568- rm -f libbz2.so.1.0
15ee0650 569- ln -s libbz2.so.1.0.2 libbz2.so.1.0
d967e3ec 570-
571-clean:
15ee0650 572- rm -f $(OBJS) bzip2.o libbz2.so.1.0.2 libbz2.so.1.0 bzip2-shared
d967e3ec 573-
574-blocksort.o: blocksort.c
575- $(CC) $(CFLAGS) -c blocksort.c
576-huffman.o: huffman.c
577- $(CC) $(CFLAGS) -c huffman.c
578-crctable.o: crctable.c
579- $(CC) $(CFLAGS) -c crctable.c
580-randtable.o: randtable.c
581- $(CC) $(CFLAGS) -c randtable.c
582-compress.o: compress.c
583- $(CC) $(CFLAGS) -c compress.c
584-decompress.o: decompress.c
585- $(CC) $(CFLAGS) -c decompress.c
586-bzlib.o: bzlib.c
587- $(CC) $(CFLAGS) -c bzlib.c
15ee0650 588diff -Nru bzip2-1.0.2/Makefile.am bzip2-1.0.2.new/Makefile.am
589--- bzip2-1.0.2/Makefile.am Thu Jan 1 01:00:00 1970
590+++ bzip2-1.0.2.new/Makefile.am Fri Feb 1 04:19:09 2002
d967e3ec 591@@ -0,0 +1,31 @@
592+SUBDIRS = doc
593+
594+bin_PROGRAMS = bzip2 bzip2recover
595+bzip2_SOURCES = bzip2.c
596+
597+bzip2_LDADD = libbz2.la
598+bzip2recover_SOURCES = bzip2recover.c
599+lib_LTLIBRARIES = libbz2.la
600+libbz2_la_SOURCES = \
601+ blocksort.c \
602+ huffman.c \
603+ crctable.c \
604+ randtable.c \
605+ compress.c \
606+ decompress.c \
607+ bzlib.c \
608+ bzlib.h \
609+ bzlib_private.h
610+
611+libbz2_la_LDFLAGS = -version-info 1:0:0
612+include_HEADERS = bzlib.h bzlib_private.h
613+
ff248cb7 614+bin_SCRIPTS = bzless bzgrep
d967e3ec 615+
616+EXTRA_DIST = README README.COMPILATION.PROBLEMS \
617+ Y2K_INFO libbz2.def libbz2.dsp \
618+ sample1.bz2 sample1.ref sample2.bz2 sample2.ref sample3.bz2 sample3.ref
619+
620+install-exec-hook:
621+ $(LN_S) -f bzip2 $(DESTDIR)$(bindir)/bunzip2
622+ $(LN_S) -f bzip2 $(DESTDIR)$(bindir)/bzcat
15ee0650 623diff -Nru bzip2-1.0.2/NEWS bzip2-1.0.2.new/NEWS
624--- bzip2-1.0.2/NEWS Thu Jan 1 01:00:00 1970
625+++ bzip2-1.0.2.new/NEWS Sat Jan 26 01:02:57 2002
626@@ -0,0 +1,253 @@
627+
628+
629+0.9.0
630+~~~~~
631+First version.
632+
633+
634+0.9.0a
635+~~~~~~
636+Removed 'ranlib' from Makefile, since most modern Unix-es
637+don't need it, or even know about it.
638+
639+
640+0.9.0b
641+~~~~~~
642+Fixed a problem with error reporting in bzip2.c. This does not effect
643+the library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the
644+program proper) compress and decompress correctly, but give misleading
645+error messages (internal panics) when an I/O error occurs, instead of
646+reporting the problem correctly. This shouldn't give any data loss
647+(as far as I can see), but is confusing.
648+
649+Made the inline declarations disappear for non-GCC compilers.
650+
651+
652+0.9.0c
653+~~~~~~
654+Fixed some problems in the library pertaining to some boundary cases.
655+This makes the library behave more correctly in those situations. The
656+fixes apply only to features (calls and parameters) not used by
657+bzip2.c, so the non-fixedness of them in previous versions has no
658+effect on reliability of bzip2.c.
659+
660+In bzlib.c:
661+ * made zero-length BZ_FLUSH work correctly in bzCompress().
662+ * fixed bzWrite/bzRead to ignore zero-length requests.
663+ * fixed bzread to correctly handle read requests after EOF.
664+ * wrong parameter order in call to bzDecompressInit in
665+ bzBuffToBuffDecompress. Fixed.
666+
667+In compress.c:
668+ * changed setting of nGroups in sendMTFValues() so as to
669+ do a bit better on small files. This _does_ effect
670+ bzip2.c.
671+
672+
673+0.9.5a
674+~~~~~~
675+Major change: add a fallback sorting algorithm (blocksort.c)
676+to give reasonable behaviour even for very repetitive inputs.
677+Nuked --repetitive-best and --repetitive-fast since they are
678+no longer useful.
679+
680+Minor changes: mostly a whole bunch of small changes/
681+bugfixes in the driver (bzip2.c). Changes pertaining to the
682+user interface are:
683+
684+ allow decompression of symlink'd files to stdout
685+ decompress/test files even without .bz2 extension
686+ give more accurate error messages for I/O errors
687+ when compressing/decompressing to stdout, don't catch control-C
688+ read flags from BZIP2 and BZIP environment variables
689+ decline to break hard links to a file unless forced with -f
690+ allow -c flag even with no filenames
691+ preserve file ownerships as far as possible
692+ make -s -1 give the expected block size (100k)
693+ add a flag -q --quiet to suppress nonessential warnings
694+ stop decoding flags after --, so files beginning in - can be handled
695+ resolved inconsistent naming: bzcat or bz2cat ?
696+ bzip2 --help now returns 0
697+
698+Programming-level changes are:
699+
700+ fixed syntax error in GET_LL4 for Borland C++ 5.02
701+ let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
702+ fix overshoot of mode-string end in bzopen_or_bzdopen
703+ wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
704+ close file handles under all error conditions
705+ added minor mods so it compiles with DJGPP out of the box
706+ fixed Makefile so it doesn't give problems with BSD make
707+ fix uninitialised memory reads in dlltest.c
708+
709+0.9.5b
710+~~~~~~
711+Open stdin/stdout in binary mode for DJGPP.
712+
713+0.9.5c
714+~~~~~~
715+Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1
716+version could cause the sorted order to be wrong in some extremely
717+obscure cases. Also changed setting of quadrant in blocksort.c.
718+
719+0.9.5d
720+~~~~~~
721+The only functional change is to make bzlibVersion() in the library
722+return the correct string. This has no effect whatsoever on the
723+functioning of the bzip2 program or library. Added a couple of casts
724+so the library compiles without warnings at level 3 in MS Visual
725+Studio 6.0. Included a Y2K statement in the file Y2K_INFO. All other
726+changes are minor documentation changes.
727+
728+1.0
729+~~~
730+Several minor bugfixes and enhancements:
731+
732+* Large file support. The library uses 64-bit counters to
733+ count the volume of data passing through it. bzip2.c
734+ is now compiled with -D_FILE_OFFSET_BITS=64 to get large
735+ file support from the C library. -v correctly prints out
736+ file sizes greater than 4 gigabytes. All these changes have
737+ been made without assuming a 64-bit platform or a C compiler
738+ which supports 64-bit ints, so, except for the C library
739+ aspect, they are fully portable.
740+
741+* Decompression robustness. The library/program should be
742+ robust to any corruption of compressed data, detecting and
743+ handling _all_ corruption, instead of merely relying on
744+ the CRCs. What this means is that the program should
745+ never crash, given corrupted data, and the library should
746+ always return BZ_DATA_ERROR.
747+
748+* Fixed an obscure race-condition bug only ever observed on
749+ Solaris, in which, if you were very unlucky and issued
750+ control-C at exactly the wrong time, both input and output
751+ files would be deleted.
752+
753+* Don't run out of file handles on test/decompression when
754+ large numbers of files have invalid magic numbers.
755+
756+* Avoid library namespace pollution. Prefix all exported
757+ symbols with BZ2_.
758+
759+* Minor sorting enhancements from my DCC2000 paper.
760+
761+* Advance the version number to 1.0, so as to counteract the
762+ (false-in-this-case) impression some people have that programs
763+ with version numbers less than 1.0 are in some way, experimental,
764+ pre-release versions.
765+
766+* Create an initial Makefile-libbz2_so to build a shared library.
767+ Yes, I know I should really use libtool et al ...
768+
769+* Make the program exit with 2 instead of 0 when decompression
770+ fails due to a bad magic number (ie, an invalid bzip2 header).
771+ Also exit with 1 (as the manual claims :-) whenever a diagnostic
772+ message would have been printed AND the corresponding operation
773+ is aborted, for example
774+ bzip2: Output file xx already exists.
775+ When a diagnostic message is printed but the operation is not
776+ aborted, for example
777+ bzip2: Can't guess original name for wurble -- using wurble.out
778+ then the exit value 0 is returned, unless some other problem is
779+ also detected.
780+
781+ I think it corresponds more closely to what the manual claims now.
d967e3ec 782+
783+
784+1.0.1
785+~~~~~
786+* Modified dlltest.c so it uses the new BZ2_ naming scheme.
787+* Modified makefile-msc to fix minor build probs on Win2k.
788+* Updated README.COMPILATION.PROBLEMS.
789+
790+There are no functionality changes or bug fixes relative to version
791+1.0.0. This is just a documentation update + a fix for minor Win32
792+build problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is
793+utterly pointless. Don't bother.
15ee0650 794+
795+
796+1.0.2
797+~~~~~
798+A bug fix release, addressing various minor issues which have appeared
799+in the 18 or so months since 1.0.1 was released. Most of the fixes
800+are to do with file-handling or documentation bugs. To the best of my
801+knowledge, there have been no data-loss-causing bugs reported in the
802+compression/decompression engine of 1.0.0 or 1.0.1.
803+
804+Note that this release does not improve the rather crude build system
805+for Unix platforms. The general plan here is to autoconfiscate/
806+libtoolise 1.0.2 soon after release, and release the result as 1.1.0
807+or perhaps 1.2.0. That, however, is still just a plan at this point.
808+
809+Here are the changes in 1.0.2. Bug-reporters and/or patch-senders in
810+parentheses.
811+
812+* Fix an infinite segfault loop in 1.0.1 when a directory is
813+ encountered in -f (force) mode.
814+ (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
815+
816+* Avoid double fclose() of output file on certain I/O error paths.
817+ (Solar Designer)
818+
819+* Don't fail with internal error 1007 when fed a long stream (> 48MB)
820+ of byte 251. Also print useful message suggesting that 1007s may be
821+ caused by bad memory.
822+ (noticed by Juan Pedro Vallejo, fixed by me)
823+
824+* Fix uninitialised variable silly bug in demo prog dlltest.c.
825+ (Jorj Bauer)
826+
827+* Remove 512-MB limitation on recovered file size for bzip2recover
828+ on selected platforms which support 64-bit ints. At the moment
829+ all GCC supported platforms, and Win32.
830+ (me, Alson van der Meulen)
831+
832+* Hard-code header byte values, to give correct operation on platforms
833+ using EBCDIC as their native character set (IBM's OS/390).
834+ (Leland Lucius)
835+
836+* Copy file access times correctly.
837+ (Marty Leisner)
838+
839+* Add distclean and check targets to Makefile.
840+ (Michael Carmack)
841+
842+* Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS).
843+ (Rich Ireland, Bo Thorsen)
844+
845+* Pass -p (create parent dirs as needed) to mkdir during make install.
846+ (Jeremy Fusco)
847+
848+* Dereference symlinks when copying file permissions in -f mode.
849+ (Volker Schmidt)
850+
851+* Majorly simplify implementation of uInt64_qrm10.
852+ (Bo Lindbergh)
853+
854+* Check the input file still exists before deleting the output one,
855+ when aborting in cleanUpAndFail().
856+ (Joerg Prante, Robert Linden, Matthias Krings)
857+
858+Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer
859+of bzip2:
860+
861+* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
862+
863+* Spelling changes and minor enhancements in bzip2.1.
864+
865+* Avoid race condition between creating the output file and setting its
866+ interim permissions safely, by using fopen_output_safely().
867+ No changes to bzip2recover since there is no issue with file
868+ permissions there.
869+
870+* do not print senseless report with -v when compressing an empty
871+ file.
872+
873+* bzcat -f works on non-bzip2 files.
874+
875+* do not try to escape shell meta-characters on unix (the shell takes
876+ care of these).
877+
878+* added --fast and --best aliases for -1 -9 for gzip compatibility.
879+
880diff -Nru bzip2-1.0.2/bzdiff.1 bzip2-1.0.2.new/bzdiff.1
881--- bzip2-1.0.2/bzdiff.1 Sun Dec 30 03:12:35 2001
882+++ bzip2-1.0.2.new/bzdiff.1 Thu Jan 1 01:00:00 1970
883@@ -1,47 +0,0 @@
884-\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
885-\"for Debian GNU/Linux
886-.TH BZDIFF 1
887-.SH NAME
888-bzcmp, bzdiff \- compare bzip2 compressed files
889-.SH SYNOPSIS
890-.B bzcmp
891-[ cmp_options ] file1
892-[ file2 ]
893-.br
894-.B bzdiff
895-[ diff_options ] file1
896-[ file2 ]
897-.SH DESCRIPTION
898-.I Bzcmp
899-and
900-.I bzdiff
901-are used to invoke the
902-.I cmp
903-or the
904-.I diff
905-program on bzip2 compressed files. All options specified are passed
906-directly to
907-.I cmp
908-or
909-.IR diff "."
910-If only 1 file is specified, then the files compared are
911-.I file1
912-and an uncompressed
913-.IR file1 ".bz2."
914-If two files are specified, then they are uncompressed if necessary and fed to
915-.I cmp
916-or
917-.IR diff "."
918-The exit status from
919-.I cmp
920-or
921-.I diff
922-is preserved.
923-.SH "SEE ALSO"
924-cmp(1), diff(1), bzmore(1), bzless(1), bzgrep(1), bzip2(1)
925-.SH BUGS
926-Messages from the
927-.I cmp
928-or
929-.I diff
930-programs refer to temporary filenames instead of those specified.
931diff -Nru bzip2-1.0.2/bzgrep.1 bzip2-1.0.2.new/bzgrep.1
932--- bzip2-1.0.2/bzgrep.1 Sun Dec 30 03:12:35 2001
933+++ bzip2-1.0.2.new/bzgrep.1 Thu Jan 1 01:00:00 1970
934@@ -1,56 +0,0 @@
935-\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
936-\"for Debian GNU/Linux
937-.TH BZGREP 1
938-.SH NAME
939-bzgrep, bzfgrep, bzegrep \- search possibly bzip2 compressed files for a regular expression
940-.SH SYNOPSIS
941-.B bzgrep
942-[ grep_options ]
943-.BI [\ -e\ ] " pattern"
944-.IR filename ".\|.\|."
945-.br
946-.B bzegrep
947-[ egrep_options ]
948-.BI [\ -e\ ] " pattern"
949-.IR filename ".\|.\|."
950-.br
951-.B bzfgrep
952-[ fgrep_options ]
953-.BI [\ -e\ ] " pattern"
954-.IR filename ".\|.\|."
955-.SH DESCRIPTION
956-.IR Bzgrep
957-is used to invoke the
958-.I grep
959-on bzip2-compressed files. All options specified are passed directly to
960-.I grep.
961-If no file is specified, then the standard input is decompressed
962-if necessary and fed to grep.
963-Otherwise the given files are uncompressed if necessary and fed to
964-.I grep.
965-.PP
966-If
967-.I bzgrep
968-is invoked as
969-.I bzegrep
970-or
971-.I bzfgrep
972-then
973-.I egrep
974-or
975-.I fgrep
976-is used instead of
977-.I grep.
978-If the GREP environment variable is set,
979-.I bzgrep
980-uses it as the
981-.I grep
982-program to be invoked. For example:
983-
984- for sh: GREP=fgrep bzgrep string files
985- for csh: (setenv GREP fgrep; bzgrep string files)
986-.SH AUTHOR
987-Charles Levert (charles@comm.polymtl.ca). Adapted to bzip2 by Philippe
988-Troin <phil@fifi.org> for Debian GNU/Linux.
989-.SH "SEE ALSO"
990-grep(1), egrep(1), fgrep(1), bzdiff(1), bzmore(1), bzless(1), bzip2(1)
991diff -Nru bzip2-1.0.2/bzip2.1 bzip2-1.0.2.new/bzip2.1
992--- bzip2-1.0.2/bzip2.1 Thu Jan 3 00:14:36 2002
993+++ bzip2-1.0.2.new/bzip2.1 Thu Jan 1 01:00:00 1970
994@@ -1,453 +0,0 @@
d967e3ec 995-.PU
996-.TH bzip2 1
997-.SH NAME
15ee0650 998-bzip2, bunzip2 \- a block-sorting file compressor, v1.0.2
d967e3ec 999-.br
1000-bzcat \- decompresses files to stdout
1001-.br
1002-bzip2recover \- recovers data from damaged bzip2 files
1003-
1004-.SH SYNOPSIS
1005-.ll +8
1006-.B bzip2
1007-.RB [ " \-cdfkqstvzVL123456789 " ]
1008-[
1009-.I "filenames \&..."
1010-]
1011-.ll -8
1012-.br
1013-.B bunzip2
1014-.RB [ " \-fkvsVL " ]
1015-[
1016-.I "filenames \&..."
1017-]
1018-.br
1019-.B bzcat
1020-.RB [ " \-s " ]
1021-[
1022-.I "filenames \&..."
1023-]
1024-.br
1025-.B bzip2recover
1026-.I "filename"
1027-
1028-.SH DESCRIPTION
1029-.I bzip2
1030-compresses files using the Burrows-Wheeler block sorting
1031-text compression algorithm, and Huffman coding. Compression is
1032-generally considerably better than that achieved by more conventional
1033-LZ77/LZ78-based compressors, and approaches the performance of the PPM
1034-family of statistical compressors.
1035-
1036-The command-line options are deliberately very similar to
1037-those of
1038-.I GNU gzip,
1039-but they are not identical.
1040-
1041-.I bzip2
1042-expects a list of file names to accompany the
1043-command-line flags. Each file is replaced by a compressed version of
1044-itself, with the name "original_name.bz2".
1045-Each compressed file
1046-has the same modification date, permissions, and, when possible,
1047-ownership as the corresponding original, so that these properties can
1048-be correctly restored at decompression time. File name handling is
1049-naive in the sense that there is no mechanism for preserving original
1050-file names, permissions, ownerships or dates in filesystems which lack
1051-these concepts, or have serious file name length restrictions, such as
1052-MS-DOS.
1053-
1054-.I bzip2
1055-and
1056-.I bunzip2
1057-will by default not overwrite existing
1058-files. If you want this to happen, specify the \-f flag.
1059-
1060-If no file names are specified,
1061-.I bzip2
1062-compresses from standard
1063-input to standard output. In this case,
1064-.I bzip2
1065-will decline to
1066-write compressed output to a terminal, as this would be entirely
1067-incomprehensible and therefore pointless.
1068-
1069-.I bunzip2
1070-(or
1071-.I bzip2 \-d)
1072-decompresses all
1073-specified files. Files which were not created by
1074-.I bzip2
1075-will be detected and ignored, and a warning issued.
1076-.I bzip2
1077-attempts to guess the filename for the decompressed file
1078-from that of the compressed file as follows:
1079-
1080- filename.bz2 becomes filename
1081- filename.bz becomes filename
1082- filename.tbz2 becomes filename.tar
1083- filename.tbz becomes filename.tar
1084- anyothername becomes anyothername.out
1085-
1086-If the file does not end in one of the recognised endings,
1087-.I .bz2,
1088-.I .bz,
1089-.I .tbz2
1090-or
1091-.I .tbz,
1092-.I bzip2
1093-complains that it cannot
1094-guess the name of the original file, and uses the original name
1095-with
1096-.I .out
1097-appended.
1098-
1099-As with compression, supplying no
1100-filenames causes decompression from
1101-standard input to standard output.
1102-
1103-.I bunzip2
1104-will correctly decompress a file which is the
1105-concatenation of two or more compressed files. The result is the
1106-concatenation of the corresponding uncompressed files. Integrity
1107-testing (\-t)
1108-of concatenated
1109-compressed files is also supported.
1110-
1111-You can also compress or decompress files to the standard output by
1112-giving the \-c flag. Multiple files may be compressed and
1113-decompressed like this. The resulting outputs are fed sequentially to
1114-stdout. Compression of multiple files
1115-in this manner generates a stream
1116-containing multiple compressed file representations. Such a stream
1117-can be decompressed correctly only by
1118-.I bzip2
1119-version 0.9.0 or
1120-later. Earlier versions of
1121-.I bzip2
1122-will stop after decompressing
1123-the first file in the stream.
1124-
1125-.I bzcat
1126-(or
1127-.I bzip2 -dc)
1128-decompresses all specified files to
1129-the standard output.
1130-
1131-.I bzip2
1132-will read arguments from the environment variables
1133-.I BZIP2
1134-and
1135-.I BZIP,
1136-in that order, and will process them
1137-before any arguments read from the command line. This gives a
1138-convenient way to supply default arguments.
1139-
1140-Compression is always performed, even if the compressed
1141-file is slightly
1142-larger than the original. Files of less than about one hundred bytes
1143-tend to get larger, since the compression mechanism has a constant
1144-overhead in the region of 50 bytes. Random data (including the output
1145-of most file compressors) is coded at about 8.05 bits per byte, giving
1146-an expansion of around 0.5%.
1147-
1148-As a self-check for your protection,
1149-.I
1150-bzip2
1151-uses 32-bit CRCs to
1152-make sure that the decompressed version of a file is identical to the
1153-original. This guards against corruption of the compressed data, and
1154-against undetected bugs in
1155-.I bzip2
1156-(hopefully very unlikely). The
1157-chances of data corruption going undetected is microscopic, about one
1158-chance in four billion for each file processed. Be aware, though, that
1159-the check occurs upon decompression, so it can only tell you that
1160-something is wrong. It can't help you
1161-recover the original uncompressed
1162-data. You can use
1163-.I bzip2recover
1164-to try to recover data from
1165-damaged files.
1166-
1167-Return values: 0 for a normal exit, 1 for environmental problems (file
1168-not found, invalid flags, I/O errors, &c), 2 to indicate a corrupt
1169-compressed file, 3 for an internal consistency error (eg, bug) which
1170-caused
1171-.I bzip2
1172-to panic.
1173-
1174-.SH OPTIONS
1175-.TP
1176-.B \-c --stdout
1177-Compress or decompress to standard output.
1178-.TP
1179-.B \-d --decompress
1180-Force decompression.
1181-.I bzip2,
1182-.I bunzip2
1183-and
1184-.I bzcat
1185-are
1186-really the same program, and the decision about what actions to take is
1187-done on the basis of which name is used. This flag overrides that
1188-mechanism, and forces
1189-.I bzip2
1190-to decompress.
1191-.TP
1192-.B \-z --compress
1193-The complement to \-d: forces compression, regardless of the
15ee0650 1194-invocation name.
d967e3ec 1195-.TP
1196-.B \-t --test
1197-Check integrity of the specified file(s), but don't decompress them.
1198-This really performs a trial decompression and throws away the result.
1199-.TP
1200-.B \-f --force
1201-Force overwrite of output files. Normally,
1202-.I bzip2
1203-will not overwrite
1204-existing output files. Also forces
1205-.I bzip2
1206-to break hard links
1207-to files, which it otherwise wouldn't do.
15ee0650 1208-
1209-bzip2 normally declines to decompress files which don't have the
1210-correct magic header bytes. If forced (-f), however, it will pass
1211-such files through unmodified. This is how GNU gzip behaves.
d967e3ec 1212-.TP
1213-.B \-k --keep
1214-Keep (don't delete) input files during compression
1215-or decompression.
1216-.TP
1217-.B \-s --small
1218-Reduce memory usage, for compression, decompression and testing. Files
1219-are decompressed and tested using a modified algorithm which only
1220-requires 2.5 bytes per block byte. This means any file can be
1221-decompressed in 2300k of memory, albeit at about half the normal speed.
1222-
1223-During compression, \-s selects a block size of 200k, which limits
1224-memory use to around the same figure, at the expense of your compression
1225-ratio. In short, if your machine is low on memory (8 megabytes or
1226-less), use \-s for everything. See MEMORY MANAGEMENT below.
1227-.TP
1228-.B \-q --quiet
1229-Suppress non-essential warning messages. Messages pertaining to
1230-I/O errors and other critical events will not be suppressed.
1231-.TP
1232-.B \-v --verbose
1233-Verbose mode -- show the compression ratio for each file processed.
1234-Further \-v's increase the verbosity level, spewing out lots of
1235-information which is primarily of interest for diagnostic purposes.
1236-.TP
1237-.B \-L --license -V --version
1238-Display the software version, license terms and conditions.
1239-.TP
15ee0650 1240-.B \-1 (or \-\-fast) to \-9 (or \-\-best)
d967e3ec 1241-Set the block size to 100 k, 200 k .. 900 k when compressing. Has no
1242-effect when decompressing. See MEMORY MANAGEMENT below.
15ee0650 1243-The \-\-fast and \-\-best aliases are primarily for GNU gzip
1244-compatibility. In particular, \-\-fast doesn't make things
1245-significantly faster.
1246-And \-\-best merely selects the default behaviour.
d967e3ec 1247-.TP
1248-.B \--
1249-Treats all subsequent arguments as file names, even if they start
1250-with a dash. This is so you can handle files with names beginning
1251-with a dash, for example: bzip2 \-- \-myfilename.
1252-.TP
1253-.B \--repetitive-fast --repetitive-best
1254-These flags are redundant in versions 0.9.5 and above. They provided
1255-some coarse control over the behaviour of the sorting algorithm in
1256-earlier versions, which was sometimes useful. 0.9.5 and above have an
1257-improved algorithm which renders these flags irrelevant.
1258-
1259-.SH MEMORY MANAGEMENT
1260-.I bzip2
1261-compresses large files in blocks. The block size affects
1262-both the compression ratio achieved, and the amount of memory needed for
1263-compression and decompression. The flags \-1 through \-9
1264-specify the block size to be 100,000 bytes through 900,000 bytes (the
1265-default) respectively. At decompression time, the block size used for
1266-compression is read from the header of the compressed file, and
1267-.I bunzip2
1268-then allocates itself just enough memory to decompress
1269-the file. Since block sizes are stored in compressed files, it follows
1270-that the flags \-1 to \-9 are irrelevant to and so ignored
1271-during decompression.
1272-
1273-Compression and decompression requirements,
1274-in bytes, can be estimated as:
1275-
1276- Compression: 400k + ( 8 x block size )
1277-
1278- Decompression: 100k + ( 4 x block size ), or
1279- 100k + ( 2.5 x block size )
1280-
1281-Larger block sizes give rapidly diminishing marginal returns. Most of
1282-the compression comes from the first two or three hundred k of block
1283-size, a fact worth bearing in mind when using
1284-.I bzip2
1285-on small machines.
1286-It is also important to appreciate that the decompression memory
1287-requirement is set at compression time by the choice of block size.
1288-
1289-For files compressed with the default 900k block size,
1290-.I bunzip2
1291-will require about 3700 kbytes to decompress. To support decompression
1292-of any file on a 4 megabyte machine,
1293-.I bunzip2
1294-has an option to
1295-decompress using approximately half this amount of memory, about 2300
1296-kbytes. Decompression speed is also halved, so you should use this
1297-option only where necessary. The relevant flag is -s.
1298-
1299-In general, try and use the largest block size memory constraints allow,
1300-since that maximises the compression achieved. Compression and
1301-decompression speed are virtually unaffected by block size.
1302-
1303-Another significant point applies to files which fit in a single block
1304--- that means most files you'd encounter using a large block size. The
1305-amount of real memory touched is proportional to the size of the file,
1306-since the file is smaller than a block. For example, compressing a file
1307-20,000 bytes long with the flag -9 will cause the compressor to
1308-allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
1309-kbytes of it. Similarly, the decompressor will allocate 3700k but only
1310-touch 100k + 20000 * 4 = 180 kbytes.
1311-
1312-Here is a table which summarises the maximum memory usage for different
1313-block sizes. Also recorded is the total compressed size for 14 files of
1314-the Calgary Text Compression Corpus totalling 3,141,622 bytes. This
1315-column gives some feel for how compression varies with block size.
1316-These figures tend to understate the advantage of larger block sizes for
1317-larger files, since the Corpus is dominated by smaller files.
1318-
1319- Compress Decompress Decompress Corpus
1320- Flag usage usage -s usage Size
1321-
1322- -1 1200k 500k 350k 914704
1323- -2 2000k 900k 600k 877703
1324- -3 2800k 1300k 850k 860338
1325- -4 3600k 1700k 1100k 846899
1326- -5 4400k 2100k 1350k 845160
1327- -6 5200k 2500k 1600k 838626
1328- -7 6100k 2900k 1850k 834096
1329- -8 6800k 3300k 2100k 828642
1330- -9 7600k 3700k 2350k 828642
1331-
1332-.SH RECOVERING DATA FROM DAMAGED FILES
1333-.I bzip2
1334-compresses files in blocks, usually 900kbytes long. Each
1335-block is handled independently. If a media or transmission error causes
1336-a multi-block .bz2
1337-file to become damaged, it may be possible to
1338-recover data from the undamaged blocks in the file.
1339-
1340-The compressed representation of each block is delimited by a 48-bit
1341-pattern, which makes it possible to find the block boundaries with
1342-reasonable certainty. Each block also carries its own 32-bit CRC, so
1343-damaged blocks can be distinguished from undamaged ones.
1344-
1345-.I bzip2recover
1346-is a simple program whose purpose is to search for
1347-blocks in .bz2 files, and write each block out into its own .bz2
1348-file. You can then use
1349-.I bzip2
1350-\-t
1351-to test the
1352-integrity of the resulting files, and decompress those which are
1353-undamaged.
1354-
1355-.I bzip2recover
1356-takes a single argument, the name of the damaged file,
15ee0650 1357-and writes a number of files "rec00001file.bz2",
1358-"rec00002file.bz2", etc, containing the extracted blocks.
d967e3ec 1359-The output filenames are designed so that the use of
1360-wildcards in subsequent processing -- for example,
15ee0650 1361-"bzip2 -dc rec*file.bz2 > recovered_data" -- processes the files in
d967e3ec 1362-the correct order.
1363-
1364-.I bzip2recover
1365-should be of most use dealing with large .bz2
1366-files, as these will contain many blocks. It is clearly
1367-futile to use it on damaged single-block files, since a
1368-damaged block cannot be recovered. If you wish to minimise
1369-any potential data loss through media or transmission errors,
1370-you might consider compressing with a smaller
1371-block size.
1372-
1373-.SH PERFORMANCE NOTES
1374-The sorting phase of compression gathers together similar strings in the
1375-file. Because of this, files containing very long runs of repeated
1376-symbols, like "aabaabaabaab ..." (repeated several hundred times) may
1377-compress more slowly than normal. Versions 0.9.5 and above fare much
1378-better than previous versions in this respect. The ratio between
1379-worst-case and average-case compression time is in the region of 10:1.
1380-For previous versions, this figure was more like 100:1. You can use the
1381-\-vvvv option to monitor progress in great detail, if you want.
1382-
1383-Decompression speed is unaffected by these phenomena.
1384-
1385-.I bzip2
1386-usually allocates several megabytes of memory to operate
1387-in, and then charges all over it in a fairly random fashion. This means
1388-that performance, both for compressing and decompressing, is largely
1389-determined by the speed at which your machine can service cache misses.
1390-Because of this, small changes to the code to reduce the miss rate have
1391-been observed to give disproportionately large performance improvements.
1392-I imagine
1393-.I bzip2
1394-will perform best on machines with very large caches.
1395-
1396-.SH CAVEATS
1397-I/O error messages are not as helpful as they could be.
1398-.I bzip2
1399-tries hard to detect I/O errors and exit cleanly, but the details of
1400-what the problem is sometimes seem rather misleading.
1401-
15ee0650 1402-This manual page pertains to version 1.0.2 of
d967e3ec 1403-.I bzip2.
15ee0650 1404-Compressed data created by this version is entirely forwards and
1405-backwards compatible with the previous public releases, versions
1406-0.1pl2, 0.9.0, 0.9.5, 1.0.0 and 1.0.1, but with the following
1407-exception: 0.9.0 and above can correctly decompress multiple
1408-concatenated compressed files. 0.1pl2 cannot do this; it will stop
1409-after decompressing just the first file in the stream.
d967e3ec 1410-
1411-.I bzip2recover
15ee0650 1412-versions prior to this one, 1.0.2, used 32-bit integers to represent
1413-bit positions in compressed files, so it could not handle compressed
1414-files more than 512 megabytes long. Version 1.0.2 and above uses
1415-64-bit ints on some platforms which support them (GNU supported
1416-targets, and Windows). To establish whether or not bzip2recover was
1417-built with such a limitation, run it without arguments. In any event
1418-you can build yourself an unlimited version if you can recompile it
1419-with MaybeUInt64 set to be an unsigned 64-bit integer.
1420-
1421-
d967e3ec 1422-
1423-.SH AUTHOR
1424-Julian Seward, jseward@acm.org.
1425-
15ee0650 1426-http://sources.redhat.com/bzip2
d967e3ec 1427-
1428-The ideas embodied in
1429-.I bzip2
1430-are due to (at least) the following
1431-people: Michael Burrows and David Wheeler (for the block sorting
1432-transformation), David Wheeler (again, for the Huffman coder), Peter
1433-Fenwick (for the structured coding model in the original
1434-.I bzip,
1435-and many refinements), and Alistair Moffat, Radford Neal and Ian Witten
1436-(for the arithmetic coder in the original
1437-.I bzip).
1438-I am much
1439-indebted for their help, support and advice. See the manual in the
1440-source distribution for pointers to sources of documentation. Christian
1441-von Roques encouraged me to look for faster sorting algorithms, so as to
1442-speed up compression. Bela Lubkin encouraged me to improve the
15ee0650 1443-worst-case compression performance.
1444-The bz* scripts are derived from those of GNU gzip.
1445-Many people sent patches, helped
d967e3ec 1446-with portability problems, lent machines, gave advice and were generally
1447-helpful.
15ee0650 1448diff -Nru bzip2-1.0.2/bzip2.1.preformatted bzip2-1.0.2.new/bzip2.1.preformatted
1449--- bzip2-1.0.2/bzip2.1.preformatted Thu Jan 3 00:15:56 2002
1450+++ bzip2-1.0.2.new/bzip2.1.preformatted Thu Jan 1 01:00:00 1970
1451@@ -1,398 +0,0 @@
d967e3ec 1452-bzip2(1) bzip2(1)
1453-
1454-
15ee0650 1455-
d967e3ec 1456-N\bNA\bAM\bME\bE
15ee0650 1457- bzip2, bunzip2 - a block-sorting file compressor, v1.0.2
d967e3ec 1458- bzcat - decompresses files to stdout
1459- bzip2recover - recovers data from damaged bzip2 files
1460-
1461-
1462-S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
1463- b\bbz\bzi\bip\bp2\b2 [ -\b-c\bcd\bdf\bfk\bkq\bqs\bst\btv\bvz\bzV\bVL\bL1\b12\b23\b34\b45\b56\b67\b78\b89\b9 ] [ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be_\bs _\b._\b._\b. ]
1464- b\bbu\bun\bnz\bzi\bip\bp2\b2 [ -\b-f\bfk\bkv\bvs\bsV\bVL\bL ] [ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be_\bs _\b._\b._\b. ]
1465- b\bbz\bzc\bca\bat\bt [ -\b-s\bs ] [ _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be_\bs _\b._\b._\b. ]
1466- b\bbz\bzi\bip\bp2\b2r\bre\bec\bco\bov\bve\ber\br _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
1467-
1468-
1469-D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
1470- _\bb_\bz_\bi_\bp_\b2 compresses files using the Burrows-Wheeler block
1471- sorting text compression algorithm, and Huffman coding.
1472- Compression is generally considerably better than that
1473- achieved by more conventional LZ77/LZ78-based compressors,
15ee0650 1474