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.
The static library must be compiled with POSITION_INDEPENDENT_CODE=ON in
order to link it into shared libraries.
But some compilers cannot generate position independent code for static
libraries.
To solve for both use cases, this commit adds a new CMake option
`ENABLE_STATIC_LIB_IS_PIC` that is ON by default.
You may need to build with `-D ENABLE_STATIC_LIB_IS_PIC=OFF` if your
compiler fails to generate position independent code when compiling the
static library.
Resolves: https://gitlab.com/bzip2/bzip2/-/issues/47
Using a relative path for the large test suite's test files only works
in CI if the merge request comes from a branch in the upstream
repository. For merge requests from other accounts/orgs, it won't find
the test files unless that is also forked.
This commit swaps over to an absolute HTTPS URL for the testfiles repo.
The SSH (git@) kind also wouldn't work because authentication fails.
Remodel test suite using Python unittests.
Add more thorough test cases for original "quick" test suite.
Add in automatic Valgrind testing for the "quick" test suite on Linux if
Valgrind was detected at build-time.
Add larger suite of assorted .bz2 test files as git submodule.
Updates to the Compiling documentation.
Increased the minimum Meson version to 0.56 because this commit uses the
`fs` module that was introduced in 0.56.
Added Python 3's `pytest` as a required module for running the tests
when using Meson.
Rather than adding a symlink with the old name, this commit changes the
USE_OLD_SONAME option so it builds an extra copy of the library with the
old SONAME.
The commit to fix GCC10's warning regarding non-signal-safe functions in
our fatal signal handler introduced STDERR_FILENO which is a POSIX
definition not supported on Windows.
This commit replaces it with _fileno(stderr) on Windows.
I've also added macros to replace a few other functions with ISO C and
C++ compliant variants.
You can now build with `cmake . -D USE_OLD_SONAME=ON` to have CMake
patch the shared library to use the old SONAME for binary compatibility
with old libbz2 1.0.x installs.
Increase the project version to 1.1.0 as this is a new feature version.
As for all new feature versions, increase the libtool .so version.
Only increase the revision, as no API's were added or removed.
It may look like I've increased it by 2, but that's because v1.0.8 used
Makefiles and was at 1:8:0.
See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
Explain why bzip2 has repositories on sourceware.org and gitlab.com.
Change error messages in bzip2 source to request that bugs be reported
to project's gitlab issues page.
Fixup project homepage in various documents to point to gitlab project.
Remove trailing whitespace from a few documents.
Update the Release Checklist.
Add myself as new maintainer.
Add the notes from 1.0.7 and 1.0.8 patch versions.
Restructure the news as markdown.
Re-order to news so the newest things go at the top.
Remove duplicate item from the AUTHORS document.
GCC10 -fanalyzer notices that we try to call functions that are not
signal safe from our fatal signal handler:
bzip2.c: In function ‘mySIGSEGVorSIGBUScatcher’:
bzip2.c:819:7: warning: call to ‘fprintf’ from within signal handler
[CWE-479] [-Wanalyzer-unsafe-call-within-signal-handler]
It also notices we then call showFileNames and cleanupAndFail which
also call possibly not signal safe functions.
Just write out the error message directly to STDERR and exit without
trying to clean up any files.
BZ_SEQUENCE_ERROR can be returned if BZ2_bzDecompress is called after
an earlier call already returned BZ_STREAM_END.
Reported-by: Vanessa McHale <vamchale@gmail.com>
The bzdiff script doesn't contain enough quotes, so that it doesn't
work if the TMPDIR environment variable is defined and contains
spaces.
https://bugs.debian.org/493710
Author: Vincent Lefevre <vincent@vinc17.org>
The tests may fail if the BZIP or BZIP2 environment variables are set.
To reproduce the issue, run:
BZIP2="--derp" ctest -V
This commit discards those variables before running the tests.
Resolves: https://gitlab.com/bzip2/bzip2/-/issues/31
Fix courtesy of Michael Orlitzky
MSVC2008 appears to be no longer available.
MSVC2015 and 2017 appear to require setting APPVEYOR_BUILD_WORKER_IMAGE
The MSVC2015 x64 vcvarsall.bat command didn't match AppVeyor's
instructions. See: https://www.appveyor.com/docs/lang/cpp/
The sample3.ref test file is plain ascii, which means that Git on
Windows will automatically convert the line endings from \n to \r\n.
This of course causes a test to fail.
Added a .gitattributes file that requires Git to treat *.ref files as
binary, so it won't convert line endings.