Go to file
2021-06-12 19:47:29 +01:00
cmake CMake Improvements: reverted use of TARGET_FILE_SUFFIX because it requires CMake 3.15 or newer, which is not available on all test systems. 2019-10-27 16:26:43 -04:00
docs docs/RELEASING.md - start a release checklist 2019-06-21 17:55:07 -05:00
man Minor man page update dealing with bzip2/gzip differences 2021-05-31 19:51:38 +00:00
tests APP tests are disabled if app is not built 2020-11-08 19:05:44 +03:00
.appveyor.yml Add VS 2019 2020-09-06 22:34:53 -05:00
.gitignore Remove autotools stuff from .gitignore 2019-06-19 21:05:04 -05:00
.gitlab-ci.yml Gitlab CI: Test cmake build on Debian 2020-02-20 21:17:33 -05:00
AUTHORS Add AUTHORS from the NEWS file 2019-06-05 18:55:59 -05:00
blocksort.c Fix undefined behavior in the macros SET_BH, CLEAR_BH, & ISSET_BH 2019-06-08 10:06:40 -04:00
bz_version.h Add pregenerated bz_version.h 2021-06-12 19:47:29 +01:00
bz_version.h.in (#2): Generate a header file with the version number 2019-06-25 18:28:19 -05:00
bzdiff bzip2-1.0.4 2006-12-20 22:13:13 +01:00
bzgrep Fix bzgrep so it doesn't always return a 0 exit code 2019-06-05 18:54:50 -05:00
bzip2.c Merge branch 'master' into 'master' 2021-05-31 19:53:03 +00:00
bzip2.doap Add a bzip2.doap file 2019-06-07 18:45:55 -05:00
bzip2.pc.in Add an autotools framework and pkg-config data 2019-06-05 18:54:50 -05:00
bzip2.txt Change all bzip.org URLs to sourceware.org/bzip2 2019-03-30 22:56:16 +01:00
bzip2recover.c Moves BZ_UNIX, BZ_LCCWIN32 defines out of bzip2.c and bzip2recover.c and into the build tooling (cmake, meson, and nmake). 2019-09-14 18:51:17 -04:00
bzlib_private.h (#2): Generate a header file with the version number 2019-06-25 18:28:19 -05:00
bzlib.c (#2): Generate a header file with the version number 2019-06-25 18:28:19 -05:00
bzlib.h [*] import/export api macros were omega scuffed 2021-06-12 19:11:24 +01:00
bzmore bzip2-1.0.2 2001-12-30 22:13:13 +01:00
CMakeLists.txt CMake Improvements: Fix ENABLE_STATIC_LIB option, and renames static library with _static suffix to differentiate between shared library .lib file on Windows. 2020-02-19 22:05:10 -05:00
CMakeOptions.txt Add CMake build system. 2019-06-09 19:13:08 -04:00
code-of-conduct.md Add the Contributor Covenant Code of Conduct 1.4 2019-06-07 16:59:58 -05:00
COMPILING.md Remove references to autotools from COMPILING.md 2019-06-19 21:05:04 -05:00
compress.c Accept as many selectors as the file format allows. 2019-07-10 14:39:32 -05:00
COPYING Rename LICENSE to COPYING 2019-06-05 18:54:50 -05:00
crctable.c Change Julian's email address to jseward@acm.org 2019-03-30 22:56:16 +01:00
decompress.c Accept as many selectors as the file format allows. 2019-07-10 14:39:32 -05:00
dlltest.c bzip2-1.0.4 2006-12-20 22:13:13 +01:00
dlltest.dsp bzip2-0.9.0c 1998-08-23 22:13:13 +02:00
huffman.c Change Julian's email address to jseward@acm.org 2019-03-30 22:56:16 +01:00
install_links.py Meson: install symlinks or copies of binaries 2019-07-01 14:53:21 -07:00
libbz2.def Remove the unsupported DESCRIPTION statement. 2019-06-14 09:18:54 -05:00
libbz2.dsp bzip2-0.9.0c 1998-08-23 22:13:13 +02:00
makefile.msc Moves BZ_UNIX, BZ_LCCWIN32 defines out of bzip2.c and bzip2recover.c and into the build tooling (cmake, meson, and nmake). 2019-09-14 18:51:17 -04:00
meson_options.txt add meson build system 2019-06-06 11:10:32 -07:00
meson.build Meson Improvements: Replaces use of add_project_arguments with executable()'s c_args option, providing a list of args that vary depending on the host OS. Also bumps minimum meson version from 0.48 to 0.50, to alleviate warnings about using features introduced in 0.50. 2019-10-27 19:07:35 -04:00
mk251.c Change Julian's email address to jseward@acm.org 2019-03-30 22:56:16 +01:00
NEWS Update NEWS 2019-06-25 13:38:19 -05:00
NEWS-pre-1.0.7 Move NEWS to NEWS-pre-1.0.7 2019-06-20 11:22:27 -05:00
patches-not-included.txt bzopen_or_bzdopen() - Open files with O_CLOEXEC with the "e" mode 2019-06-05 18:55:59 -05:00
randtable.c Change Julian's email address to jseward@acm.org 2019-03-30 22:56:16 +01:00
README.md Remove references to autotools from COMPILING.md 2019-06-19 21:05:04 -05:00
README.XML.STUFF Change Julian's email address to jseward@acm.org 2019-03-30 22:56:16 +01:00
spewG.c Change Julian's email address to jseward@acm.org 2019-03-30 22:56:16 +01:00
unzcrash.c Change Julian's email address to jseward@acm.org 2019-03-30 22:56:16 +01:00
version.rc Add version information to the dll and exe files. 2019-06-14 09:18:34 -05:00
version.rc.in Add CMake build system. 2019-06-09 19:13:08 -04:00

Bzip2

This Bzip2/libbz2, a program and library for lossless, block-sorting data compression.

Copyright (C) 1996-2010 Julian Seward jseward@acm.org

Copyright (C) 2019 Federico Mena Quintero federico@gnome.org

Please read the WARNING, DISCLAIMER and PATENTS sections in this file for important information.

This program is released under the terms of the license contained in the file COPYING.


This version is fully compatible with the previous public releases.

Complete documentation is available in Postscript form (manual.ps), PDF (manual.pdf) or HTML (manual.html). A plain-text version of the manual page is available as bzip2.txt.

Contributing to Bzip2's development

There is a code of conduct for contributors to Bzip2/libbz2; please see the file code-of-conduct.md.

Bzip2's source repository is at gitlab.com. You can view the web interface here:

https://gitlab.com/federicomenaquintero/bzip2

Maintenance happens in the master branch. There is an effort to port Bzip2 gradually to Rust in a rustify branch.

To report bugs, or to view existing reports, please do so in Bzip2's repository as well.

Compiling Bzip2 and libbz2

Please see the COMPILING.md file for details. This includes instructions for buliding using Meson, CMake, or nmake.

WARNING

This program and library (attempts to) compress data by performing several non-trivial transformations on it. Unless you are 100% familiar with all the algorithms contained herein, and with the consequences of modifying them, you should NOT meddle with the compression or decompression machinery. Incorrect changes can and very likely will lead to disastrous loss of data.

Please contact the maintainers if you want to modify the algorithms.

DISCLAIMER

I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED.

Every compression of a file implies an assumption that the compressed file can be decompressed to reproduce the original. Great efforts in design, coding and testing have been made to ensure that this program works correctly. However, the complexity of the algorithms, and, in particular, the presence of various special cases in the code which occur with very low but non-zero probability make it impossible to rule out the possibility of bugs remaining in the program. DO NOT COMPRESS ANY DATA WITH THIS PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.

That is not to say this program is inherently unreliable. Indeed, I very much hope the opposite is true. Bzip2/libbz2 has been carefully constructed and extensively tested.

PATENTS

To the best of my knowledge, Bzip2/libbz2 does not use any patented algorithms. However, I do not have the resources to carry out a patent search. Therefore I cannot give any guarantee of the above statement.

Maintainers

Since June 2019, the maintainer of Bzip2/libbz2 is Federico Mena Quintero. Feel free to contact me for any questions you may have about Bzip2, both its usage and its development. You can contact me in the following ways:

  • Mail me at federico@gnome.org.

  • IRC: I am federico on irc.gnome.org in the #rust or #gnome-hackers channels. I'm there most weekdays (Mon-Fri) starting at about UTC 14:00 (that's 08:00 my time; I am in the UTC-6 timezone). If this is not a convenient time for you, feel free to mail me and we can arrange a time.

Special thanks

Federico would like to thank Julian Seward, the original author of Bzip2/libbz2, for creating the program and making it a very compelling alternative to previous compression programs back in the early 2000's. Thanks to Julian also for letting Federico carry on with the maintainership of the program.