From 6bed640a4fffb0cb3bc6aa5ae1a9ef3e6276d26d Mon Sep 17 00:00:00 2001 From: Sascha Steinbiss Date: Sun, 15 Jan 2017 08:08:53 +0000 Subject: [PATCH] Import libzstd_1.1.2-1.debian.tar.xz [dgit import tarball libzstd 1.1.2-1 libzstd_1.1.2-1.debian.tar.xz] --- changelog | 70 ++++++ compat | 1 + control | 47 ++++ copyright | 123 +++++++++++ patches/0001-Skip-long-running-tests.patch | 24 ++ patches/0002-Build-lib-by-default.patch | 21 ++ ...0003-Add-symlinks-for-extra-manpages.patch | 207 ++++++++++++++++++ .../0004-Add-help2man-d-pzstd-man-file.patch | 91 ++++++++ ...re-CPPFLAGS-makes-it-to-the-compiler.patch | 75 +++++++ ...se-bash-for-test-script-portablitity.patch | 18 ++ patches/0007-Fix-use-of-fprintf.patch | 44 ++++ patches/0008-Address-embedded-zlib.patch | 45 ++++ patches/0009-Add-shebang-for-scripts.patch | 8 + patches/series | 9 + rules | 27 +++ source/format | 1 + watch | 3 + zstd.docs | 2 + zstd.install | 2 + zstd.manpages | 2 + 20 files changed, 820 insertions(+) create mode 100644 changelog create mode 100644 compat create mode 100644 control create mode 100644 copyright create mode 100644 patches/0001-Skip-long-running-tests.patch create mode 100644 patches/0002-Build-lib-by-default.patch create mode 100644 patches/0003-Add-symlinks-for-extra-manpages.patch create mode 100644 patches/0004-Add-help2man-d-pzstd-man-file.patch create mode 100644 patches/0005-Ensure-CPPFLAGS-makes-it-to-the-compiler.patch create mode 100644 patches/0006-Use-bash-for-test-script-portablitity.patch create mode 100644 patches/0007-Fix-use-of-fprintf.patch create mode 100644 patches/0008-Address-embedded-zlib.patch create mode 100644 patches/0009-Add-shebang-for-scripts.patch create mode 100644 patches/series create mode 100755 rules create mode 100644 source/format create mode 100644 watch create mode 100644 zstd.docs create mode 100644 zstd.install create mode 100644 zstd.manpages diff --git a/changelog b/changelog new file mode 100644 index 0000000..0dcc0b8 --- /dev/null +++ b/changelog @@ -0,0 +1,70 @@ +libzstd (1.1.2-1) unstable; urgency=medium + + * Team upload. + * New upstream version 1.1.2 + + -- Sascha Steinbiss Sun, 15 Jan 2017 08:08:53 +0000 + +libzstd (1.1.1-1) unstable; urgency=medium + + * New upstream version 1.1.1 (Closes: #844248) + * Whitespace fix to d/control + * Ensure hardening flags pass through to compiler by appending to CPPFLAGS + + -- Kevin Murray Sun, 20 Nov 2016 16:12:58 +0100 + +libzstd (1.1.0-1) unstable; urgency=medium + + * New upstream version 1.1.0 (Closes: #839960) + * Change uploader email + * Build new pzstd binary, including manpage + * Fix miscellaneous issues with d/rules and d/*.install + * Move docs from libzstd-dev to the zstd binary + + -- Kevin Murray Sun, 13 Nov 2016 11:23:03 +0000 + +libzstd (1.0.0-1) unstable; urgency=medium + + * Imported Upstream version 1.0.0 (Closes: #836574) + * Bump library package name to libzstd1 + * Changed project URLs, copyrights after move to facebook. + * d/rules: hardening=+all + + -- Kevin Murray Sun, 04 Sep 2016 14:45:24 +1000 + +libzstd (0.8.0-1) unstable; urgency=medium + + [ Kevin Murray ] + * New upstream version (Closes: #834114) + + [ Andreas Tille ] + * hardening=+bindnow + + -- Kevin Murray Thu, 21 Jul 2016 10:56:02 +1000 + +libzstd (0.5.1-1) unstable; urgency=medium + + [ Kevin Murray ] + * New upstream version (fixes a FTBFS) + * Package pkgconfig file (Closes: #813854) + * Fix path to tagged archives in d/watch + * Add vcs URLs + * Bump to standards version 3.9.7 + + [ Mattia Rizzolo ] + * debian/rules: Remove a lot of uneeded comments and lines + + -- Kevin Murray Thu, 17 Mar 2016 12:59:04 +0000 + +libzstd (0.4.7-1) unstable; urgency=low + + * New upstream version + * Remove build date encoding to enable reproducible build + + -- Kevin Murray Wed, 03 Feb 2016 11:26:21 +0200 + +libzstd (0.4.5-1) unstable; urgency=low + + * Initial release (Closes: #806767) + + -- Kevin Murray Tue, 01 Dec 2015 13:54:36 +1100 diff --git a/compat b/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/control b/control new file mode 100644 index 0000000..e84274f --- /dev/null +++ b/control @@ -0,0 +1,47 @@ +Source: libzstd +Priority: optional +Maintainer: Debian Med Packaging +Uploaders: Kevin Murray , +Build-Depends: debhelper (>= 9), + d-shlibs, +Standards-Version: 3.9.8 +Section: libs +Homepage: https://github.com/facebook/zstd +Vcs-Git: https://anonscm.debian.org/git/debian-med/libzstd.git +Vcs-Browser: https://anonscm.debian.org/git/debian-med/libzstd.git + +Package: libzstd-dev +Architecture: any +Section: libdevel +Depends: libzstd1 (= ${binary:Version}), + ${misc:Depends}, +Description: fast lossless compression algorithm -- development files + Zstd, short for Zstandard, is a fast lossless compression algorithm, targeting + real-time compression scenarios at zlib-level compression ratio. + . + This package contains the headers and static library. + + +Package: libzstd1 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends}, +Description: fast lossless compression algorithm + Zstd, short for Zstandard, is a fast lossless compression algorithm, targeting + real-time compression scenarios at zlib-level compression ratio. + . + This package contains the shared library. + + +Package: zstd +Architecture: any +Section: utils +Depends: libzstd1 (= ${binary:Version}), + ${shlibs:Depends}, + ${misc:Depends}, +Description: fast lossless compression algorithm -- CLI tool + Zstd, short for Zstandard, is a fast lossless compression algorithm, targeting + real-time compression scenarios at zlib-level compression ratio. + . + This package contains the CLI program implementing zstd. diff --git a/copyright b/copyright new file mode 100644 index 0000000..b24c078 --- /dev/null +++ b/copyright @@ -0,0 +1,123 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Zstd +Source: https://github.com/facebook/zstd + +Files: * +Copyright: 2013-2016, Yann Collet + 2016, Przemyslaw Skibinski + 2016, Facebook, Inc. +License: BSD-3-clause-with-patent-grant + 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. + . + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + . + 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. +Comment: A generic additional grant of patent rights is made by Facebook to the + users of Zstd, and is reproduced below (from ./PATENTS): + . + Additional Grant of Patent Rights Version 2 + . + "Software" means the Zstandard software distributed by Facebook, Inc. + . + Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software + ("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable + (subject to the termination provision below) license under any Necessary + Claims, to make, have made, use, sell, offer to sell, import, and otherwise + transfer the Software. For avoidance of doubt, no license is granted under + Facebook’s rights in any patent claims that are infringed by (i) modifications + to the Software made by you or any third party or (ii) the Software in + combination with any software or other technology. + . + The license granted hereunder will terminate, automatically and without notice, + if you (or any of your subsidiaries, corporate affiliates or agents) initiate + directly or indirectly, or take a direct financial interest in, any Patent + Assertion: (i) against Facebook or any of its subsidiaries or corporate + affiliates, (ii) against any party if such Patent Assertion arises in whole or + in part from any software, technology, product or service of Facebook or any of + its subsidiaries or corporate affiliates, or (iii) against any party relating + to the Software. Notwithstanding the foregoing, if Facebook or any of its + subsidiaries or corporate affiliates files a lawsuit alleging patent + infringement against you in the first instance, and you respond by filing a + patent infringement counterclaim in that lawsuit against that party that is + unrelated to the Software, the license granted hereunder will not terminate + under section (i) of this paragraph due to such counterclaim. + . + A "Necessary Claim" is a claim of a patent owned by Facebook that is + necessarily infringed by the Software standing alone. + . + A "Patent Assertion" is any lawsuit or other action alleging direct, indirect, + or contributory infringement or inducement to infringe any patent, including a + cross-claim or counterclaim. + +Files: zlibWrapper/examples/*.c +Copyright: 1995-2006, 2011 Jean-loup Gailly +License: zlib + +Files: zlibWrapper/gz*.c +Copyright: (C) 2004, 2005, 2010, 2011, 2012, 2013 Mark Adler +License: zlib + +License: zlib + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + . + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgement in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + +Files: lib/dictBuilder/divsufsort.* +Copyright: 2003-2008, Yuta Mori +License: Expat + +Files: debian/* +Copyright: 2015-2016 Kevin Murray +License: Expat + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. diff --git a/patches/0001-Skip-long-running-tests.patch b/patches/0001-Skip-long-running-tests.patch new file mode 100644 index 0000000..0f72c2a --- /dev/null +++ b/patches/0001-Skip-long-running-tests.patch @@ -0,0 +1,24 @@ +From: Kevin Murray +Date: Tue, 1 Dec 2015 14:40:58 +1100 +Subject: Skip long-running tests + +--- + tests/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/tests/Makefile ++++ b/tests/Makefile +@@ -183,11 +183,11 @@ + file $(ZSTD) + ZSTD="$(QEMU_SYS) $(ZSTD)" ./playTests.sh $(ZSTDRTTEST) + +-test: test-zstd test-fullbench test-fuzzer test-zstream test-longmatch ++test: test-zstd test-zstream + + test32: test-zstd32 test-fullbench32 test-fuzzer32 test-zstream32 + +-test-all: test test32 valgrindTest ++test-all: test + + test-zstd: ZSTD = $(PRGDIR)/zstd + test-zstd: zstd zstd-playTests diff --git a/patches/0002-Build-lib-by-default.patch b/patches/0002-Build-lib-by-default.patch new file mode 100644 index 0000000..0c03c7b --- /dev/null +++ b/patches/0002-Build-lib-by-default.patch @@ -0,0 +1,21 @@ +From: Kevin Murray +Date: Tue, 1 Dec 2015 14:52:40 +1100 +Subject: Build lib by default + +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/Makefile ++++ b/Makefile +@@ -28,8 +28,8 @@ + .PHONY: all + all: + $(MAKE) -C $(ZSTDDIR) $@ +- $(MAKE) -C $(PRGDIR) $@ zstd32 +- $(MAKE) -C $(TESTDIR) $@ all32 ++ $(MAKE) -C $(PRGDIR) $@ ++ $(MAKE) -C $(TESTDIR) $@ + + .PHONY: lib + lib: diff --git a/patches/0003-Add-symlinks-for-extra-manpages.patch b/patches/0003-Add-symlinks-for-extra-manpages.patch new file mode 100644 index 0000000..cd45a63 --- /dev/null +++ b/patches/0003-Add-symlinks-for-extra-manpages.patch @@ -0,0 +1,207 @@ +From: Kevin Murray +Date: Tue, 22 Dec 2015 12:24:27 +1100 +Subject: Add symlinks for extra manpages + +--- + programs/unzstd.1 | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + programs/zstdcat.1 | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 184 insertions(+) + create mode 100644 programs/unzstd.1 + create mode 100644 programs/zstdcat.1 + +diff --git a/programs/unzstd.1 b/programs/unzstd.1 +new file mode 100644 +index 0000000..5ccdf8a +--- /dev/null ++++ b/programs/unzstd.1 +@@ -0,0 +1,92 @@ ++\" ++\" zstd.1: This is a manual page for 'zstd' program. This file is part of the ++\" zstd project. ++\" Author: Yann Collet ++\" ++ ++\" No hyphenation ++.hy 0 ++.nr HY 0 ++ ++.TH zstd "1" "2015-08-22" "zstd" "User Commands" ++.SH NAME ++\fBzstd, unzstd, zstdcat\fR - Compress or decompress .zst files ++ ++.SH SYNOPSIS ++.TP 5 ++\fBzstd\fR [\fBOPTIONS\fR] [-|INPUT-FILE] ++.PP ++.B unzstd ++is equivalent to ++.BR "zstd \-d" ++.br ++.B zstdcat ++is equivalent to ++.BR "zstd \-dc" ++.br ++ ++.SH DESCRIPTION ++.PP ++\fBzstd\fR is a fast lossless compression algorithm. ++It is based on the \fBLZ77\fR family, with FSE & huff0 entropy stage. ++zstd offers compression speed > 200 MB/s per core. ++It also features a fast decoder, with speed > 500 MB/s per core. ++ ++\fBzstd\fR command line is generally similar to gzip, but features the following differences : ++ - Original files are preserved ++ - By default, \fBzstd file1 file2\fR means : compress file1 \fBinto\fR file2. ++ Use \fB-m\fR command if you want : compress file1 into file1.zstd and file2 into file2.zst ++ - By default, when compressing files, \fBzstd\fR displays advancement notification and result summary. ++ Use \fB-q\fR to turn them off ++ ++ ++\fBzstd\fR supports the following options : ++ ++.SH OPTIONS ++.TP ++.B \-# ++ # compression level [1-19](default:1) ++.TP ++.B \-d ++ decompression ++.TP ++.B \-f ++ overwrite output without prompting ++.TP ++.BR \-m ", " --multiple ++ multiple files mode ++ In this mode, multiple files on the command line means compression or decompression of each named file ++ Notifications are also turned off by default ++.TP ++.B \-D ++ Use next file as dictionary content for compress / decompression ++.TP ++.BR \-h/\-H ", " --help ++ display help/long help and exit ++.TP ++.BR \-V ", " --version ++ display Version number and exit ++.TP ++.BR \-v ", " --verbose ++ verbose mode ++.TP ++.BR \-q ", " --quiet ++ suppress warnings and notifications; specify twice to suppress errors too ++.TP ++.B \-c ++ force write to standard output, even if it is the console ++.TP ++.B \-z ++ force compression ++.TP ++.B \-b# ++ benchmark file(s) using compression level # ++.TP ++.B \-i# ++ iteration loops [1-9](default : 3), benchmark mode only ++ ++.SH BUGS ++Report bugs at:- https://github.com/facebook/zstd/issues ++ ++.SH AUTHOR ++Yann Collet +diff --git a/programs/zstdcat.1 b/programs/zstdcat.1 +new file mode 100644 +index 0000000..5ccdf8a +--- /dev/null ++++ b/programs/zstdcat.1 +@@ -0,0 +1,92 @@ ++\" ++\" zstd.1: This is a manual page for 'zstd' program. This file is part of the ++\" zstd project. ++\" Author: Yann Collet ++\" ++ ++\" No hyphenation ++.hy 0 ++.nr HY 0 ++ ++.TH zstd "1" "2015-08-22" "zstd" "User Commands" ++.SH NAME ++\fBzstd, unzstd, zstdcat\fR - Compress or decompress .zst files ++ ++.SH SYNOPSIS ++.TP 5 ++\fBzstd\fR [\fBOPTIONS\fR] [-|INPUT-FILE] ++.PP ++.B unzstd ++is equivalent to ++.BR "zstd \-d" ++.br ++.B zstdcat ++is equivalent to ++.BR "zstd \-dc" ++.br ++ ++.SH DESCRIPTION ++.PP ++\fBzstd\fR is a fast lossless compression algorithm. ++It is based on the \fBLZ77\fR family, with FSE & huff0 entropy stage. ++zstd offers compression speed > 200 MB/s per core. ++It also features a fast decoder, with speed > 500 MB/s per core. ++ ++\fBzstd\fR command line is generally similar to gzip, but features the following differences : ++ - Original files are preserved ++ - By default, \fBzstd file1 file2\fR means : compress file1 \fBinto\fR file2. ++ Use \fB-m\fR command if you want : compress file1 into file1.zstd and file2 into file2.zst ++ - By default, when compressing files, \fBzstd\fR displays advancement notification and result summary. ++ Use \fB-q\fR to turn them off ++ ++ ++\fBzstd\fR supports the following options : ++ ++.SH OPTIONS ++.TP ++.B \-# ++ # compression level [1-19](default:1) ++.TP ++.B \-d ++ decompression ++.TP ++.B \-f ++ overwrite output without prompting ++.TP ++.BR \-m ", " --multiple ++ multiple files mode ++ In this mode, multiple files on the command line means compression or decompression of each named file ++ Notifications are also turned off by default ++.TP ++.B \-D ++ Use next file as dictionary content for compress / decompression ++.TP ++.BR \-h/\-H ", " --help ++ display help/long help and exit ++.TP ++.BR \-V ", " --version ++ display Version number and exit ++.TP ++.BR \-v ", " --verbose ++ verbose mode ++.TP ++.BR \-q ", " --quiet ++ suppress warnings and notifications; specify twice to suppress errors too ++.TP ++.B \-c ++ force write to standard output, even if it is the console ++.TP ++.B \-z ++ force compression ++.TP ++.B \-b# ++ benchmark file(s) using compression level # ++.TP ++.B \-i# ++ iteration loops [1-9](default : 3), benchmark mode only ++ ++.SH BUGS ++Report bugs at:- https://github.com/facebook/zstd/issues ++ ++.SH AUTHOR ++Yann Collet diff --git a/patches/0004-Add-help2man-d-pzstd-man-file.patch b/patches/0004-Add-help2man-d-pzstd-man-file.patch new file mode 100644 index 0000000..9abbd89 --- /dev/null +++ b/patches/0004-Add-help2man-d-pzstd-man-file.patch @@ -0,0 +1,91 @@ +From: Kevin Murray +Date: Mon, 17 Oct 2016 08:09:13 +1100 +Subject: Add help2man'd pzstd man file + +--- + contrib/pzstd/pzstd.1 | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 76 insertions(+) + create mode 100644 contrib/pzstd/pzstd.1 + +diff --git a/contrib/pzstd/pzstd.1 b/contrib/pzstd/pzstd.1 +new file mode 100644 +index 0000000..03c81cf +--- /dev/null ++++ b/contrib/pzstd/pzstd.1 +@@ -0,0 +1,76 @@ ++.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. ++.TH PZSTD "1" "October 2016" "PZSTD version: 1.1.0." "User Commands" ++.SH NAME ++PZSTD \- parallelised Zstandard compression, al la pigz ++.SH DESCRIPTION ++.SS "Usage:" ++.IP ++pzstd [args] [FILE(s)] ++.SS "Parallel ZSTD options:" ++.TP ++\fB\-p\fR, \fB\-\-processes\fR ++# : number of threads to use for (de)compression (default:4) ++.SS "ZSTD options:" ++.TP ++\-# ++: # compression level (1\-19, default:3) ++.TP ++\fB\-d\fR, \fB\-\-decompress\fR ++: decompression ++.TP ++\fB\-o\fR ++file : result stored into `file` (only if 1 input file) ++.TP ++\fB\-f\fR, \fB\-\-force\fR ++: overwrite output without prompting ++.TP ++\fB\-\-rm\fR ++: remove source file(s) after successful (de)compression ++.TP ++\fB\-k\fR, \fB\-\-keep\fR ++: preserve source file(s) (default) ++.TP ++\fB\-h\fR, \fB\-\-help\fR ++: display help and exit ++.TP ++\fB\-V\fR, \fB\-\-version\fR ++: display version number and exit ++.TP ++\fB\-v\fR, \fB\-\-verbose\fR ++: verbose mode; specify multiple times to increase log level (default:2) ++.TP ++\fB\-q\fR, \fB\-\-quiet\fR ++: suppress warnings; specify twice to suppress errors too ++.TP ++\fB\-c\fR, \fB\-\-stdout\fR ++: force write to standard output, even if it is the console ++.TP ++\fB\-r\fR ++: operate recursively on directories ++.TP ++\fB\-\-ultra\fR ++: enable levels beyond 19, up to 22 (requires more memory) ++.TP ++\fB\-C\fR, \fB\-\-check\fR ++: integrity check (default) ++.TP ++\fB\-\-no\-check\fR ++: no integrity check ++.TP ++\fB\-t\fR, \fB\-\-test\fR ++: test compressed file integrity ++.TP ++\fB\-\-\fR ++: all arguments after "\-\-" are treated as files ++.SH "SEE ALSO" ++The full documentation for ++.B PZSTD ++is maintained as a Texinfo manual. If the ++.B info ++and ++.B PZSTD ++programs are properly installed at your site, the command ++.IP ++.B info PZSTD ++.PP ++should give you access to the complete manual. diff --git a/patches/0005-Ensure-CPPFLAGS-makes-it-to-the-compiler.patch b/patches/0005-Ensure-CPPFLAGS-makes-it-to-the-compiler.patch new file mode 100644 index 0000000..13cdc37 --- /dev/null +++ b/patches/0005-Ensure-CPPFLAGS-makes-it-to-the-compiler.patch @@ -0,0 +1,75 @@ +From: Kevin Murray +Date: Mon, 14 Nov 2016 10:44:27 +1100 +Subject: Ensure CPPFLAGS makes it to the compiler + +--- + lib/Makefile | 11 +++++------ + programs/Makefile | 5 ++--- + tests/Makefile | 5 ++--- + zlibWrapper/Makefile | 4 ++-- + 4 files changed, 11 insertions(+), 14 deletions(-) + +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -23,9 +23,8 @@ + LIBDIR ?= $(PREFIX)/lib + INCLUDEDIR=$(PREFIX)/include + +-CPPFLAGS+= -I. -I./common -DXXH_NAMESPACE=ZSTD_ +-CFLAGS ?= -O3 +-CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \ ++CPPFLAGS += -I. -I./common -DXXH_NAMESPACE=ZSTD_ ++CFLAGS += -O3 -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \ + -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef \ + -Wpointer-arith + CFLAGS += $(MOREFLAGS) +@@ -67,17 +66,17 @@ + libzstd.a: ARFLAGS = rcs + libzstd.a: $(ZSTD_FILES) + @echo compiling static library +- @$(CC) $(FLAGS) -c $^ +- @$(AR) $(ARFLAGS) $@ *.o ++ $(CC) $(FLAGS) -c $^ ++ $(AR) $(ARFLAGS) $@ *.o + + $(LIBZSTD): LDFLAGS += -shared -fPIC -fvisibility=hidden + $(LIBZSTD): $(ZSTD_FILES) + @echo compiling dynamic library $(LIBVER) + ifneq (,$(filter Windows%,$(OS))) +- @$(CC) $(FLAGS) -DZSTD_DLL_EXPORT=1 -shared $^ -o dll\libzstd.dll ++ $(CC) $(FLAGS) -DZSTD_DLL_EXPORT=1 -shared $^ -o dll\libzstd.dll + dlltool -D dll\libzstd.dll -d dll\libzstd.def -l dll\libzstd.lib + else +- @$(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@ ++ $(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@ + @echo creating versioned links + @ln -sf $@ libzstd.$(SHARED_EXT_MAJOR) + @ln -sf $@ libzstd.$(SHARED_EXT) +--- a/programs/Makefile ++++ b/programs/Makefile +@@ -27,9 +27,8 @@ + ALIGN_LOOP = + endif + +-CPPFLAGS+= -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(ZSTDDIR)/dictBuilder +-CFLAGS ?= -O3 +-CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \ ++CPPFLAGS += -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(ZSTDDIR)/dictBuilder ++CFLAGS += -O3 -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \ + -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef \ + -Wpointer-arith + CFLAGS += $(MOREFLAGS) +--- a/tests/Makefile ++++ b/tests/Makefile +@@ -28,9 +28,8 @@ + TESTARTEFACT := versionsTest namespaceTest + + +-CPPFLAGS= -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(ZSTDDIR)/dictBuilder -I$(PRGDIR) +-CFLAGS ?= -O3 +-CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \ ++CPPFLAGS += -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(ZSTDDIR)/dictBuilder -I$(PRGDIR) ++CFLAGS += -O3 -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 \ + -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef + CFLAGS += $(MOREFLAGS) + FLAGS = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) diff --git a/patches/0006-Use-bash-for-test-script-portablitity.patch b/patches/0006-Use-bash-for-test-script-portablitity.patch new file mode 100644 index 0000000..15504dc --- /dev/null +++ b/patches/0006-Use-bash-for-test-script-portablitity.patch @@ -0,0 +1,18 @@ +From: Kevin Murray +Date: Mon, 14 Nov 2016 11:54:32 +1100 +Subject: Use bash for test script portablitity + +--- + tests/playTests.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/playTests.sh b/tests/playTests.sh +index ad70538..81b2e34 100755 +--- a/tests/playTests.sh ++++ b/tests/playTests.sh +@@ -1,4 +1,4 @@ +-#!/bin/sh -e ++#!/bin/bash -e + + die() { + $ECHO "$@" 1>&2 diff --git a/patches/0007-Fix-use-of-fprintf.patch b/patches/0007-Fix-use-of-fprintf.patch new file mode 100644 index 0000000..95a7576 --- /dev/null +++ b/patches/0007-Fix-use-of-fprintf.patch @@ -0,0 +1,44 @@ +Description: Fix use of fprintf +Author: Sascha Steinbiss +--- a/contrib/pzstd/Pzstd.h ++++ b/contrib/pzstd/Pzstd.h +@@ -41,7 +41,7 @@ + auto parameters = options.determineParameters(); + cStreamPool.reset(new ResourcePool{ + [this, parameters]() -> ZSTD_CStream* { +- this->log(VERBOSE, "Creating new ZSTD_CStream\n"); ++ this->log(VERBOSE, "%s\n", "Creating new ZSTD_CStream"); + auto zcs = ZSTD_createCStream(); + if (zcs) { + auto err = ZSTD_initCStream_advanced( +@@ -59,7 +59,7 @@ + } else { + dStreamPool.reset(new ResourcePool{ + [this]() -> ZSTD_DStream* { +- this->log(VERBOSE, "Creating new ZSTD_DStream\n"); ++ this->log(VERBOSE, "%s\n", "Creating new ZSTD_DStream"); + auto zds = ZSTD_createDStream(); + if (zds) { + auto err = ZSTD_initDStream(zds); +--- a/contrib/pzstd/Pzstd.cpp ++++ b/contrib/pzstd/Pzstd.cpp +@@ -410,7 +410,7 @@ + }); + // Pass the output queue to the writer thread. + chunks.push(std::move(out)); +- state.log(VERBOSE, "Starting a new frame\n"); ++ state.log(VERBOSE, "%s\n", "Starting a new frame"); + // Fill the input queue for the compression job we just started + status = readData(*in, ZSTD_CStreamInSize(), step, fd, &bytesRead); + } +@@ -547,8 +547,8 @@ + if (frameSize == 0) { + // We hit a non SkippableFrame ==> not compressed by pzstd or corrupted + // Pass the rest of the source to this decompression task +- state.log(VERBOSE, +- "Input not in pzstd format, falling back to serial decompression\n"); ++ state.log(VERBOSE, "%s\n", ++ "Input not in pzstd format, falling back to serial decompression"); + while (status == FileStatus::Continue && !state.errorHolder.hasError()) { + status = readData(*in, chunkSize, chunkSize, fd, &totalBytesRead); + } diff --git a/patches/0008-Address-embedded-zlib.patch b/patches/0008-Address-embedded-zlib.patch new file mode 100644 index 0000000..87a81cb --- /dev/null +++ b/patches/0008-Address-embedded-zlib.patch @@ -0,0 +1,45 @@ +Description: Fix use of fprintf +Author: Sascha Steinbiss +--- a/zlibWrapper/Makefile ++++ b/zlibWrapper/Makefile +@@ -13,7 +13,7 @@ + ZSTDLIBDIR = ../lib + ZSTDLIBRARY = $(ZSTDLIBDIR)/libzstd.a + ZLIBWRAPPER_PATH = . +-GZFILES = gzclose.o gzlib.o gzread.o gzwrite.o ++#GZFILES = gzclose.o gzlib.o gzread.o gzwrite.o + EXAMPLE_PATH = examples + PROGRAMS_PATH = ../programs + TEST_FILE = ../doc/zstd_compression_format.md +@@ -67,16 +67,16 @@ + #.c.o: + # $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< + +-minigzip: $(EXAMPLE_PATH)/minigzip.o $(ZLIBWRAPPER_PATH)/zstd_zlibwrapper.o $(GZFILES) $(ZSTDLIBRARY) ++minigzip: $(EXAMPLE_PATH)/minigzip.o $(ZLIBWRAPPER_PATH)/zstd_zlibwrapper.o $(ZSTDLIBRARY) + $(CC) $(LDFLAGS) $^ $(ZSTDLIBRARY) $(ZLIB_LIBRARY) -o $@ + +-minigzip_zstd: $(EXAMPLE_PATH)/minigzip.o $(ZLIBWRAPPER_PATH)/zstdTurnedOn_zlibwrapper.o $(GZFILES) $(ZSTDLIBRARY) ++minigzip_zstd: $(EXAMPLE_PATH)/minigzip.o $(ZLIBWRAPPER_PATH)/zstdTurnedOn_zlibwrapper.o $(ZSTDLIBRARY) + $(CC) $(LDFLAGS) $^ $(ZSTDLIBRARY) $(ZLIB_LIBRARY) -o $@ + +-example: $(EXAMPLE_PATH)/example.o $(ZLIBWRAPPER_PATH)/zstd_zlibwrapper.o $(GZFILES) $(ZSTDLIBRARY) ++example: $(EXAMPLE_PATH)/example.o $(ZLIBWRAPPER_PATH)/zstd_zlibwrapper.o $(ZSTDLIBRARY) + $(CC) $(LDFLAGS) $^ $(ZLIB_LIBRARY) -o $@ + +-example_zstd: $(EXAMPLE_PATH)/example.o $(ZLIBWRAPPER_PATH)/zstdTurnedOn_zlibwrapper.o $(GZFILES) $(ZSTDLIBRARY) ++example_zstd: $(EXAMPLE_PATH)/example.o $(ZLIBWRAPPER_PATH)/zstdTurnedOn_zlibwrapper.o $(ZSTDLIBRARY) + $(CC) $(LDFLAGS) $^ $(ZLIB_LIBRARY) -o $@ + + fitblk: $(EXAMPLE_PATH)/fitblk.o $(ZLIBWRAPPER_PATH)/zstd_zlibwrapper.o $(ZSTDLIBRARY) +--- a/zlibWrapper/examples/example.c ++++ b/zlibWrapper/examples/example.c +@@ -27,7 +27,7 @@ + + /* @(#) $Id$ */ + +-#include "zstd_zlibwrapper.h" ++#include "zlib.h" + #include + + #ifdef STDC diff --git a/patches/0009-Add-shebang-for-scripts.patch b/patches/0009-Add-shebang-for-scripts.patch new file mode 100644 index 0000000..6a07f73 --- /dev/null +++ b/patches/0009-Add-shebang-for-scripts.patch @@ -0,0 +1,8 @@ +Description: add shebang line to new script +Author: Sascha Steinbiss +--- a/programs/zstdless ++++ b/programs/zstdless +@@ -1 +1,3 @@ ++#!/bin/sh ++ + zstdcat $@ | less diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..02f0372 --- /dev/null +++ b/patches/series @@ -0,0 +1,9 @@ +0001-Skip-long-running-tests.patch +0002-Build-lib-by-default.patch +0003-Add-symlinks-for-extra-manpages.patch +0004-Add-help2man-d-pzstd-man-file.patch +0005-Ensure-CPPFLAGS-makes-it-to-the-compiler.patch +0006-Use-bash-for-test-script-portablitity.patch +0007-Fix-use-of-fprintf.patch +0008-Address-embedded-zlib.patch +0009-Add-shebang-for-scripts.patch diff --git a/rules b/rules new file mode 100755 index 0000000..2277d5b --- /dev/null +++ b/rules @@ -0,0 +1,27 @@ +#!/usr/bin/make -f + +export DH_VERBOSE=1 + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +export DEB_BUILD_MAINT_OPTIONS=hardening=+all + +# Upstream's makefiles will respect PREFIX, and this means we avoid a patch +export PREFIX=/usr + +%: + dh $@ --parallel + +override_dh_auto_build: + dh_auto_build + $(MAKE) -C contrib/pzstd/ pzstd + +override_dh_install: + # Call d-shlibmove to comply with library packaging guide + d-shlibmove --commit \ + --multiarch \ + --devunversioned \ + --exclude-la \ + --movedev "debian/tmp/usr/include/*" usr/include \ + --movedev "debian/tmp/usr/lib/pkgconfig/*" usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig \ + debian/tmp/usr/lib/lib*.so + dh_install diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/watch b/watch new file mode 100644 index 0000000..af6aca0 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=3 +opts="filenamemangle=s/(?:.*?)?v?(\d[\d.]*)\.tar\.gz/libzstd_$1.tar.gz/" \ + https://github.com/facebook/zstd/releases .*/archive/v?(\d\S*)\.tar\.gz diff --git a/zstd.docs b/zstd.docs new file mode 100644 index 0000000..8913f46 --- /dev/null +++ b/zstd.docs @@ -0,0 +1,2 @@ +NEWS +README.md diff --git a/zstd.install b/zstd.install new file mode 100644 index 0000000..8aa1dc5 --- /dev/null +++ b/zstd.install @@ -0,0 +1,2 @@ +usr/bin +contrib/pzstd/pzstd usr/bin diff --git a/zstd.manpages b/zstd.manpages new file mode 100644 index 0000000..05b4f3d --- /dev/null +++ b/zstd.manpages @@ -0,0 +1,2 @@ +contrib/pzstd/*.1 +programs/*zstd*.1 -- 2.30.2