From: Nobuhiro Iwamatsu Date: Wed, 5 May 2021 07:29:57 +0000 (+0100) Subject: lz4 (1.9.3-2) unstable; urgency=medium X-Git-Tag: archive/raspbian/1.9.4-2+rpi1~1^2^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7d53eeab9b66c16a53d7b340e2f9ad2534fb9875;p=lz4.git lz4 (1.9.3-2) unstable; urgency=medium * Fix CVE-2021-3520. (Closes: #987856) - This fixed potential memory corruption with negative memmove() size. - Add d/patches/0005-CVE-2021-3520.patch [dgit import unpatched lz4 1.9.3-2] --- 7d53eeab9b66c16a53d7b340e2f9ad2534fb9875 diff --cc debian/changelog index 0000000,0000000..1bbe3d6 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,321 @@@ ++lz4 (1.9.3-2) unstable; urgency=medium ++ ++ * Fix CVE-2021-3520. (Closes: #987856) ++ - This fixed potential memory corruption with negative memmove() size. ++ - Add d/patches/0005-CVE-2021-3520.patch ++ ++ -- Nobuhiro Iwamatsu Wed, 05 May 2021 16:29:57 +0900 ++ ++lz4 (1.9.3-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Update d/control. ++ - Use debhelper-compat, and update to 13. ++ - Bump Standards-Version to 4.5.0 (no changes) ++ * Add d/upstream/metadata. ++ * Update d/liblz4-1.symbols. ++ Add LZ4F_headerSize@Base 1.9.3. ++ * Update d/patches. ++ ++ -- Nobuhiro Iwamatsu Tue, 01 Dec 2020 06:07:12 +0900 ++ ++lz4 (1.9.2-2) unstable; urgency=medium ++ ++ * Fix FTCBFS: Annotate the python3 dependency. (Closes: #944559) ++ ++ -- Nobuhiro Iwamatsu Tue, 12 Nov 2019 07:58:47 +0900 ++ ++lz4 (1.9.2-1) unstable; urgency=medium ++ ++ * New upstream release. (Closes: #943680) ++ Fix CVE-2019-17543. ++ * Add d/patches/change-optimize.patch. ++ Change optimize and add debugging information. ++ * Update d/control. ++ Add python3 to B-D. ++ ++ -- Nobuhiro Iwamatsu Tue, 29 Oct 2019 19:19:36 +0900 ++ ++lz4 (1.9.1-2) unstable; urgency=medium ++ ++ * Upload to unstable. ++ ++ -- Nobuhiro Iwamatsu Tue, 20 Aug 2019 22:43:48 +0900 ++ ++lz4 (1.9.1-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Update d/patches. ++ * Update debian/liblz4-1.symbols. ++ Add APIs following: ++ - LZ4F_getBlockSize@Base ++ - LZ4_compress_HC_continue_destSize@Base ++ - LZ4_compress_HC_destSize@Base ++ - LZ4_initStream@Base ++ - LZ4_initStreamHC@Base ++ - LZ4_resetStreamHC_fast@Base ++ Remove APIs following: ++ - LZ4_attach_HC_dictionary@Base ++ - LZ4_attach_dictionary@Base ++ - LZ4_compress_fast_extState_fastReset@Base ++ ++ -- Nobuhiro Iwamatsu Fri, 24 May 2019 07:51:04 +0900 ++ ++lz4 (1.8.3-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Update d/patches. ++ * Update d/copyright. ++ Remove unused file paragraph. ++ ++ -- Nobuhiro Iwamatsu Tue, 25 Sep 2018 22:26:58 +0900 ++ ++lz4 (1.8.2-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Add debian/watch file. ++ * Update debian/liblz4-1.symbols. ++ Add APIs following: ++ - LZ4_attach_HC_dictionary@Base ++ - LZ4_attach_dictionary@Base ++ - LZ4_compress_fast_extState_fastReset@Base ++ - LZ4_decoderRingBufferSize@Base ++ - LZ4_resetStream_fast@Base ++ ++ -- Nobuhiro Iwamatsu Mon, 14 May 2018 16:45:54 +0900 ++ ++lz4 (1.8.1.2-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Update static link problem fix. ++ In this fix, add LZ4F_PUBLISH_STATIC_FUNCTIONS to compile option. ++ This makes the following API available for reference to the library. ++ - LZ4F_compressBegin_usingCDict@Base ++ - LZ4F_compressFrame_usingCDict@Base ++ - LZ4F_createCDict@Base ++ - LZ4F_decompress_usingDict@Base ++ - LZ4F_freeCDict@Base ++ - LZ4F_getErrorCode@Base ++ ++ -- Nobuhiro Iwamatsu Fri, 13 Apr 2018 10:39:09 +0900 ++ ++lz4 (1.8.0-5) unstable; urgency=medium ++ ++ * Upload to unstable. ++ ++ -- Nobuhiro Iwamatsu Thu, 12 Apr 2018 11:46:55 +0900 ++ ++lz4 (1.8.0-4) experimental; urgency=medium ++ ++ * Add liblz4-tool transitional package (Closes: #894279) ++ ++ -- Nobuhiro Iwamatsu Thu, 12 Apr 2018 08:31:07 +0900 ++ ++lz4 (1.8.0-3) experimental; urgency=medium ++ ++ * Change package name to liblz4-1. ++ Do not need to change SONAME, so revert it. ++ ++ -- Nobuhiro Iwamatsu Wed, 11 Apr 2018 09:02:37 +0900 ++ ++lz4 (1.8.0-2) experimental; urgency=medium ++ ++ * Change package name to liblz4-1a. ++ From 1.8.0, lz4 removed some API in 1.8.0, but upstream dose not bump ++ the SONAME. We changed to -1a to maintain compatibility. ++ * Fix Static link. (#882974) ++ * Update debian/copyright. ++ - Fix insecure copyright format URI. ++ - Update copyright information. ++ * Update Vcs-Browser and Vcs-Git to use salsa. ++ ++ -- Nobuhiro Iwamatsu Wed, 08 Nov 2017 13:26:35 +0900 ++ ++lz4 (1.8.0-1) experimental; urgency=medium ++ ++ * New upstream release. (Closes: #860168, #821740) ++ * Bump Standards-Version to 4.1.0. ++ * Remove patches/ignore_rm_fail.patch. ++ * Update symbols file. ++ * Rename liblz4-tool to lz4. (Closes: #781234) ++ * Change Priority to optional. (Closes: #816620) ++ ++ -- Nobuhiro Iwamatsu Thu, 31 Aug 2017 08:07:55 +0900 ++ ++lz4 (1.7.5-1) UNRELEASED; urgency=medium ++ ++ * New upstream release. ++ * Bump Standards-Version to 3.9.8. ++ * Update symbols file. ++ * Add patches/ignore_rm_fail.patch. ++ ++ -- Nobuhiro Iwamatsu Mon, 19 Jun 2017 09:09:28 +0900 ++ ++lz4 (0.0~r131-2) unstable; urgency=medium ++ ++ * Add support cross compile. (Closes: #814687) ++ Thanks to Helmut Grohne . ++ * Change URL of homepage to https://github.com/Cyan4973/lz4. ++ ++ -- Nobuhiro Iwamatsu Thu, 18 Feb 2016 00:27:54 +0900 ++ ++lz4 (0.0~r131-1) unstable; urgency=medium ++ ++ * Snapshot, taken from the trunk (r131). ++ * Update and enable atches/0001-Disable-valgrind.patch. ++ ++ -- Nobuhiro Iwamatsu Sun, 16 Aug 2015 20:46:09 +0900 ++ ++lz4 (0.0~r130-1) unstable; urgency=medium ++ ++ * Snapshot, taken from the trunk (r130). ++ ++ -- Nobuhiro Iwamatsu Mon, 01 Jun 2015 09:35:45 +0900 ++ ++lz4 (0.0~r127-1) experimental; urgency=low ++ ++ * Snapshot, taken from the trunk (r127). ++ * Update debian/docs. ++ Add lz4_block_format.txt and LZ4_Frame_Format.html. ++ * Update liblz4-1.symbols. ++ * Bump Standards-Version to 3.9.6. ++ * Update copyright. ++ Add more infomation of copyright. ++ ++ -- Nobuhiro Iwamatsu Sat, 07 Mar 2015 17:21:34 +0900 ++ ++lz4 (0.0~r122-2) unstable; urgency=medium ++ ++ * Install pkgconfig file into liblz4-dev. (Closes: #761906) ++ ++ -- Nobuhiro Iwamatsu Wed, 17 Sep 2014 08:55:01 +0900 ++ ++lz4 (0.0~r122-1) unstable; urgency=high ++ ++ * Snapshot, taken from the trunk (r122). ++ * Fix test on s390x. (Closes: #757581) ++ Add patches/0001-Add-support-s390x-architecture.patch. ++ * Remove patches. ++ - add-support-kfreebsd.patch, add-support-hurd.patch and Add-LDFLAGS.patch ++ were applied to upstream. ++ - Makefile of upstream was updated. ++ Remove 0001-Remove-test-32-from-test-target.patch. ++ * Update patches/0001-Disable-valgrind.patch. ++ * Update debian/rules. ++ - Re-enable test on s390x. ++ * Update symbols file. ++ ++ -- Nobuhiro Iwamatsu Wed, 17 Sep 2014 01:57:08 +0900 ++ ++lz4 (0.0~r119-2) unstable; urgency=medium ++ ++ * Disable test on s390x and sparc. (Closes: #755170) ++ ++ -- Nobuhiro Iwamatsu Tue, 29 Jul 2014 01:43:36 +0900 ++ ++lz4 (0.0~r119-1) unstable; urgency=medium ++ ++ * Snapshot, taken from the trunk (r119) (Closes: #751256). ++ * The r119 fixed CVE-2014-4715, and r118 fixed CVE-2014-4611. ++ * Disable valgrind test. ++ Add patches/0001-Disable-valgrind.patch. ++ * Disable test with -m32 option. ++ Add patches/0001-Remove-test-32-from-test-target.patch. ++ * Update liblz4-1.symbols. ++ ++ -- Nobuhiro Iwamatsu Tue, 15 Jul 2014 10:25:02 +0900 ++ ++lz4 (0.0~r117-1) unstable; urgency=medium ++ ++ * Snapshot, taken from the trunk (r117). ++ * Remove patches/add-ldflags.patch and patches/fix-install.patch. ++ * Update patches/add-support-kfreebsd.patch. ++ * Add patches/add-support-hurd.patch (Closes: #749901). ++ * Add patches/Remove-32bit-test-program-from-target.patch. ++ * Add patches/Add-LDFLAGS.patch. ++ ++ -- Nobuhiro Iwamatsu Mon, 09 Jun 2014 14:57:21 +0900 ++ ++lz4 (0.0~r114-2) unstable; urgency=low ++ ++ * Update patches/add-support-kfreebsd.patch. ++ Support programs.Makefile too. ++ ++ -- Nobuhiro Iwamatsu Sat, 22 Mar 2014 14:23:35 +0900 ++ ++lz4 (0.0~r114-1) unstable; urgency=low ++ ++ * Snapshot, taken from the trunk (r113). ++ * Remove support-library-version.patch ++ Applied to upstream. ++ * Update add-ldflags.patch. ++ * Add patches/fix-install.patch. ++ Fix install library. ++ * Update symbols file. ++ * Add patches/add-support-kfreebsd.patch. ++ Support install on kFreeBSD. ++ ++ -- Nobuhiro Iwamatsu Sat, 22 Mar 2014 01:53:20 +0900 ++ ++lz4 (0.0~r113-2) unstable; urgency=low ++ ++ * Update debian/control. ++ - Add Conflict and Replaces field of libz4-1-dbg (Closes: #741003). ++ - Update package description (Closes: #741001). ++ ++ -- Nobuhiro Iwamatsu Mon, 10 Mar 2014 08:34:29 +0900 ++ ++lz4 (0.0~r113-1) unstable; urgency=low ++ ++ * Snapshot, taken from the trunk (r113). ++ * Update debian/rules. ++ - Change build tool from cmake to GNU make. ++ * Update debian/control. ++ - cmake from Build-Depends ++ - Update Standards-Version to 3.9.5 ++ * Update symbols file. ++ * Add patches/add-dlflags.patch. ++ * Add patches/support-library-version.patch. ++ * Remove old patches. ++ * Change package name and install script name. ++ * Add manpage of lz4. ++ ++ -- Nobuhiro Iwamatsu Wed, 05 Mar 2014 10:50:41 +0900 ++ ++lz4 (0.0~r109-1) unstable; urgency=low ++ ++ * Snapshot, taken from the trunk (r109). ++ ++ -- Nobuhiro Iwamatsu Wed, 25 Dec 2013 07:26:12 +0900 ++ ++lz4 (0.0~r107-1) unstable; urgency=low ++ ++ * Snapshot, taken from the trunk (r107). ++ * Update patches. ++ * Update symbol file. ++ ++ -- Nobuhiro Iwamatsu Wed, 23 Oct 2013 19:51:48 +0900 ++ ++lz4 (0.0~r99-1) unstable; urgency=low ++ ++ * New upstream released. ++ * Add symbols file. ++ * Update debian/control. ++ - Update Vcs-Git and Vcs-Browser field. ++ ++ -- Nobuhiro Iwamatsu Wed, 31 Jul 2013 12:28:38 +0900 ++ ++lz4 (0.0~r94-2) unstable; urgency=low ++ ++ * Fix install path on 32bit build. (Closes: #710458) ++ Update patches/0001-Fix-install-path.patch. ++ * Remove unrecognized command line option '-march=native'. (Closes: #710459) ++ Add patches/remove_optimize. ++ ++ -- Nobuhiro Iwamatsu Fri, 31 May 2013 14:05:43 +0900 ++ ++lz4 (0.0~r94-1) unstable; urgency=low ++ ++ * Initial release. (Closes: #698256) ++ ++ -- Nobuhiro Iwamatsu Sat, 04 May 2013 08:31:31 +0900 diff --cc debian/control index 0000000,0000000..f7e2178 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,68 @@@ ++Source: lz4 ++Priority: optional ++Maintainer: Nobuhiro Iwamatsu ++Build-Depends: debhelper-compat (= 13), python3:any ++Standards-Version: 4.5.1 ++Section: utils ++Homepage: https://github.com/Cyan4973/lz4 ++Vcs-Browser: https://salsa.debian.org/debian/lz4 ++Vcs-Git: https://salsa.debian.org/debian/lz4.git ++ ++Package: liblz4-dev ++Section: libdevel ++Architecture: any ++Depends: liblz4-1 (= ${binary:Version}), ${misc:Depends} ++Multi-Arch: same ++Description: Fast LZ compression algorithm library - development files ++ LZ4 is a very fast lossless compression algorithm, providing compression speed ++ at 400 MB/s per core, scalable with multi-cores CPU. It also features an ++ extremely fast decoder, with speed in multiple GB/s per core, typically ++ reaching RAM speed limits on multi-core systems. ++ . ++ This package contains files that are needed to build applications. ++ ++Package: liblz4-1 ++Section: libs ++Architecture: any ++Pre-Depends: ${misc:Pre-Depends} ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Replaces: liblz4-1a ++Breaks: liblz4-1a ++Multi-Arch: same ++Description: Fast LZ compression algorithm library - runtime ++ LZ4 is a very fast lossless compression algorithm, providing compression speed ++ at 400 MB/s per core, scalable with multi-cores CPU. It also features an ++ extremely fast decoder, with speed in multiple GB/s per core, typically ++ reaching RAM speed limits on multi-core systems. ++ . ++ This package includes the shared library. ++ ++Package: lz4 ++Architecture: any ++Pre-Depends: ${misc:Pre-Depends} ++Depends: ${shlibs:Depends}, ${misc:Depends}, liblz4-1 (= ${binary:Version}) ++Multi-Arch: foreign ++Provides: liblz4-tool ++Replaces: liblz4-tool (<< 1.8.0-1) ++Conflicts: liblz4-tool (<< 1.8.0-1) ++Description: Fast LZ compression algorithm library - tool ++ LZ4 is a very fast lossless compression algorithm, providing compression speed ++ at 400 MB/s per core, scalable with multi-cores CPU. It also features an ++ extremely fast decoder, with speed in multiple GB/s per core, typically ++ reaching RAM speed limits on multi-core systems. ++ . ++ This package contains files that is tool using liblz4. ++ ++Package: liblz4-tool ++Architecture: all ++Section: oldlibs ++Depends: ++ lz4, ++ ${misc:Depends}, ++Description: Fast LZ compression algorithm library - transitional package ++ LZ4 is a very fast lossless compression algorithm, providing compression speed ++ at 400 MB/s per core, scalable with multi-cores CPU. It also features an ++ extremely fast decoder, with speed in multiple GB/s per core, typically ++ reaching RAM speed limits on multi-core systems. ++ . ++ This is a transitional package. It can be safely removed. diff --cc debian/copyright index 0000000,0000000..51fac2c new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,101 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: lz4 ++Source: https://github.com/Cyan4973/lz4 ++ ++Files: * ++Copyright: Copyright (C) 2011-2017, Yann Collet. ++License: BSD-2-clause ++ ++Files: lib/* ++Copyright: Copyright (C) 2011-2017, Yann Collet. ++License: BSD-2-clause ++ ++Files: lib/liblz4.pc.in ++Copyright: Copyright (C) 2011-2014, Yann Collet. ++License: BSD-2-clause ++ ++Files: lib/lz4frame.c ++ lib/lz4frame_static.h ++ lib/xxhash.c ++ lib/xxhash.h ++Copyright: Copyright (C) 2011-2016, Yann Collet. ++License: BSD-2-clause ++ ++Files: programs/* ++Copyright: Copyright (C) 2011-2016, Yann Collet. ++License: GPL-2+ ++ ++Files: programs/lz4io.c ++Copyright: Copyright (C) 2011-2017, Yann Collet. ++License: GPL-2+ ++ ++Files: programs/platform.h ++Copyright: Copyright (C) 2016 -present, Przemyslaw Skibinski, Yann Collet ++License: GPL-2+ ++ ++Files: programs/util.h ++Copyright: Copyright (C) 2016 -present, Przemyslaw Skibinski, Yann Collet ++License: GPL-2+ ++ ++Files: ./examples/printVersion.c ++Copyright: Takayuki Matsuoka & Yann Collet ++License: GPL-2 ++ ++Files: ./examples/blockStreaming_lineByLine.c ++ ./examples/blockStreaming_doubleBuffer.c ++Copyright: Takayuki Matsuoka ++License: GPL-2 ++ ++Files: ./examples/HCStreaming_ringBuffer.c ++ ./examples/blockStreaming_ringBuffer.c ++Copyright: Yann Collet ++License: GPL-2 ++ ++Files: ./examples/compress_functions.c ++ ./examples/simple_buffer.c ++Copyright: Kyle Harper ++License: BSD-2-clause ++ ++ ++Files: debian/* ++Copyright: 2013 Nobuhiro Iwamatsu ++License: GPL-2+ ++ ++License: GPL-2 ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; version 2 dated June, 1991. ++ . ++ On Debian systems, the complete text of version 2 of the GNU General ++ Public License can be found in '/usr/share/common-licenses/GPL-2'. ++ ++License: GPL-2+ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; version 2 dated June, 1991, or (at ++ your option) any later version. ++ . ++ On Debian systems, the complete text of version 2 of the GNU General ++ Public License can be found in '/usr/share/common-licenses/GPL-2'. ++ ++License: BSD-2-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ . ++ * Redistributions of source code must retain the above copyright notice, ++ this list of conditions and the following disclaimer. ++ * Redistributions in binary form must reproduce the above copyright notice, ++ this list of conditions and the following disclaimer in the documentation ++ and/or other materials provided with the distribution. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ++ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS ++ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ++ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE ++ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ++ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --cc debian/liblz4-1.install index 0000000,0000000..3ddde58 new file mode 100644 --- /dev/null +++ b/debian/liblz4-1.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/lib*.so.* diff --cc debian/liblz4-1.symbols index 0000000,0000000..2ff341e new file mode 100644 --- /dev/null +++ b/debian/liblz4-1.symbols @@@ -1,0 -1,0 +1,98 @@@ ++liblz4.so.1 liblz4-1 #MINVER# ++ LZ4F_compressBegin@Base 0.0~r127 ++ LZ4F_compressBegin_usingCDict@Base 1.8.1.2 ++ LZ4F_compressBound@Base 0.0~r127 ++ LZ4F_compressEnd@Base 0.0~r127 ++ LZ4F_compressFrame@Base 0.0~r127 ++ LZ4F_compressFrameBound@Base 0.0~r127 ++ LZ4F_compressFrame_usingCDict@Base 1.8.1.2 ++ LZ4F_compressUpdate@Base 0.0~r127 ++ LZ4F_compressionLevel_max@Base 1.8.0 ++ LZ4F_createCDict@Base 1.8.1.2 ++ LZ4F_createCompressionContext@Base 0.0~r127 ++ LZ4F_createDecompressionContext@Base 0.0~r127 ++ LZ4F_decompress@Base 0.0~r127 ++ LZ4F_decompress_usingDict@Base 1.8.1.2 ++ LZ4F_flush@Base 0.0~r127 ++ LZ4F_freeCDict@Base 1.8.1.2 ++ LZ4F_freeCompressionContext@Base 0.0~r127 ++ LZ4F_freeDecompressionContext@Base 0.0~r127 ++ LZ4F_getBlockSize@Base 1.9.1 ++ LZ4F_getErrorCode@Base 1.8.1.2 ++ LZ4F_getErrorName@Base 0.0~r127 ++ LZ4F_getFrameInfo@Base 0.0~r127 ++ LZ4F_getVersion@Base 1.7.5 ++ LZ4F_headerSize@Base 1.9.3 ++ LZ4F_isError@Base 0.0~r127 ++ LZ4F_resetDecompressionContext@Base 1.8.0 ++ LZ4_compress@Base 0.0~r113 ++ LZ4_compressBound@Base 0.0~r114 ++ LZ4_compressHC2@Base 0.0~r113 ++ LZ4_compressHC2_continue@Base 0.0~r113 ++ LZ4_compressHC2_limitedOutput@Base 0.0~r113 ++ LZ4_compressHC2_limitedOutput_continue@Base 0.0~r113 ++ LZ4_compressHC2_limitedOutput_withStateHC@Base 0.0~r113 ++ LZ4_compressHC2_withStateHC@Base 0.0~r113 ++ LZ4_compressHC@Base 0.0~r113 ++ LZ4_compressHC_continue@Base 0.0~r113 ++ LZ4_compressHC_limitedOutput@Base 0.0~r113 ++ LZ4_compressHC_limitedOutput_continue@Base 0.0~r113 ++ LZ4_compressHC_limitedOutput_withStateHC@Base 0.0~r113 ++ LZ4_compressHC_withStateHC@Base 0.0~r113 ++ LZ4_compress_HC@Base 0.0~r130 ++ LZ4_compress_HC_continue@Base 0.0~r130 ++ LZ4_compress_HC_continue_destSize@Base 1.9.1 ++ LZ4_compress_HC_destSize@Base 1.9.1 ++ LZ4_compress_HC_extStateHC@Base 0.0~r130 ++ LZ4_compress_continue@Base 0.0~r113 ++ LZ4_compress_default@Base 0.0~r130 ++ LZ4_compress_destSize@Base 0.0~r130 ++ LZ4_compress_fast@Base 0.0~r130 ++ LZ4_compress_fast_continue@Base 0.0~r130 ++ LZ4_compress_fast_extState@Base 0.0~r130 ++ LZ4_compress_limitedOutput@Base 0.0~r113 ++ LZ4_compress_limitedOutput_continue@Base 0.0~r113 ++ LZ4_compress_limitedOutput_withState@Base 0.0~r113 ++ LZ4_compress_withState@Base 0.0~r113 ++ LZ4_create@Base 0.0~r113 ++ LZ4_createHC@Base 0.0~r113 ++ LZ4_createStream@Base 0.0~r119 ++ LZ4_createStreamDecode@Base 0.0~r119 ++ LZ4_createStreamHC@Base 0.0~r127 ++ LZ4_decoderRingBufferSize@Base 1.8.2 ++ LZ4_decompress_fast@Base 0.0~r113 ++ LZ4_decompress_fast_continue@Base 0.0~r119 ++ LZ4_decompress_fast_usingDict@Base 0.0~r119 ++ LZ4_decompress_fast_withPrefix64k@Base 0.0~r113 ++ LZ4_decompress_safe@Base 0.0~r113 ++ LZ4_decompress_safe_continue@Base 0.0~r119 ++ LZ4_decompress_safe_partial@Base 0.0~r113 ++ LZ4_decompress_safe_usingDict@Base 0.0~r119 ++ LZ4_decompress_safe_withPrefix64k@Base 0.0~r113 ++ LZ4_freeHC@Base 0.0~r113 ++ LZ4_freeStream@Base 0.0~r122 ++ LZ4_freeStreamDecode@Base 0.0~r122 ++ LZ4_freeStreamHC@Base 0.0~r127 ++ LZ4_initStream@Base 1.9.1 ++ LZ4_initStreamHC@Base 1.9.1 ++ LZ4_loadDict@Base 0.0~r119 ++ LZ4_loadDictHC@Base 0.0~r127 ++ LZ4_resetStream@Base 0.0~r122 ++ LZ4_resetStreamHC@Base 0.0~r127 ++ LZ4_resetStreamHC_fast@Base 1.9.1 ++ LZ4_resetStreamState@Base 0.0~r113 ++ LZ4_resetStreamStateHC@Base 0.0~r113 ++ LZ4_resetStream_fast@Base 1.8.2 ++ LZ4_saveDict@Base 0.0~r119 ++ LZ4_saveDictHC@Base 0.0~r127 ++ LZ4_setStreamDecode@Base 0.0~r122 ++ LZ4_sizeofState@Base 0.0~r113 ++ LZ4_sizeofStateHC@Base 0.0~r113 ++ LZ4_sizeofStreamState@Base 0.0~r113 ++ LZ4_sizeofStreamStateHC@Base 0.0~r113 ++ LZ4_slideInputBuffer@Base 0.0~r113 ++ LZ4_slideInputBufferHC@Base 0.0~r113 ++ LZ4_uncompress@Base 0.0~r114 ++ LZ4_uncompress_unknownOutputSize@Base 0.0~r114 ++ LZ4_versionNumber@Base 0.0~r122 ++ LZ4_versionString@Base 1.8.0 diff --cc debian/liblz4-dev.install index 0000000,0000000..76f28fa new file mode 100644 --- /dev/null +++ b/debian/liblz4-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/include/* ++usr/lib/*/lib*.a ++usr/lib/*/lib*.so ++usr/lib/*/pkgconfig/* diff --cc debian/lz4.install index 0000000,0000000..1df36c6 new file mode 100644 --- /dev/null +++ b/debian/lz4.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/bin/* diff --cc debian/lz4.manpages index 0000000,0000000..4450a71 new file mode 100644 --- /dev/null +++ b/debian/lz4.manpages @@@ -1,0 -1,0 +1,1 @@@ ++debian/tmp/usr/share/man/man1/*.1 diff --cc debian/patches/0001-Show-build-info.patch index 0000000,0000000..f9bb72f new file mode 100644 --- /dev/null +++ b/debian/patches/0001-Show-build-info.patch @@@ -1,0 -1,0 +1,763 @@@ ++From 4ac56c7f97e3a02e26e404cf867d3d209305622b Mon Sep 17 00:00:00 2001 ++From: Nobuhiro Iwamatsu ++Date: Fri, 18 Dec 2020 23:47:44 +0900 ++Subject: [PATCH 1/4] Show build info ++ ++Signed-off-by: Nobuhiro Iwamatsu ++--- ++ Makefile | 50 ++++++++-------- ++ contrib/djgpp/Makefile | 60 +++++++++---------- ++ contrib/gen_manual/Makefile | 4 +- ++ examples/Makefile | 20 +++---- ++ lib/Makefile | 20 +++---- ++ lib/dll/example/Makefile | 4 +- ++ programs/Makefile | 52 ++++++++-------- ++ tests/Makefile | 116 ++++++++++++++++++------------------ ++ 8 files changed, 163 insertions(+), 163 deletions(-) ++ ++diff --git a/Makefile b/Makefile ++index 744005f..f4a9692 100644 ++--- a/Makefile +++++ b/Makefile ++@@ -50,14 +50,14 @@ allmost: lib lz4 ++ .PHONY: lib lib-release liblz4.a ++ lib: liblz4.a ++ lib lib-release liblz4.a: ++- @$(MAKE) -C $(LZ4DIR) $@ +++ $(MAKE) -C $(LZ4DIR) $@ ++ ++ .PHONY: lz4 lz4-release ++ lz4 : liblz4.a ++ lz4-release : lib-release ++ lz4 lz4-release : ++- @$(MAKE) -C $(PRGDIR) $@ ++- @cp $(PRGDIR)/lz4$(EXT) . +++ $(MAKE) -C $(PRGDIR) $@ +++ cp $(PRGDIR)/lz4$(EXT) . ++ ++ .PHONY: examples ++ examples: liblz4.a ++@@ -65,22 +65,22 @@ examples: liblz4.a ++ ++ .PHONY: manuals ++ manuals: ++- @$(MAKE) -C contrib/gen_manual $@ +++ $(MAKE) -C contrib/gen_manual $@ ++ ++ .PHONY: build_tests ++ build_tests: ++- @$(MAKE) -C $(TESTDIR) all +++ $(MAKE) -C $(TESTDIR) all ++ ++ .PHONY: clean ++ clean: ++- @$(MAKE) -C $(LZ4DIR) $@ > $(VOID) ++- @$(MAKE) -C $(PRGDIR) $@ > $(VOID) ++- @$(MAKE) -C $(TESTDIR) $@ > $(VOID) ++- @$(MAKE) -C $(EXDIR) $@ > $(VOID) ++- @$(MAKE) -C $(FUZZDIR) $@ > $(VOID) ++- @$(MAKE) -C contrib/gen_manual $@ > $(VOID) ++- @$(RM) lz4$(EXT) ++- @echo Cleaning completed +++ $(MAKE) -C $(LZ4DIR) $@ > $(VOID) +++ $(MAKE) -C $(PRGDIR) $@ > $(VOID) +++ $(MAKE) -C $(TESTDIR) $@ > $(VOID) +++ $(MAKE) -C $(EXDIR) $@ > $(VOID) +++ $(MAKE) -C $(FUZZDIR) $@ > $(VOID) +++ $(MAKE) -C contrib/gen_manual $@ > $(VOID) +++ $(RM) lz4$(EXT) +++ echo Cleaning completed ++ ++ ++ #----------------------------------------------------------------------------- ++@@ -91,14 +91,14 @@ HOST_OS = POSIX ++ ++ .PHONY: install uninstall ++ install uninstall: ++- @$(MAKE) -C $(LZ4DIR) $@ ++- @$(MAKE) -C $(PRGDIR) $@ +++ $(MAKE) -C $(LZ4DIR) $@ +++ $(MAKE) -C $(PRGDIR) $@ ++ ++ travis-install: ++ $(MAKE) -j1 install DESTDIR=~/install_test_dir ++ ++ cmake: ++- @cd build/cmake; cmake $(CMAKE_PARAMS) CMakeLists.txt; $(MAKE) +++ cd build/cmake; cmake $(CMAKE_PARAMS) CMakeLists.txt; $(MAKE) ++ ++ endif ++ ++@@ -116,7 +116,7 @@ ifneq (,$(filter $(HOST_OS),MSYS POSIX)) ++ ++ .PHONY: list ++ list: ++- @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs +++ $(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs ++ ++ .PHONY: check ++ check: ++@@ -132,15 +132,15 @@ clangtest: CFLAGS += -Werror -Wconversion -Wno-sign-conversion ++ clangtest: CC = clang ++ clangtest: clean ++ $(CC) -v ++- @CFLAGS="$(CFLAGS)" $(MAKE) -C $(LZ4DIR) all CC=$(CC) ++- @CFLAGS="$(CFLAGS)" $(MAKE) -C $(PRGDIR) all CC=$(CC) ++- @CFLAGS="$(CFLAGS)" $(MAKE) -C $(TESTDIR) all CC=$(CC) +++ CFLAGS="$(CFLAGS)" $(MAKE) -C $(LZ4DIR) all CC=$(CC) +++ CFLAGS="$(CFLAGS)" $(MAKE) -C $(PRGDIR) all CC=$(CC) +++ CFLAGS="$(CFLAGS)" $(MAKE) -C $(TESTDIR) all CC=$(CC) ++ ++ clangtest-native: clean ++ clang -v ++- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(LZ4DIR) all CC=clang ++- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(PRGDIR) native CC=clang ++- @CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(TESTDIR) native CC=clang +++ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(LZ4DIR) all CC=clang +++ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(PRGDIR) native CC=clang +++ CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(TESTDIR) native CC=clang ++ ++ usan: CC = clang ++ usan: CFLAGS = -O3 -g -fsanitize=undefined -fno-sanitize-recover=undefined -fsanitize-recover=pointer-overflow ++@@ -162,8 +162,8 @@ cppcheck: ++ cppcheck . --force --enable=warning,portability,performance,style --error-exitcode=1 > /dev/null ++ ++ platformTest: clean ++- @echo "\n ---- test lz4 with $(CC) compiler ----" ++- @$(CC) -v +++ echo "\n ---- test lz4 with $(CC) compiler ----" +++ $(CC) -v ++ CFLAGS="-O3 -Werror" $(MAKE) -C $(LZ4DIR) all ++ CFLAGS="-O3 -Werror -static" $(MAKE) -C $(PRGDIR) all ++ CFLAGS="-O3 -Werror -static" $(MAKE) -C $(TESTDIR) all ++diff --git a/contrib/djgpp/Makefile b/contrib/djgpp/Makefile ++index 8cd3580..2ee4356 100644 ++--- a/contrib/djgpp/Makefile +++++ b/contrib/djgpp/Makefile ++@@ -77,50 +77,50 @@ install: $(INC) $(LIB) $(EXE) ++ rm -f .footprint ++ echo $(DESTDIR)/bin/$(EXE) >> .footprint ++ cp -v $(EXE) $(DESTDIR)/bin/ ++- @for T in $(LIB); \ +++ for T in $(LIB); \ ++ do ( \ ++ echo $(DESTDIR)/$$T >> .footprint; \ ++ cp -v --parents $$T $(DESTDIR) \ ++ ); done ++- @for T in $(INC); \ +++ for T in $(INC); \ ++ do ( \ ++ echo $(DESTDIR)/include/`basename -a $$T` >> .footprint; \ ++ cp -v $$T $(DESTDIR)/include/ \ ++ ); done ++ ++ uninstall: .footprint ++- @for T in $(shell cat .footprint); do rm -v $$T; done +++ for T in $(shell cat .footprint); do rm -v $$T; done ++ ++ -include $(SDEPS) $(LSDEPS) ++ ++ showconfig: ++- @echo "PWD="$(PWD) ++- @echo "VERSION="$(VERSION) ++- @echo "RELEASE="$(RELEASE) ++- @echo "LIBVER_MAJOR="$(LIBVER_MAJOR) ++- @echo "LIBVER_MINOR="$(LIBVER_MINOR) ++- @echo "LIBVER_PATCH="$(LIBVER_PATCH) ++- @echo "LIBVER="$(LIBVER) ++- @echo "CROSS="$(CROSS) ++- @echo "CC="$(CC) ++- @echo "AR="$(AR) ++- @echo "LD="$(LD) ++- @echo "DESTDIR="$(DESTDIR) ++- @echo "CFLAGS="$(CFLAGS) ++- @echo "LDFLAGS="$(LDFLAGS) ++- @echo "SRC="$(SRC) ++- @echo "OBJ="$(OBJ) ++- @echo "IDIR="$(IDIR) ++- @echo "INC="$(INC) ++- @echo "EDIR="$(EDIR) ++- @echo "EXE="$(EXE) ++- @echo "LDIR="$(LDIR) ++- @echo "LSRC="$(LSRC) ++- @echo "LOBJ="$(LOBJ) ++- @echo "LNK="$(LNK) ++- @echo "LIB="$(LIB) ++- @echo "SDEPS="$(SDEPS) ++- @echo "LSDEPS="$(LSDEPS) +++ echo "PWD="$(PWD) +++ echo "VERSION="$(VERSION) +++ echo "RELEASE="$(RELEASE) +++ echo "LIBVER_MAJOR="$(LIBVER_MAJOR) +++ echo "LIBVER_MINOR="$(LIBVER_MINOR) +++ echo "LIBVER_PATCH="$(LIBVER_PATCH) +++ echo "LIBVER="$(LIBVER) +++ echo "CROSS="$(CROSS) +++ echo "CC="$(CC) +++ echo "AR="$(AR) +++ echo "LD="$(LD) +++ echo "DESTDIR="$(DESTDIR) +++ echo "CFLAGS="$(CFLAGS) +++ echo "LDFLAGS="$(LDFLAGS) +++ echo "SRC="$(SRC) +++ echo "OBJ="$(OBJ) +++ echo "IDIR="$(IDIR) +++ echo "INC="$(INC) +++ echo "EDIR="$(EDIR) +++ echo "EXE="$(EXE) +++ echo "LDIR="$(LDIR) +++ echo "LSRC="$(LSRC) +++ echo "LOBJ="$(LOBJ) +++ echo "LNK="$(LNK) +++ echo "LIB="$(LIB) +++ echo "SDEPS="$(SDEPS) +++ echo "LSDEPS="$(LSDEPS) ++ ++ gstat: ++ git status ++diff --git a/contrib/gen_manual/Makefile b/contrib/gen_manual/Makefile ++index 95abe2e..4cf9d48 100644 ++--- a/contrib/gen_manual/Makefile +++++ b/contrib/gen_manual/Makefile ++@@ -72,5 +72,5 @@ manuals: gen_manual $(LZ4MANUAL) $(LZ4FMANUAL) ++ ++ .PHONY: clean ++ clean: ++- @$(RM) gen_manual$(EXT) ++- @echo Cleaning completed +++ $(RM) gen_manual$(EXT) +++ echo Cleaning completed ++diff --git a/examples/Makefile b/examples/Makefile ++index 3ec3e21..5e51976 100644 ++--- a/examples/Makefile +++++ b/examples/Makefile ++@@ -77,27 +77,27 @@ $(LZ4) : ++ $(MAKE) -C ../programs lz4 ++ ++ test : all $(LZ4) ++- @echo "\n=== Print Version ===" +++ echo "\n=== Print Version ===" ++ ./printVersion$(EXT) ++- @echo "\n=== Simple compression example ===" +++ echo "\n=== Simple compression example ===" ++ ./simpleBuffer$(EXT) ++- @echo "\n=== Double-buffer ===" +++ echo "\n=== Double-buffer ===" ++ ./doubleBuffer$(EXT) $(TESTFILE) ++- @echo "\n=== Ring Buffer ===" +++ echo "\n=== Ring Buffer ===" ++ ./ringBuffer$(EXT) $(TESTFILE) ++- @echo "\n=== Ring Buffer + LZ4 HC ===" +++ echo "\n=== Ring Buffer + LZ4 HC ===" ++ ./ringBufferHC$(EXT) $(TESTFILE) ++- @echo "\n=== Compress line by line ===" +++ echo "\n=== Compress line by line ===" ++ ./lineCompress$(EXT) $(TESTFILE) ++- @echo "\n=== Dictionary Random Access ===" +++ echo "\n=== Dictionary Random Access ===" ++ ./dictionaryRandomAccess$(EXT) $(TESTFILE) $(TESTFILE) 1100 1400 ++- @echo "\n=== Frame compression ===" +++ echo "\n=== Frame compression ===" ++ ./frameCompress$(EXT) $(TESTFILE) ++ $(LZ4) -vt $(TESTFILE).lz4 ++ ++ clean: ++- @rm -f core *.o *.dec *-0 *-9 *-8192 *.lz4s *.lz4 \ +++ rm -f core *.o *.dec *-0 *-9 *-8192 *.lz4s *.lz4 \ ++ printVersion$(EXT) doubleBuffer$(EXT) dictionaryRandomAccess$(EXT) \ ++ ringBuffer$(EXT) ringBufferHC$(EXT) lineCompress$(EXT) frameCompress$(EXT) \ ++ compressFunctions$(EXT) simpleBuffer$(EXT) ++- @echo Cleaning completed +++ echo Cleaning completed ++diff --git a/lib/Makefile b/lib/Makefile ++index c12949b..c412d22 100644 ++--- a/lib/Makefile +++++ b/lib/Makefile ++@@ -86,14 +86,14 @@ all32: all ++ ++ liblz4.a: $(SRCFILES) ++ ifeq ($(BUILD_STATIC),yes) # can be disabled on command line ++- @echo compiling static library +++ echo compiling static library ++ $(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c $^ ++ $(Q)$(AR) rcs $@ *.o ++ endif ++ ++ ifeq ($(WINBASED),yes) ++ liblz4-dll.rc: liblz4-dll.rc.in ++- @echo creating library resource +++ echo creating library resource ++ $(Q)sed -e 's|@LIBLZ4@|$(LIBLZ4)|' \ ++ -e 's|@LIBVER_MAJOR@|$(LIBVER_MAJOR)|g' \ ++ -e 's|@LIBVER_MINOR@|$(LIBVER_MINOR)|g' \ ++@@ -108,12 +108,12 @@ else ++ $(LIBLZ4): $(SRCFILES) ++ endif ++ ifeq ($(BUILD_SHARED),yes) # can be disabled on command line ++- @echo compiling dynamic library $(LIBVER) +++ echo compiling dynamic library $(LIBVER) ++ ifeq ($(WINBASED),yes) ++ $(Q)$(CC) $(FLAGS) -DLZ4_DLL_EXPORT=1 -shared $^ -o dll/$@.dll -Wl,--out-implib,dll/$(LIBLZ4_EXP) ++ else ++ $(Q)$(CC) $(FLAGS) -shared $^ -fPIC -fvisibility=hidden $(SONAME_FLAGS) -o $@ ++- @echo creating versioned links +++ echo creating versioned links ++ $(Q)$(LN_SF) $@ liblz4.$(SHARED_EXT_MAJOR) ++ $(Q)$(LN_SF) $@ liblz4.$(SHARED_EXT) ++ endif ++@@ -129,7 +129,7 @@ ifeq ($(WINBASED),yes) ++ endif ++ $(Q)$(RM) core *.o liblz4.pc dll/$(LIBLZ4).dll dll/$(LIBLZ4_EXP) ++ $(Q)$(RM) *.a *.$(SHARED_EXT) *.$(SHARED_EXT_MAJOR) *.$(SHARED_EXT_VER) ++- @echo Cleaning library completed +++ echo Cleaning library completed ++ ++ #----------------------------------------------------------------------------- ++ # make install is validated only for Linux, OSX, BSD, Hurd and Solaris targets ++@@ -163,7 +163,7 @@ PKGCONFIGDIR ?= $(libdir)/pkgconfig ++ pkgconfigdir ?= $(PKGCONFIGDIR) ++ ++ liblz4.pc: liblz4.pc.in Makefile ++- @echo creating pkgconfig +++ echo creating pkgconfig ++ $(Q)sed -e 's|@PREFIX@|$(prefix)|' \ ++ -e 's|@LIBDIR@|$(libdir)|' \ ++ -e 's|@INCLUDEDIR@|$(includedir)|' \ ++@@ -173,7 +173,7 @@ liblz4.pc: liblz4.pc.in Makefile ++ install: lib liblz4.pc ++ $(Q)$(INSTALL_DIR) $(DESTDIR)$(pkgconfigdir)/ $(DESTDIR)$(includedir)/ $(DESTDIR)$(libdir)/ $(DESTDIR)$(bindir)/ ++ $(Q)$(INSTALL_DATA) liblz4.pc $(DESTDIR)$(pkgconfigdir)/ ++- @echo Installing libraries +++ echo Installing libraries ++ ifeq ($(BUILD_STATIC),yes) ++ $(Q)$(INSTALL_DATA) liblz4.a $(DESTDIR)$(libdir)/liblz4.a ++ $(Q)$(INSTALL_DATA) lz4frame_static.h $(DESTDIR)$(includedir)/lz4frame_static.h ++@@ -191,11 +191,11 @@ install: lib liblz4.pc ++ $(Q)$(LN_SF) liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(libdir)/liblz4.$(SHARED_EXT) ++ endif ++ endif ++- @echo Installing headers in $(includedir) +++ echo Installing headers in $(includedir) ++ $(Q)$(INSTALL_DATA) lz4.h $(DESTDIR)$(includedir)/lz4.h ++ $(Q)$(INSTALL_DATA) lz4hc.h $(DESTDIR)$(includedir)/lz4hc.h ++ $(Q)$(INSTALL_DATA) lz4frame.h $(DESTDIR)$(includedir)/lz4frame.h ++- @echo lz4 libraries installed +++ echo lz4 libraries installed ++ ++ uninstall: ++ $(Q)$(RM) $(DESTDIR)$(pkgconfigdir)/liblz4.pc ++@@ -212,6 +212,6 @@ uninstall: ++ $(Q)$(RM) $(DESTDIR)$(includedir)/lz4hc.h ++ $(Q)$(RM) $(DESTDIR)$(includedir)/lz4frame.h ++ $(Q)$(RM) $(DESTDIR)$(includedir)/lz4frame_static.h ++- @echo lz4 libraries successfully uninstalled +++ echo lz4 libraries successfully uninstalled ++ ++ endif ++diff --git a/lib/dll/example/Makefile b/lib/dll/example/Makefile ++index e987956..43aaf17 100644 ++--- a/lib/dll/example/Makefile +++++ b/lib/dll/example/Makefile ++@@ -59,5 +59,5 @@ fullbench-dll: fullbench.c xxhash.c ++ $(CC) $(FLAGS) $^ -o $@$(EXT) -DLZ4_DLL_IMPORT=1 $(DLLDIR)/liblz4.dll ++ ++ clean: ++- @$(RM) fullbench-dll$(EXT) fullbench-lib$(EXT) \ ++- @echo Cleaning completed +++ $(RM) fullbench-dll$(EXT) fullbench-lib$(EXT) \ +++ echo Cleaning completed ++diff --git a/programs/Makefile b/programs/Makefile ++index c1053f6..288f2c4 100644 ++--- a/programs/Makefile +++++ b/programs/Makefile ++@@ -68,7 +68,7 @@ all32: all ++ ++ ifeq ($(WINBASED),yes) ++ lz4-exe.rc: lz4-exe.rc.in ++- @echo creating executable resource +++ echo creating executable resource ++ $(Q)sed -e 's|@PROGNAME@|lz4|' \ ++ -e 's|@LIBVER_MAJOR@|$(LIBVER_MAJOR)|g' \ ++ -e 's|@LIBVER_MINOR@|$(LIBVER_MINOR)|g' \ ++@@ -95,7 +95,7 @@ lz4-wlib: SRCFILES+= $(LZ4DIR)/xxhash.c # benchmark unit needs XXH64() ++ lz4-wlib: LDFLAGS += -L $(LZ4DIR) ++ lz4-wlib: LDLIBS = -llz4 ++ lz4-wlib: liblz4 $(OBJFILES) ++- @echo WARNING: $@ must link to an extended variant of the dynamic library which also exposes unstable symbols +++ echo WARNING: $@ must link to an extended variant of the dynamic library which also exposes unstable symbols ++ $(CC) $(FLAGS) $(OBJFILES) -o $@$(EXT) $(LDLIBS) ++ ++ .PHONY:liblz4 ++@@ -124,11 +124,11 @@ clean: ++ ifeq ($(WINBASED),yes) ++ $(Q)$(RM) *.rc ++ endif ++- @$(MAKE) -C $(LZ4DIR) $@ > $(VOID) ++- @$(RM) core *.o *.test tmp* \ +++ $(MAKE) -C $(LZ4DIR) $@ > $(VOID) +++ $(RM) core *.o *.test tmp* \ ++ lz4$(EXT) lz4c$(EXT) lz4c32$(EXT) lz4-wlib$(EXT) \ ++ unlz4$(EXT) lz4cat$(EXT) ++- @echo Cleaning completed +++ echo Cleaning completed ++ ++ ++ #----------------------------------------------------------------------------- ++@@ -160,28 +160,28 @@ MAN1DIR ?= $(mandir)/man1 ++ man1dir ?= $(MAN1DIR) ++ ++ install: lz4 ++- @echo Installing binaries ++- @$(INSTALL_DIR) $(DESTDIR)$(bindir)/ $(DESTDIR)$(man1dir)/ ++- @$(INSTALL_PROGRAM) lz4$(EXT) $(DESTDIR)$(bindir)/lz4$(EXT) ++- @$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4c$(EXT) ++- @$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4cat$(EXT) ++- @$(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/unlz4$(EXT) ++- @echo Installing man pages ++- @$(INSTALL_DATA) lz4.1 $(DESTDIR)$(man1dir)/lz4.1 ++- @$(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4c.1 ++- @$(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4cat.1 ++- @$(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/unlz4.1 ++- @echo lz4 installation completed +++ echo Installing binaries +++ $(INSTALL_DIR) $(DESTDIR)$(bindir)/ $(DESTDIR)$(man1dir)/ +++ $(INSTALL_PROGRAM) lz4$(EXT) $(DESTDIR)$(bindir)/lz4$(EXT) +++ $(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4c$(EXT) +++ $(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/lz4cat$(EXT) +++ $(LN_S) lz4$(EXT) $(DESTDIR)$(bindir)/unlz4$(EXT) +++ echo Installing man pages +++ $(INSTALL_DATA) lz4.1 $(DESTDIR)$(man1dir)/lz4.1 +++ $(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4c.1 +++ $(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/lz4cat.1 +++ $(LN_SF) lz4.1 $(DESTDIR)$(man1dir)/unlz4.1 +++ echo lz4 installation completed ++ ++ uninstall: ++- @$(RM) $(DESTDIR)$(bindir)/lz4cat$(EXT) ++- @$(RM) $(DESTDIR)$(bindir)/unlz4$(EXT) ++- @$(RM) $(DESTDIR)$(bindir)/lz4$(EXT) ++- @$(RM) $(DESTDIR)$(bindir)/lz4c$(EXT) ++- @$(RM) $(DESTDIR)$(man1dir)/lz4.1 ++- @$(RM) $(DESTDIR)$(man1dir)/lz4c.1 ++- @$(RM) $(DESTDIR)$(man1dir)/lz4cat.1 ++- @$(RM) $(DESTDIR)$(man1dir)/unlz4.1 ++- @echo lz4 programs successfully uninstalled +++ $(RM) $(DESTDIR)$(bindir)/lz4cat$(EXT) +++ $(RM) $(DESTDIR)$(bindir)/unlz4$(EXT) +++ $(RM) $(DESTDIR)$(bindir)/lz4$(EXT) +++ $(RM) $(DESTDIR)$(bindir)/lz4c$(EXT) +++ $(RM) $(DESTDIR)$(man1dir)/lz4.1 +++ $(RM) $(DESTDIR)$(man1dir)/lz4c.1 +++ $(RM) $(DESTDIR)$(man1dir)/lz4cat.1 +++ $(RM) $(DESTDIR)$(man1dir)/unlz4.1 +++ echo lz4 programs successfully uninstalled ++ ++ endif ++diff --git a/tests/Makefile b/tests/Makefile ++index 6eee132..55e43ab 100644 ++--- a/tests/Makefile +++++ b/tests/Makefile ++@@ -114,9 +114,9 @@ decompress-partial: lz4.o decompress-partial.c ++ ++ .PHONY: clean ++ clean: ++- @$(MAKE) -C $(LZ4DIR) $@ > $(VOID) ++- @$(MAKE) -C $(PRGDIR) $@ > $(VOID) ++- @$(RM) -rf core *.o *.test tmp* \ +++ $(MAKE) -C $(LZ4DIR) $@ > $(VOID) +++ $(MAKE) -C $(PRGDIR) $@ > $(VOID) +++ $(RM) -rf core *.o *.test tmp* \ ++ fullbench-dll$(EXT) fullbench-lib$(EXT) \ ++ fullbench$(EXT) fullbench32$(EXT) \ ++ fuzzer$(EXT) fuzzer32$(EXT) \ ++@@ -125,8 +125,8 @@ clean: ++ datagen$(EXT) checkTag$(EXT) \ ++ frameTest$(EXT) decompress-partial$(EXT) \ ++ lz4_all.c ++- @$(RM) -rf $(TESTDIR) ++- @echo Cleaning completed +++ $(RM) -rf $(TESTDIR) +++ echo Cleaning completed ++ ++ .PHONY: versionsTest ++ versionsTest: ++@@ -162,7 +162,7 @@ DATAGEN:=./datagen ++ ++ .PHONY: list ++ list: ++- @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs +++ $(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs ++ ++ .PHONY: check ++ check: test-lz4-essentials ++@@ -183,7 +183,7 @@ test-install: lz4 lib liblz4.pc ++ lz4_root=.. ./test_install.sh ++ ++ test-lz4-sparse: lz4 datagen ++- @echo "\n ---- test sparse file support ----" +++ echo "\n ---- test sparse file support ----" ++ $(DATAGEN) -g5M -P100 > tmplsdg5M ++ $(LZ4) -B4D tmplsdg5M -c | $(LZ4) -dv --sparse > tmplscB4 ++ $(DIFF) -s tmplsdg5M tmplscB4 ++@@ -199,12 +199,12 @@ test-lz4-sparse: lz4 datagen ++ $(DATAGEN) -s1 -g1200007 -P100 | $(LZ4) | $(LZ4) -dv --sparse > tmplsodd # Odd size file (to generate non-full last block) ++ $(DATAGEN) -s1 -g1200007 -P100 | $(DIFF) -s - tmplsodd ++ ls -ls tmplsodd ++- @$(RM) tmpls* ++- @echo "\n Compatibility with Console :" +++ $(RM) tmpls* +++ echo "\n Compatibility with Console :" ++ echo "Hello World 1 !" | $(LZ4) | $(LZ4) -d -c ++ echo "Hello World 2 !" | $(LZ4) | $(LZ4) -d | $(CAT) ++ echo "Hello World 3 !" | $(LZ4) --no-frame-crc | $(LZ4) -d -c ++- @echo "\n Compatibility with Append :" +++ echo "\n Compatibility with Append :" ++ $(DATAGEN) -P100 -g1M > tmplsdg1M ++ $(CAT) tmplsdg1M tmplsdg1M > tmpls2M ++ $(LZ4) -B5 -v tmplsdg1M tmplsc ++@@ -212,10 +212,10 @@ test-lz4-sparse: lz4 datagen ++ $(LZ4) -d -v tmplsc -c >> tmplsr ++ ls -ls tmp* ++ $(DIFF) tmpls2M tmplsr ++- @$(RM) tmpls* +++ $(RM) tmpls* ++ ++ test-lz4-contentSize: lz4 datagen ++- @echo "\n ---- test original size support ----" +++ echo "\n ---- test original size support ----" ++ $(DATAGEN) -g15M > tmplc1 ++ $(LZ4) -v tmplc1 -c | $(LZ4) -t ++ $(LZ4) -v --content-size tmplc1 -c | $(LZ4) -d > tmplc2 ++@@ -229,26 +229,26 @@ test-lz4-contentSize: lz4 datagen ++ $(DIFF) tmplc1.lz4 tmplc4.lz4 # both don't have content size ++ $(CAT) tmplc1 | $(LZ4) --content-size > tmplc5.lz4 # can't determine content size ++ $(DIFF) tmplc1.lz4 tmplc5.lz4 # both don't have content size ++- @$(RM) tmplc* +++ $(RM) tmplc* ++ ++ test-lz4-frame-concatenation: lz4 datagen ++- @echo "\n ---- test frame concatenation ----" ++- @echo -n > tmp-lfc-empty ++- @echo hi > tmp-lfc-nonempty +++ echo "\n ---- test frame concatenation ----" +++ echo -n > tmp-lfc-empty +++ echo hi > tmp-lfc-nonempty ++ $(CAT) tmp-lfc-nonempty tmp-lfc-empty tmp-lfc-nonempty > tmp-lfc-src ++ $(LZ4) -zq tmp-lfc-empty -c > tmp-lfc-empty.lz4 ++ $(LZ4) -zq tmp-lfc-nonempty -c > tmp-lfc-nonempty.lz4 ++ $(CAT) tmp-lfc-nonempty.lz4 tmp-lfc-empty.lz4 tmp-lfc-nonempty.lz4 > tmp-lfc-concat.lz4 ++ $(LZ4) -d tmp-lfc-concat.lz4 -c > tmp-lfc-result ++ $(CMP) tmp-lfc-src tmp-lfc-result ++- @$(RM) tmp-lfc-* ++- @echo frame concatenation test completed +++ $(RM) tmp-lfc-* +++ echo frame concatenation test completed ++ ++ test-lz4-multiple: lz4 datagen ++- @echo "\n ---- test multiple files ----" ++- @$(DATAGEN) -s1 > tmp-tlm1 2> $(VOID) ++- @$(DATAGEN) -s2 -g100K > tmp-tlm2 2> $(VOID) ++- @$(DATAGEN) -s3 -g200K > tmp-tlm3 2> $(VOID) +++ echo "\n ---- test multiple files ----" +++ $(DATAGEN) -s1 > tmp-tlm1 2> $(VOID) +++ $(DATAGEN) -s2 -g100K > tmp-tlm2 2> $(VOID) +++ $(DATAGEN) -s3 -g200K > tmp-tlm3 2> $(VOID) ++ # compress multiple files : one .lz4 per source file ++ $(LZ4) -f -m tmp-tlm* ++ test -f tmp-tlm1.lz4 ++@@ -278,13 +278,13 @@ test-lz4-multiple: lz4 datagen ++ $(CMP) tmp-tlm-concat1 tmp-tlm-concat2 # must be equivalent ++ # compress multiple files, one of which is absent (must fail) ++ ! $(LZ4) -f -m tmp-tlm-concat1 notHere tmp-tlm-concat2 # must fail : notHere not present ++- @$(RM) tmp-tlm* +++ $(RM) tmp-tlm* ++ ++ test-lz4-multiple-legacy: lz4 datagen ++- @echo "\n ---- test multiple files (Legacy format) ----" ++- @$(DATAGEN) -s1 > tmp-tlm1 2> $(VOID) ++- @$(DATAGEN) -s2 -g100K > tmp-tlm2 2> $(VOID) ++- @$(DATAGEN) -s3 -g200K > tmp-tlm3 2> $(VOID) +++ echo "\n ---- test multiple files (Legacy format) ----" +++ $(DATAGEN) -s1 > tmp-tlm1 2> $(VOID) +++ $(DATAGEN) -s2 -g100K > tmp-tlm2 2> $(VOID) +++ $(DATAGEN) -s3 -g200K > tmp-tlm3 2> $(VOID) ++ # compress multiple files using legacy format: one .lz4 per source file ++ $(LZ4) -f -l -m tmp-tlm* ++ test -f tmp-tlm1.lz4 ++@@ -316,10 +316,10 @@ test-lz4-multiple-legacy: lz4 datagen ++ $(CMP) tmp-tlm-concat1 tmp-tlm-concat2 # must be equivalent ++ # # # compress multiple files, one of which is absent (must fail) ++ ! $(LZ4) -f -l -m tmp-tlm-concat1 notHere-legacy tmp-tlm-concat2 # must fail : notHere-legacy not present ++- @$(RM) tmp-tlm* +++ $(RM) tmp-tlm* ++ ++ test-lz4-basic: lz4 datagen unlz4 lz4cat ++- @echo "\n ---- test lz4 basic compression/decompression ----" +++ echo "\n ---- test lz4 basic compression/decompression ----" ++ $(DATAGEN) -g0 | $(LZ4) -v | $(LZ4) -t ++ $(DATAGEN) -g16KB | $(LZ4) -9 | $(LZ4) -t ++ $(DATAGEN) -g20KB > tmp-tlb-dg20k ++@@ -332,7 +332,7 @@ test-lz4-basic: lz4 datagen unlz4 lz4cat ++ $(DATAGEN) -g17M | $(LZ4) -9v | $(LZ4) -qt ++ $(DATAGEN) -g33M | $(LZ4) --no-frame-crc | $(LZ4) -t ++ $(DATAGEN) -g256MB | $(LZ4) -vqB4D | $(LZ4) -t ++- @echo "hello world" > tmp-tlb-hw +++ echo "hello world" > tmp-tlb-hw ++ $(LZ4) --rm -f tmp-tlb-hw tmp-tlb-hw.lz4 ++ test ! -f tmp-tlb-hw # must fail (--rm) ++ test -f tmp-tlb-hw.lz4 ++@@ -373,16 +373,16 @@ test-lz4-basic: lz4 datagen unlz4 lz4cat ++ # High --fast values can result in out-of-bound dereferences #876 ++ $(DATAGEN) -g1M | $(LZ4) -c --fast=999999999 > /dev/null ++ # Test for #596 ++- @echo "TEST" > tmp-tlb-test +++ echo "TEST" > tmp-tlb-test ++ $(LZ4) -m tmp-tlb-test ++ $(LZ4) tmp-tlb-test.lz4 tmp-tlb-test2 ++ $(DIFF) -q tmp-tlb-test tmp-tlb-test2 ++- @$(RM) tmp-tlb* +++ $(RM) tmp-tlb* ++ ++ ++ ++ test-lz4-dict: lz4 datagen ++- @echo "\n ---- test lz4 compression/decompression with dictionary ----" +++ echo "\n ---- test lz4 compression/decompression with dictionary ----" ++ $(DATAGEN) -g16KB > tmp-dict ++ $(DATAGEN) -g32KB > tmp-dict-sample-32k ++ < tmp-dict-sample-32k $(LZ4) -D tmp-dict | $(LZ4) -dD tmp-dict | diff - tmp-dict-sample-32k ++@@ -394,7 +394,7 @@ test-lz4-dict: lz4 datagen ++ < tmp-dict-sample-32k $(LZ4) -D tmp-dict-sample-0 | $(LZ4) -dD tmp-dict-sample-0 | diff - tmp-dict-sample-32k ++ < tmp-dict-sample-0 $(LZ4) -D tmp-dict-sample-0 | $(LZ4) -dD tmp-dict-sample-0 | diff - tmp-dict-sample-0 ++ ++- @echo "\n ---- test lz4 dictionary loading ----" +++ echo "\n ---- test lz4 dictionary loading ----" ++ $(DATAGEN) -g128KB > tmp-dict-data-128KB ++ set -e; \ ++ for l in 0 1 4 128 32767 32768 32769 65535 65536 65537 98303 98304 98305 131071 131072 131073; do \ ++@@ -404,45 +404,45 @@ test-lz4-dict: lz4 datagen ++ < tmp-dict-$$l-tail $(LZ4) -D stdin tmp-dict-data-128KB -c | $(LZ4) -dD tmp-dict-$$l | $(DIFF) - tmp-dict-data-128KB; \ ++ done ++ ++- @$(RM) tmp-dict* +++ $(RM) tmp-dict* ++ ++ test-lz4-hugefile: lz4 datagen ++- @echo "\n ---- test huge files compression/decompression ----" +++ echo "\n ---- test huge files compression/decompression ----" ++ ./datagen -g6GB | $(LZ4) -vB5D | $(LZ4) -qt ++ ./datagen -g4500MB | $(LZ4) -v3BD | $(LZ4) -qt ++ # test large file size [2-4] GB ++- @$(DATAGEN) -g3G -P100 | $(LZ4) -vv | $(LZ4) --decompress --force --sparse - tmphf1 ++- @ls -ls tmphf1 ++- @$(DATAGEN) -g3G -P100 | $(LZ4) --quiet --content-size | $(LZ4) --verbose --decompress --force --sparse - tmphf2 ++- @ls -ls tmphf2 +++ $(DATAGEN) -g3G -P100 | $(LZ4) -vv | $(LZ4) --decompress --force --sparse - tmphf1 +++ ls -ls tmphf1 +++ $(DATAGEN) -g3G -P100 | $(LZ4) --quiet --content-size | $(LZ4) --verbose --decompress --force --sparse - tmphf2 +++ ls -ls tmphf2 ++ $(DIFF) -s tmphf1 tmphf2 ++- @$(RM) tmphf* +++ $(RM) tmphf* ++ ++ test-lz4-testmode: lz4 datagen ++- @echo "\n ---- bench mode ----" +++ echo "\n ---- bench mode ----" ++ $(LZ4) -bi0 ++- @echo "\n ---- test mode ----" +++ echo "\n ---- test mode ----" ++ ! $(DATAGEN) | $(LZ4) -t ++ ! $(DATAGEN) | $(LZ4) -tf ++- @echo "\n ---- pass-through mode ----" ++- @echo "Why hello there " > tmp-tlt2.lz4 +++ echo "\n ---- pass-through mode ----" +++ echo "Why hello there " > tmp-tlt2.lz4 ++ ! $(LZ4) -f tmp-tlt2.lz4 > $(VOID) ++ ! $(DATAGEN) | $(LZ4) -dc > $(VOID) ++ ! $(DATAGEN) | $(LZ4) -df > $(VOID) ++ $(DATAGEN) | $(LZ4) -dcf > $(VOID) ++- @echo "Hello World !" > tmp-tlt1 +++ echo "Hello World !" > tmp-tlt1 ++ $(LZ4) -dcf tmp-tlt1 ++- @echo "from underground..." > tmp-tlt2 +++ echo "from underground..." > tmp-tlt2 ++ $(LZ4) -dcfm tmp-tlt1 tmp-tlt2 ++- @echo "\n ---- non-existing source ----" +++ echo "\n ---- non-existing source ----" ++ ! $(LZ4) file-does-not-exist ++ ! $(LZ4) -f file-does-not-exist ++ ! $(LZ4) -t file-does-not-exist ++ ! $(LZ4) -fm file1-dne file2-dne ++- @$(RM) tmp-tlt tmp-tlt1 tmp-tlt2 tmp-tlt2.lz4 +++ $(RM) tmp-tlt tmp-tlt1 tmp-tlt2 tmp-tlt2.lz4 ++ ++ test-lz4-opt-parser: lz4 datagen ++- @echo "\n ---- test opt-parser ----" +++ echo "\n ---- test opt-parser ----" ++ $(DATAGEN) -g16KB | $(LZ4) -12 | $(LZ4) -t ++ $(DATAGEN) -P10 | $(LZ4) -12B4 | $(LZ4) -t ++ $(DATAGEN) -g256K | $(LZ4) -12B4D | $(LZ4) -t ++@@ -457,21 +457,21 @@ test-lz4-opt-parser: lz4 datagen ++ test-lz4-essentials : lz4 datagen test-lz4-basic test-lz4-multiple test-lz4-multiple-legacy \ ++ test-lz4-frame-concatenation test-lz4-testmode \ ++ test-lz4-contentSize test-lz4-dict ++- @$(RM) tmp* +++ $(RM) tmp* ++ ++ test-lz4: lz4 datagen test-lz4-essentials test-lz4-opt-parser \ ++ test-lz4-sparse test-lz4-hugefile test-lz4-dict ++- @$(RM) tmp* +++ $(RM) tmp* ++ ++ test-lz4c: lz4c datagen ++- @echo "\n ---- test lz4c variant ----" +++ echo "\n ---- test lz4c variant ----" ++ $(DATAGEN) -g256MB | $(LZ4)c -l -v | $(LZ4)c -t ++ ++ test-lz4c32: CFLAGS+=-m32 ++ test-lz4c32: test-lz4 ++ ++ test-interop-32-64: lz4 lz4c32 datagen ++- @echo "\n ---- test interoperability 32-bits -vs- 64 bits ----" +++ echo "\n ---- test interoperability 32-bits -vs- 64 bits ----" ++ $(DATAGEN) -g16KB | $(LZ4)c32 -9 | $(LZ4) -t ++ $(DATAGEN) -P10 | $(LZ4) -9B4 | $(LZ4)c32 -t ++ $(DATAGEN) | $(LZ4)c32 | $(LZ4) -t ++@@ -481,14 +481,14 @@ test-interop-32-64: lz4 lz4c32 datagen ++ $(DATAGEN) -g6GB | $(LZ4)c32 -vq9BD | $(LZ4) -qt ++ ++ test-lz4c32-basic: lz4c32 datagen ++- @echo "\n ---- test lz4c32 32-bits version ----" +++ echo "\n ---- test lz4c32 32-bits version ----" ++ $(DATAGEN) -g16KB | $(LZ4)c32 -9 | $(LZ4)c32 -t ++ $(DATAGEN) | $(LZ4)c32 | $(LZ4)c32 -t ++ $(DATAGEN) -g256MB | $(LZ4)c32 -vqB4D | $(LZ4)c32 -qt ++ $(DATAGEN) -g6GB | $(LZ4)c32 -vqB5D | $(LZ4)c32 -qt ++ ++ test-platform: ++- @echo "\n ---- test lz4 $(QEMU_SYS) platform ----" +++ echo "\n ---- test lz4 $(QEMU_SYS) platform ----" ++ $(QEMU_SYS) $(DATAGEN) -g16KB | $(QEMU_SYS) $(LZ4) -9 | $(QEMU_SYS) $(LZ4) -t ++ $(QEMU_SYS) $(DATAGEN) | $(QEMU_SYS) $(LZ4) | $(QEMU_SYS) $(LZ4) -t ++ $(QEMU_SYS) $(DATAGEN) -g256MB | $(QEMU_SYS) $(LZ4) -vqB4D | $(QEMU_SYS) $(LZ4) -qt ++@@ -515,7 +515,7 @@ test-frametest32: CFLAGS += -m32 ++ test-frametest32: test-frametest ++ ++ test-mem: lz4 datagen fuzzer frametest fullbench ++- @echo "\n ---- valgrind tests : memory analyzer ----" +++ echo "\n ---- valgrind tests : memory analyzer ----" ++ valgrind --leak-check=yes --error-exitcode=1 $(DATAGEN) -g50M > $(VOID) ++ $(DATAGEN) -g16KB > ftmdg16K ++ valgrind --leak-check=yes --error-exitcode=1 $(LZ4) -9 -BD -f ftmdg16K $(VOID) ++@@ -538,7 +538,7 @@ test-mem32: lz4c32 datagen ++ # unfortunately, valgrind doesn't seem to work with non-native binary... ++ ++ test-decompress-partial : decompress-partial ++- @echo "\n ---- test decompress-partial ----" +++ echo "\n ---- test decompress-partial ----" ++ ./decompress-partial$(EXT) ++ ++ endif ++-- ++2.29.2 ++ diff --cc debian/patches/0002-Fix-static-link.patch index 0000000,0000000..09e92bf new file mode 100644 --- /dev/null +++ b/debian/patches/0002-Fix-static-link.patch @@@ -1,0 -1,0 +1,62 @@@ ++From 31bb256feeb8fae577f3e788fa1d535ac3d321db Mon Sep 17 00:00:00 2001 ++From: Nobuhiro Iwamatsu ++Date: Fri, 18 Dec 2020 23:50:45 +0900 ++Subject: [PATCH 2/4] Fix static link ++ ++Signed-off-by: Nobuhiro Iwamatsu ++--- ++ programs/Makefile | 6 +++--- ++ tests/Makefile | 4 +++- ++ 2 files changed, 6 insertions(+), 4 deletions(-) ++ ++diff --git a/programs/Makefile b/programs/Makefile ++index 288f2c4..2df53c1 100644 ++--- a/programs/Makefile +++++ b/programs/Makefile ++@@ -80,10 +80,10 @@ lz4-exe.o: lz4-exe.rc ++ $(WINDRES) -i lz4-exe.rc -o lz4-exe.o ++ ++ lz4: $(OBJFILES) lz4-exe.o ++- $(CC) $(FLAGS) $^ -o $@$(EXT) +++ $(CC) $(FLAGS) $^ -o $@$(EXT) -L ../lib -llz4 ++ else ++ lz4: $(OBJFILES) ++- $(CC) $(FLAGS) $(OBJFILES) -o $@$(EXT) $(LDLIBS) +++ $(CC) $(FLAGS) $(OBJFILES) -o $@$(EXT) $(LDLIBS) -L ../lib -llz4 ++ endif ++ ++ .PHONY: lz4-release ++@@ -107,7 +107,7 @@ lz4c: lz4 ++ ++ lz4c32: CFLAGS += -m32 ++ lz4c32 : $(SRCFILES) ++- $(CC) $(FLAGS) $^ -o $@$(EXT) +++ $(CC) $(FLAGS) $^ -o $@$(EXT) -L ../lib -llz4 ++ ++ lz4.1: lz4.1.md $(LIBVER_SRC) ++ cat $< | $(MD2ROFF) $(MD2ROFF_FLAGS) | sed -n '/^\.\\\".*/!p' > $@ ++diff --git a/tests/Makefile b/tests/Makefile ++index 55e43ab..aec3f83 100644 ++--- a/tests/Makefile +++++ b/tests/Makefile ++@@ -43,6 +43,8 @@ CFLAGS += $(DEBUGFLAGS) $(MOREFLAGS) ++ CPPFLAGS+= -I$(LZ4DIR) -I$(PRGDIR) -DXXH_NAMESPACE=LZ4_ ++ FLAGS = $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) ++ +++export LD_LIBRARY_PATH += $(LZ4DIR) +++ ++ include ../Makefile.inc ++ ++ LZ4 := $(PRGDIR)/lz4$(EXT) ++@@ -62,7 +64,7 @@ all32: CFLAGS+=-m32 ++ all32: all ++ ++ lz4: ++- $(MAKE) -C $(PRGDIR) $@ CFLAGS="$(CFLAGS)" +++ # $(MAKE) -C $(PRGDIR) $@ CFLAGS="$(CFLAGS)" ++ ++ lib liblz4.pc: ++ $(MAKE) -C $(LZ4DIR) $@ CFLAGS="$(CFLAGS)" ++-- ++2.29.2 ++ diff --cc debian/patches/0003-Ignore-test.patch index 0000000,0000000..4a870b5 new file mode 100644 --- /dev/null +++ b/debian/patches/0003-Ignore-test.patch @@@ -1,0 -1,0 +1,30 @@@ ++From 8a8cf4201de3512191dee391167f57d90136ed78 Mon Sep 17 00:00:00 2001 ++From: Nobuhiro Iwamatsu ++Date: Fri, 18 Dec 2020 23:52:17 +0900 ++Subject: [PATCH 3/4] Ignore test ++ ++Signed-off-by: Nobuhiro Iwamatsu ++--- ++ tests/Makefile | 6 +++--- ++ 1 file changed, 3 insertions(+), 3 deletions(-) ++ ++diff --git a/tests/Makefile b/tests/Makefile ++index aec3f83..b071d28 100644 ++--- a/tests/Makefile +++++ b/tests/Makefile ++@@ -367,9 +367,9 @@ test-lz4-basic: lz4 datagen unlz4 lz4cat ++ $(LZ4) -BX tmp-tlb-hw -c -q | $(LZ4) -tv # test block checksum ++ # $(DATAGEN) -g20KB generates the same file every single time ++ # cannot save output of $(DATAGEN) -g20KB as input file to lz4 because the following shell commands are run before $(DATAGEN) -g20KB ++- test "$(shell $(DATAGEN) -g20KB | $(LZ4) -c --fast | wc -c)" -lt "$(shell $(DATAGEN) -g20KB | $(LZ4) -c --fast=9 | wc -c)" # -1 vs -9 ++- test "$(shell $(DATAGEN) -g20KB | $(LZ4) -c -1 | wc -c)" -lt "$(shell $(DATAGEN) -g20KB| $(LZ4) -c --fast=1 | wc -c)" # 1 vs -1 ++- test "$(shell $(DATAGEN) -g20KB | $(LZ4) -c --fast=1 | wc -c)" -eq "$(shell $(DATAGEN) -g20KB| $(LZ4) -c --fast| wc -c)" # checks default fast compression is -1 +++ -test "$(shell $(DATAGEN) -g20KB | $(LZ4) -c --fast | wc -c)" -lt "$(shell $(DATAGEN) -g20KB | $(LZ4) -c --fast=9 | wc -c)" # -1 vs -9 +++ -test "$(shell $(DATAGEN) -g20KB | $(LZ4) -c -1 | wc -c)" -lt "$(shell $(DATAGEN) -g20KB| $(LZ4) -c --fast=1 | wc -c)" # 1 vs -1 +++ -test "$(shell $(DATAGEN) -g20KB | $(LZ4) -c --fast=1 | wc -c)" -eq "$(shell $(DATAGEN) -g20KB| $(LZ4) -c --fast| wc -c)" # checks default fast compression is -1 ++ ! $(LZ4) -c --fast=0 tmp-tlb-dg20K # lz4 should fail when fast=0 ++ ! $(LZ4) -c --fast=-1 tmp-tlb-dg20K # lz4 should fail when fast=-1 ++ # High --fast values can result in out-of-bound dereferences #876 ++-- ++2.29.2 ++ diff --cc debian/patches/0004-change-optimize.patch index 0000000,0000000..54edf03 new file mode 100644 --- /dev/null +++ b/debian/patches/0004-change-optimize.patch @@@ -1,0 -1,0 +1,170 @@@ ++From 9b0ec66d6e7029d2ea9a678c1b09db0276e23467 Mon Sep 17 00:00:00 2001 ++From: Nobuhiro Iwamatsu ++Date: Fri, 18 Dec 2020 23:53:51 +0900 ++Subject: [PATCH 4/4] change optimize ++ ++Signed-off-by: Nobuhiro Iwamatsu ++--- ++ Makefile | 20 ++++++++++---------- ++ contrib/djgpp/Makefile | 2 +- ++ contrib/gen_manual/Makefile | 2 +- ++ examples/Makefile | 2 +- ++ lib/Makefile | 2 +- ++ lib/dll/example/Makefile | 2 +- ++ programs/Makefile | 2 +- ++ tests/Makefile | 2 +- ++ 8 files changed, 17 insertions(+), 17 deletions(-) ++ ++diff --git a/Makefile b/Makefile ++index f4a9692..bb22669 100644 ++--- a/Makefile +++++ b/Makefile ++@@ -127,7 +127,7 @@ test: ++ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKE) -C $(TESTDIR) $@ ++ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKE) -C $(EXDIR) $@ ++ ++-clangtest: CFLAGS ?= -O3 +++clangtest: CFLAGS ?= -O2 -g ++ clangtest: CFLAGS += -Werror -Wconversion -Wno-sign-conversion ++ clangtest: CC = clang ++ clangtest: clean ++@@ -138,18 +138,18 @@ clangtest: clean ++ ++ clangtest-native: clean ++ clang -v ++- CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(LZ4DIR) all CC=clang ++- CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(PRGDIR) native CC=clang ++- CFLAGS="-O3 -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(TESTDIR) native CC=clang +++ CFLAGS="-O2 -g -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(LZ4DIR) all CC=clang +++ CFLAGS="-O2 -g -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(PRGDIR) native CC=clang +++ CFLAGS="-O2 -g -Werror -Wconversion -Wno-sign-conversion" $(MAKE) -C $(TESTDIR) native CC=clang ++ ++ usan: CC = clang ++-usan: CFLAGS = -O3 -g -fsanitize=undefined -fno-sanitize-recover=undefined -fsanitize-recover=pointer-overflow +++usan: CFLAGS = -O2 -g -g -fsanitize=undefined -fno-sanitize-recover=undefined -fsanitize-recover=pointer-overflow ++ usan: LDFLAGS = $(CFLAGS) ++ usan: clean ++ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1 ++ ++ usan32: clean ++- CFLAGS="-m32 -O3 -g -fsanitize=undefined" $(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1 +++ CFLAGS="-m32 -O2 -g -g -fsanitize=undefined" $(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1 ++ ++ SCANBUILD ?= scan-build ++ SCANBUILD_FLAGS += --status-bugs -v --force-analyze-debug-code ++@@ -164,9 +164,9 @@ cppcheck: ++ platformTest: clean ++ echo "\n ---- test lz4 with $(CC) compiler ----" ++ $(CC) -v ++- CFLAGS="-O3 -Werror" $(MAKE) -C $(LZ4DIR) all ++- CFLAGS="-O3 -Werror -static" $(MAKE) -C $(PRGDIR) all ++- CFLAGS="-O3 -Werror -static" $(MAKE) -C $(TESTDIR) all +++ CFLAGS="-O2 -g -Werror" $(MAKE) -C $(LZ4DIR) all +++ CFLAGS="-O2 -g -Werror -static" $(MAKE) -C $(PRGDIR) all +++ CFLAGS="-O2 -g -Werror -static" $(MAKE) -C $(TESTDIR) all ++ $(MAKE) -C $(TESTDIR) test-platform ++ ++ .PHONY: versionsTest ++@@ -174,7 +174,7 @@ versionsTest: clean ++ $(MAKE) -C $(TESTDIR) $@ ++ ++ gpptest gpptest32: CC = "$(CXX) -Wno-deprecated" ++-gpptest gpptest32: CFLAGS = -O3 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror +++gpptest gpptest32: CFLAGS = -O2 -g -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror ++ gpptest32: CFLAGS += -m32 ++ gpptest gpptest32: clean ++ $(CXX) -v ++diff --git a/contrib/djgpp/Makefile b/contrib/djgpp/Makefile ++index 2ee4356..16712cb 100644 ++--- a/contrib/djgpp/Makefile +++++ b/contrib/djgpp/Makefile ++@@ -19,7 +19,7 @@ CC = $(CROSS)-gcc ++ AR = $(CROSS)-ar ++ LD = $(CROSS)-gcc ++ ++-CFLAGS ?= -O3 -std=gnu99 -Wall -Wextra -Wundef -Wshadow -Wcast-qual -Wcast-align -Wstrict-prototypes -pedantic -DLZ4_VERSION=\"$(RELEASE)\" +++CFLAGS ?= -O2 -g -std=gnu99 -Wall -Wextra -Wundef -Wshadow -Wcast-qual -Wcast-align -Wstrict-prototypes -pedantic -DLZ4_VERSION=\"$(RELEASE)\" ++ LDFLAGS ?= -s ++ SRC = programs/bench.c programs/lz4io.c programs/lz4cli.c ++ OBJ = $(SRC:.c=.o) ++diff --git a/contrib/gen_manual/Makefile b/contrib/gen_manual/Makefile ++index 4cf9d48..61999e0 100644 ++--- a/contrib/gen_manual/Makefile +++++ b/contrib/gen_manual/Makefile ++@@ -30,7 +30,7 @@ ++ # ################################################################ ++ ++ ++-CXXFLAGS ?= -O3 +++CXXFLAGS ?= -O2 -g ++ CXXFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wno-comment ++ CXXFLAGS += $(MOREFLAGS) ++ FLAGS = $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) ++diff --git a/examples/Makefile b/examples/Makefile ++index 5e51976..396611e 100644 ++--- a/examples/Makefile +++++ b/examples/Makefile ++@@ -28,7 +28,7 @@ ++ # ########################################################################## ++ ++ CPPFLAGS += -I../lib ++-CFLAGS ?= -O3 +++CFLAGS ?= -O2 -g ++ CFLAGS += -std=gnu99 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Wstrict-prototypes ++ FLAGS := $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(MOREFLAGS) ++ ++diff --git a/lib/Makefile b/lib/Makefile ++index c412d22..248874d 100644 ++--- a/lib/Makefile +++++ b/lib/Makefile ++@@ -46,7 +46,7 @@ BUILD_SHARED:=yes ++ BUILD_STATIC:=yes ++ ++ CPPFLAGS+= -DXXH_NAMESPACE=LZ4_ ++-CFLAGS ?= -O3 +++CFLAGS ?= -O2 -g ++ DEBUGFLAGS:= -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \ ++ -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes \ ++ -Wundef -Wpointer-arith -Wstrict-aliasing=1 ++diff --git a/lib/dll/example/Makefile b/lib/dll/example/Makefile ++index 43aaf17..c3d13df 100644 ++--- a/lib/dll/example/Makefile +++++ b/lib/dll/example/Makefile ++@@ -28,7 +28,7 @@ LZ4DIR := ../include ++ LIBDIR := ../static ++ DLLDIR := ../dll ++ ++-CFLAGS ?= -O3 # can select custom flags. For example : CFLAGS="-O2 -g" make +++CFLAGS ?= -O2 -g # can select custom flags. For example : CFLAGS="-O2 -g" make ++ CFLAGS += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum \ ++ -Wdeclaration-after-statement -Wstrict-prototypes \ ++ -Wpointer-arith -Wstrict-aliasing=1 ++diff --git a/programs/Makefile b/programs/Makefile ++index 2df53c1..e946772 100644 ++--- a/programs/Makefile +++++ b/programs/Makefile ++@@ -46,7 +46,7 @@ SRCFILES = $(sort $(LIBFILES) $(wildcard *.c)) ++ OBJFILES = $(SRCFILES:.c=.o) ++ ++ CPPFLAGS += -I$(LZ4DIR) -DXXH_NAMESPACE=LZ4_ ++-CFLAGS ?= -O3 +++CFLAGS ?= -O2 -g ++ DEBUGFLAGS= -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow \ ++ -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes \ ++ -Wpointer-arith -Wstrict-aliasing=1 ++diff --git a/tests/Makefile b/tests/Makefile ++index b071d28..5779732 100644 ++--- a/tests/Makefile +++++ b/tests/Makefile ++@@ -35,7 +35,7 @@ PYTHON ?= python3 ++ ++ DEBUGLEVEL?= 1 ++ DEBUGFLAGS = -g -DLZ4_DEBUG=$(DEBUGLEVEL) ++-CFLAGS ?= -O3 # can select custom optimization flags. Example : CFLAGS=-O2 make +++CFLAGS ?= -O2 -g # can select custom optimization flags. Example : CFLAGS=-O2 make ++ CFLAGS += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow \ ++ -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes \ ++ -Wpointer-arith -Wstrict-aliasing=1 ++-- ++2.29.2 ++ diff --cc debian/patches/0005-CVE-2021-3520.patch index 0000000,0000000..0217c42 new file mode 100644 --- /dev/null +++ b/debian/patches/0005-CVE-2021-3520.patch @@@ -1,0 -1,0 +1,25 @@@ ++From 8301a21773ef61656225e264f4f06ae14462bca7 Mon Sep 17 00:00:00 2001 ++From: Jasper Lievisse Adriaanse ++Date: Fri, 26 Feb 2021 15:21:20 +0100 ++Subject: [PATCH] Fix potential memory corruption with negative memmove() size ++ ++--- ++ lib/lz4.c | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/lib/lz4.c b/lib/lz4.c ++index 5f524d0..c2f504e 100644 ++--- a/lib/lz4.c +++++ b/lib/lz4.c ++@@ -1749,7 +1749,7 @@ LZ4_decompress_generic( ++ const size_t dictSize /* note : = 0 if noDict */ ++ ) ++ { ++- if (src == NULL) { return -1; } +++ if ((src == NULL) || (outputSize < 0)) { return -1; } ++ ++ { const BYTE* ip = (const BYTE*) src; ++ const BYTE* const iend = ip + srcSize; ++-- ++2.30.0 ++ diff --cc debian/patches/series index 0000000,0000000..da75847 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,5 @@@ ++0001-Show-build-info.patch ++0002-Fix-static-link.patch ++0003-Ignore-test.patch ++0004-change-optimize.patch ++0005-CVE-2021-3520.patch diff --cc debian/rules index 0000000,0000000..e164ea7 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,42 @@@ ++#!/usr/bin/make -f ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++CPPFLAGS:= $(shell dpkg-buildflags --get CPPFLAGS) -DLZ4F_PUBLISH_STATIC_FUNCTIONS ++CFLAGS:= $(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) ++CXXFLAGS:= $(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS) ++LDFLAGS:= $(shell dpkg-buildflags --get LDFLAGS) ++DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) ++DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) ++PREFIX:= /usr ++ ++ifeq ($(origin CC),default) ++CC := $(DEB_HOST_GNU_TYPE)-gcc ++endif ++ ++export CFLAGS ++export CPPFLAGS ++export LDFLAGS ++export PREFIX ++ ++disable_test=0 ++ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ++disable_test=1 ++endif ++ ++%: ++ dh $@ ++ ++override_dh_auto_build: ++ dh_auto_build -- CC=$(CC) V=1 ++ ++override_dh_auto_install: ++ dh_auto_install -- \ ++ CC=$(CC) \ ++ DESTDIR=$$(pwd)/debian/tmp \ ++ LIBDIR=$(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH) ++ ++override_dh_auto_test: ++ifeq "$(disable_test)" "0" ++ make test ++endif diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/upstream/metadata index 0000000,0000000..f58abbf new file mode 100644 --- /dev/null +++ b/debian/upstream/metadata @@@ -1,0 -1,0 +1,4 @@@ ++Bug-Database: https://github.com/lz4/lz4/issues ++Bug-Submit: https://github.com/lz4/lz4/issues/new ++Repository: https://github.com/lz4/lz4.git ++Repository-Browse: https://github.com/lz4/lz4 diff --cc debian/watch index 0000000,0000000..e531e3d new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,3 @@@ ++version=3 ++opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/lz4-$1.tar.gz/,dversionmangle=s/\+dfsg// \ ++ https://github.com/lz4/lz4/tags .*/v?(\d\S*)\.tar\.gz