The Bzip2 package contains programs for compressing and decompressing files. Compressing text files with bzip2 yields a much better compression percentage than with the traditional gzip.
Apply a patch to install the documentation for this package:
patch -Np1 -i ../bzip2-1.0.3-install_docs-1.patch
The bzgrep command does not escape '|' and '&' in filenames passed to it. This allows arbitrary commands to be executed with the privileges of the user running bzgrep. Apply the following patch to address this:
patch -Np1 -i ../bzip2-1.0.3-bzgrep_security-1.patch
The bzdiff script depends on tempfile. We remove that dependency with this patch:
patch -Np1 -i ../bzip2-1.0.3-remove_tempfile-1.patch
We need to change the default lib path to lib64:
sed -i 's@/lib\(/\| \|$\)@/lib64\1@g' Makefile
The Bzip2 package does not contain a configure script. Compile it with:
make -f Makefile-libbz2_so CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" make clean
The -f flag will cause Bzip2 to be built using a different Makefile file, in this case the Makefile-libbz2_so file, which creates a dynamic libbz2.so library and links the Bzip2 utilities against it.
Recompile the package using a non-shared library and test it:
make CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}"
If reinstalling Bzip2, perform rm -vf /usr/bin/bz* first, otherwise the following make install will fail.
Install the programs:
make install
Install the shared bzip2 binary into the /bin directory, make some necessary symbolic links, and clean up:
cp -v bzip2-shared /bin/bzip2 cp -av libbz2.so* /lib64 ln -sv ../../lib64/libbz2.so.1.0 /usr/lib64/libbz2.so rm -v /usr/bin/{bunzip2,bzcat,bzip2} ln -sv bzip2 /bin/bunzip2 ln -sv bzip2 /bin/bzcat