Bzip2/libbz2 is a program and library for lossless, block-sorting data compression. This is the official repository for development of BZip2 1.1+.
Find a file
Micah Snyder 66c46b8c94 CI: change how pytest is installed for latest debian
Latest debian refuses to let pip install systemo-wide packages and instead
forces you to apt install them.

And it fails to build a newer version of pip than provided by
ubuntu:bionic.
2023-05-31 17:09:48 -07:00
cmake Tests: Remodel test suite; Add large test suite 2022-07-17 04:40:54 +00:00
docs Remove legacy Windows nmake build system 2022-07-17 04:40:54 +00:00
man bzgrep, build: use grep -E/-F instead of egrep and fgrep 2022-02-06 18:31:39 +00:00
tests CMake: Fix unix static-only build 2022-07-18 15:40:11 -07:00
.appveyor.yml CI: Enable large test suite in GitLab-CI 2022-07-17 15:29:37 -07:00
.gitattributes Windows: Prevent git from changing line endings on test files 2021-07-10 12:33:16 -07:00
.gitignore Tests: Remodel test suite; Add large test suite 2022-07-17 04:40:54 +00:00
.gitlab-ci.yml CI: change how pytest is installed for latest debian 2023-05-31 17:09:48 -07:00
.gitmodules CI: Fix running large test suite in merge requests 2022-07-17 16:20:33 -07:00
AUTHORS News: Update to account for 1.0.7, 1.0.8 2022-01-30 11:50:37 -08:00
blocksort.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
bz_version.h.in (#2): Generate a header file with the version number 2019-06-25 18:28:19 -05:00
bzdiff fix bzdiff when TMPDIR contains spaces 2022-01-30 11:50:37 -08:00
bzgrep bzgrep, build: use grep -E/-F instead of egrep and fgrep 2022-02-06 18:31:39 +00:00
bzip2.c Fix Windows build 2022-01-30 11:50:37 -08:00
bzip2.doap Oops, missed changing the DOAP file for the new maintainer 2022-06-27 11:46:09 -05:00
bzip2.pc.in Add an autotools framework and pkg-config data 2019-06-05 18:54:50 -05:00
bzip2.txt Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
bzip2recover.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
bzlib.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
bzlib.h Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
bzlib_private.h Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
bzmore bzip2-1.0.2 2001-12-30 22:13:13 +01:00
CMakeLists.txt CMake: Option to build static library with PIC, default ON 2023-05-31 15:06:56 -07:00
CMakeOptions.txt CMake: Option to build static library with PIC, default ON 2023-05-31 15:06:56 -07:00
code-of-conduct.md Add the Contributor Covenant Code of Conduct 1.4 2019-06-07 16:59:58 -05:00
COMPILING.md CMake: Option to build static library with PIC, default ON 2023-05-31 15:06:56 -07:00
compress.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
COPYING Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
crctable.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
decompress.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
dlltest.c bzip2-1.0.4 2006-12-20 22:13:13 +01:00
huffman.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08: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
meson.build Tests: Remodel test suite; Add large test suite 2022-07-17 04:40:54 +00:00
meson_options.txt add meson build system 2019-06-06 11:10:32 -07:00
mk251.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
NEWS.md Remove legacy Windows nmake build system 2022-07-17 04:40:54 +00: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 Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
README.md Remove legacy Windows nmake build system 2022-07-17 04:40:54 +00:00
README.XML.STUFF Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
spewG.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
unzcrash.c Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
version.rc Project version 1.1.0, libtool version 1:9:0 2022-01-30 11:50:37 -08:00
version.rc.in Project home is now now gitlab.com/bzip2 2022-01-30 11:50:37 -08:00

Bzip2

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

This document pertains to the Bzip2 feature development effort hosted on GitLab.com.

The documentation here may differ from that on the Bzip2 1.0.x project page maintained by Mark Wielaard onsourceware.org.

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

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

Copyright (C) 2021 Micah Snyder.

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 COPYING file.


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.

Community Code of Conduct

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

Contributing to Bzip2's development

The Bzip2 project is hosted on GitLab for feature development work. It can be found at https://gitlab.com/bzip2/bzip2

Changes to be included in the next feature version are committed to the master branch.

Feature releases are maintained in release/* branches.

Long-term feature and experimental development will occur in feature branches. Feature branches are unstable. Feature branches may be rebased and force- pushed on occasion to keep them up-to-date and to resolve merge conflicts.

The rustify branch is a feature branch that represents an effort to gradually port Bzip2 to Rust.

Report a Bug

Please report bugs via GitLab Issues.

Before you create a new issue, please verify that no one else has already reported the same issue.

Compiling Bzip2 and libbz2

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

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

As of June 2021, Micah Snyder is the maintainer of Bzip2/libbz2 for feature development work (I.e. versions 1.1+).

The Bzip2 feature development project is hosted on GitLab and can be found at https://gitlab.com/bzip2/bzip2

Bzip2 version 1.0 is maintained by Mark Wielaard at Sourceware and can be found at https://sourceware.org/git/?p=bzip2.git

Special thanks

Thanks to 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, Mark, and Micah carry on with the maintainership of the program.