Import libzstd_1.4.4+dfsg-3.debian.tar.xz
authorMichael R. Crusoe <michael.crusoe@gmail.com>
Thu, 13 Feb 2020 09:40:13 +0000 (09:40 +0000)
committerMichael R. Crusoe <michael.crusoe@gmail.com>
Thu, 13 Feb 2020 09:40:13 +0000 (09:40 +0000)
[dgit import tarball libzstd 1.4.4+dfsg-3 libzstd_1.4.4+dfsg-3.debian.tar.xz]

24 files changed:
README.Debian [new file with mode: 0644]
README.source [new file with mode: 0644]
changelog [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
libzstd-dev.examples [new file with mode: 0644]
libzstd1.symbols [new file with mode: 0644]
patches/0006-Use-bash-for-test-script-portablitity.patch [new file with mode: 0644]
patches/0008-Address-embedded-zlib.patch [new file with mode: 0644]
patches/0013-skip-memory-greedy-tests.patch [new file with mode: 0644]
patches/0014-Reproducible-build.patch [new file with mode: 0644]
patches/0015-Skip-dev-random-tests-on-hurd.patch [new file with mode: 0644]
patches/0018-Alias-renamed-API-symbols.patch [new file with mode: 0644]
patches/0019-blhc-workarounds.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
salsa-ci.yml [new file with mode: 0644]
source/format [new file with mode: 0644]
source/lintian-overrides [new file with mode: 0644]
tests/control [new file with mode: 0644]
watch [new file with mode: 0644]
zstd.docs [new file with mode: 0644]
zstd.install [new file with mode: 0644]
zstd.manpages [new file with mode: 0644]

diff --git a/README.Debian b/README.Debian
new file mode 100644 (file)
index 0000000..5341295
--- /dev/null
@@ -0,0 +1,6 @@
+1.2.0-1
+-------
+
+some patches have been removed, makefile had a lot of changes,
+the long running tests skip patch has been removed but may need
+further investigation to see if it is still needed.
diff --git a/README.source b/README.source
new file mode 100644 (file)
index 0000000..50aef85
--- /dev/null
@@ -0,0 +1 @@
+The examples were removed from the upstream tarball due to #869581
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..372914b
--- /dev/null
+++ b/changelog
@@ -0,0 +1,362 @@
+libzstd (1.4.4+dfsg-3) unstable; urgency=medium
+
+  * Team upload.
+  * Source only upload.
+
+ -- Michael R. Crusoe <michael.crusoe@gmail.com>  Thu, 13 Feb 2020 10:40:13 +0100
+
+libzstd (1.4.4+dfsg-2) unstable; urgency=medium
+
+  * Team upload.
+  * Install all the man pages.
+  * Standards-Version: 4.5.0 (routine-update)
+  * debhelper-compat 12 (routine-update)
+
+ -- Michael R. Crusoe <michael.crusoe@gmail.com>  Thu, 13 Feb 2020 09:10:22 +0100
+
+libzstd (1.4.4+dfsg-1) unstable; urgency=medium
+
+  [ Justin Aplin ]
+  * New upstream version 1.4.4+dfsg
+  * Refresh patches
+  * Call Salsa CI with variable DB_BUILD_PARAM: '-v1.1.2-1', since this is the
+    oldest version in active repositories
+  * Add Rules-Requires-Root: binary-targets to debian/control to comply with
+    current DPM
+  * Bump Standards-Version to 4.4.1, changes noted above
+  * Update symbols file for libzstd1
+  * Call dh_makeshlibs with -V 'libzstd1 (>= 1.4.4)', since this version
+    introduced new public symbols
+  * Add an entry in debian/source/lintian-overrides to prevent libzstd1's
+    Section entry from triggering binary-control-field-duplicates-source,
+    since this field is necessary for the build
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Fri, 15 Nov 2019 17:15:40 +0100
+
+libzstd (1.4.3+dfsg-1) unstable; urgency=medium
+
+  [ Alexandre Mestiashvili ]
+  * Fix a typo causing test failures on mips(el) architectures in
+    d/patches/0013-skip-memory-greedy-tests.patch
+  * Remove circle.yml from Files-Excluded section in d/copyright
+  * New upstream version 1.4.3+dfsg
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Tue, 20 Aug 2019 13:33:51 +0200
+
+libzstd (1.4.2+dfsg-1) unstable; urgency=medium
+
+  [ Justin Aplin ]
+  * New upstream version 1.4.2+dfsg
+  * Refresh and drop applied by upstream patches
+  * Add patch aliasing two renamed but unchanged symbols to maintain backwards
+    compatibility
+  * Build with ZSTD_LEGACY_MULTITHREADED_API=1 to maintain backwards
+    compatibility
+  * Update symbols file for libzstd1
+  * Call dh_makeshlibs with -V 'libzstd1 (>= 1.4.0)', since this version
+    introduced new public symbols
+  * Bump debhelper compat level to 12.
+  * Bump Standards-Version to 4.4.0, no changes needed.
+  * Salsa-CI integration
+
+  [ Alexandre Mestiashvili ]
+  * Add .cirrus.yml to Files-Excluded list in d/copyright
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Mon, 19 Aug 2019 15:14:31 +0200
+
+libzstd (1.3.8+dfsg-3) unstable; urgency=medium
+
+  * Add patch fixing zstdgrep exit code when operating on files
+    Closes: #918390, thanks to Jörg-Volker Peetz <jvpeetz@web.de>
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Sat, 05 Jan 2019 23:42:20 +0100
+
+libzstd (1.3.8+dfsg-2) unstable; urgency=medium
+
+  * Add patch skipping tests failing on GNU/Hurd when writing to special files
+    such as /dev/zero or /dev/random
+  * Upload to unstable
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Thu, 03 Jan 2019 14:47:31 +0100
+
+libzstd (1.3.8+dfsg-1) experimental; urgency=medium
+
+  * Add .circleci to Files-Excluded
+  * New upstream version 1.3.8+dfsg
+  * Update docs, install all md files and CHANGELOG
+  * Bumpt Policy to 4.3.0
+  * Refresh and drop applied by upstream patches
+  * Update symbols file for libzstd1,
+    removed! 6 symbols from experimental API, but no reverse dependencies
+    of libzstd1 seem to use any of the removed symbols
+    See also: https://github.com/facebook/zstd/issues/1111
+  * Call dh_makeshlibs with -V 'libzstd1 (>= 1.3.8)', since this version
+    introduced new public symbols
+  * Update zstd.lintian-overrides, zstd{grep,less} got man pages
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Mon, 31 Dec 2018 15:19:12 +0100
+
+libzstd (1.3.5+dfsg-2) unstable; urgency=medium
+
+  * Add udeb package for libzstd1, Closes: #908834
+  * Bump Policy to 4.2.1
+  * Call dh_makeshlibs with -V 'libzstd1 (>= 1.3.5)', since this version
+    introduced new public symbols
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Fri, 12 Oct 2018 08:00:27 +0000
+
+libzstd (1.3.5+dfsg-1) unstable; urgency=medium
+
+  [ Alexandre Mestiashvili ]
+  * Add attribuition for the patch
+  * Fix varying number of threads in pzstd man page, making build reproducible
+  * New upstream version 1.3.5+dfsg
+  * Refresh and drop patches applied by upstream
+  * Update d/zstd.lintian-overrides
+
+  [ Balint Reczey ]
+  * Update symbols file
+  * Allow Invoking `zstd --list` When `stdin` is not a `tty`
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Fri, 21 Sep 2018 18:46:28 +0000
+
+libzstd (1.3.4+dfsg-3) unstable; urgency=medium
+
+  * Add patch provided by Chris Lamb making build reproducible,
+    Closes: #897904
+  * Update patch skipping heavy tests on mips(el) and hurd
+  * Add patch fixing tests on GNU/Hurd
+  * Drop not needed override_dh_auto_test
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Wed, 09 May 2018 19:25:10 +0200
+
+libzstd (1.3.4+dfsg-2) unstable; urgency=medium
+
+  * Add liblzma-dev and liblz4-dev to build-depends to enable xz and lz4
+    support
+  * Patch tests to avoid FTBFS on mips(el) architectures
+  * Use help2man for pzstd man page, drop patches providing obsolete man pages
+  * Update zstd.lintian-overrides, add more binaries without man pages
+  * Add override for dh_auto_test, on hurd run only simple tests
+  * Update 0012-typos.patch, forward to upstream
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Wed, 02 May 2018 15:43:16 +0200
+
+libzstd (1.3.4+dfsg-1) unstable; urgency=medium
+
+  * Team upload.
+
+  [ Alexandre Mestiashvili ]
+  * New upstream version 1.3.4+dfsg
+  * Refresh patches, remove indexes
+  * Update d/libzstd1.symbols fixing minimal-version
+  * Update d/copyright, starting from 1.3.1 patent claim is removed
+  * Add comments to unstable symbols
+
+  [ Mattia Rizzolo ]
+  * Update copyright after the new upstream release.
+
+  [ Sascha Steinbiss ]
+  * Remove obsolete patch.
+  * Reword patch description.
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Wed, 25 Apr 2018 10:39:39 +0200
+
+libzstd (1.3.3+dfsg-2) unstable; urgency=medium
+
+  * Team upload.
+
+  [ Dimitri John Ledkov ]
+  * Mark -dev and library packages Multi-Arch same.
+  * Update Vcs fields for salsa.
+  * Cleanup unused patches.
+
+  [ Andreas Hasenack ]
+  * d/rules: also run the clean Makefile target in the pzstd directory.
+
+  [ Alexandre Mestiashvili ]
+  * d/control: Update my email address.
+  * d/rules:
+    + Disable tests if DEB_BUILD_OPTIONS set to nocheck.
+    + Use dh_auto_build instead of $(MAKE) to avoid cross build failures.
+      Thanks to Helmut Grohne for the patch.  Closes: #895925
+    + Use dh_auto_clean instead of $(MAKE).
+
+  [ Adam Borowski ]
+  * Enable build on riscv64.  Closes: #895259
+
+  [ Mattia Rizzolo ]
+  * Bump debhelper compat level to 11.
+  * Bump Standards-Version to 4.1.4, no changes needed.
+  * Remove patch skipping a test on hurd-i386: allegedly the underlying issue
+    has been fixed instead.
+
+ -- Mattia Rizzolo <mattia@debian.org>  Sat, 21 Apr 2018 11:26:59 +0200
+
+libzstd (1.3.3+dfsg-1) unstable; urgency=medium
+
+  * Update File-Excluded list in d/copyright
+  * New upstream version 1.3.3+dfsg, Closes: #883816
+  * Refresh patches
+  * Add zlib1g-dev to Build-Deps to enable gzip support in zstd,
+    Closes: #883827
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Thu, 21 Dec 2017 14:25:26 +0100
+
+libzstd (1.3.2+dfsg2-2) unstable; urgency=medium
+
+  * Team upload.
+  * Do not depend libzstd in zstd package since static linking seems
+    to be the preferred way to create the executable
+    Closes: #884876
+  * Standards-Version: 4.1.2
+
+ -- Andreas Tille <tille@debian.org>  Thu, 21 Dec 2017 11:43:12 +0100
+
+libzstd (1.3.2+dfsg2-1) unstable; urgency=medium
+
+  * Update d/copyright:
+    - don't strip examples from source tarball
+    - note BSD and GPL-2 license for examples
+  * New upstream version 1.3.2+dfsg2
+    Closes: #883271
+  * Drop override_dh_auto_clean in d/rules as examples are back
+  * Drop 0010-do_not_make_examples.patch as examples are back
+  * Remove ruby-ronn from Build-Depends, as it renders libzstd package
+    not installable on many architectures.
+    Use man page shipped by upstream
+  * Apply cme fix dpkg, reformat 0010-do-not.. patch header,
+    fix VCS-Browser field
+  * Add override for manpage-has-errors-from-man lintian warning
+  * Install examples with libzstd-dev
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Fri, 01 Dec 2017 17:18:39 +0100
+
+libzstd (1.3.2+dfsg1-1) unstable; urgency=medium
+
+  [ Alexandre Mestiashvili ]
+  * Update Files-Excluded section in d/copyright
+  * New upstream version 1.3.2+dfsg1
+  * Update d/rules:
+    - trick dh_auto_clean with empty exmaples dir
+    - force man page generation
+  * Add symbols file for libzstd1
+  * Add 0011-skip-long-running-tests_on_hurd.patch fixing tests on gnu hurd
+  * Add d/patches/0012-typos.patch fixing a typo
+  * Enable autopkgtests via d/tests/control
+  * Override lintian's complain about missing man pages
+  * Add myself to uploaders
+  * Add ruby-ronn to build-deps, needed for man page generation
+
+  [ Andreas Tille ]
+  * d/watch: Fix version mangling
+
+ -- Alexandre Mestiashvili <mestia@debian.org>  Thu, 30 Nov 2017 23:32:41 +0100
+
+libzstd (1.3.2+dfsg-1) unstable; urgency=medium
+
+  * Team upload
+  * New upstream version
+    Closes: #881187
+  * Standards-Version: 4.1.1
+
+ -- Andreas Tille <tille@debian.org>  Thu, 09 Nov 2017 07:55:32 +0100
+
+libzstd (1.3.1+dfsg-2) unstable; urgency=medium
+
+  * Team upload
+  * Follow hint given by James Cowgill to recude number of threads
+    on 32Bit MIPS architecture
+    Closes: #876416
+
+ -- Andreas Tille <tille@debian.org>  Fri, 22 Sep 2017 15:29:35 +0200
+
+libzstd (1.3.1+dfsg-1) unstable; urgency=medium
+
+  * Team upload
+  * New upstream version
+  * Exclude examples from upstream tarball
+    Closes: #869581
+  * debhelper 10
+  * cme fix dpkg-control
+  * Standards-Version: 4.1.0 (no changes needed)
+  * Fix copyright
+
+ -- Andreas Tille <tille@debian.org>  Wed, 06 Sep 2017 15:29:29 +0200
+
+libzstd (1.2.0-1) unstable; urgency=medium
+
+  * New upstream release (Closes: #863159).
+
+ -- Olivier Sallou <osallou@debian.org>  Wed, 24 May 2017 11:28:27 +0000
+
+libzstd (1.1.2-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream version 1.1.2
+
+ -- Sascha Steinbiss <satta@debian.org>  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 <kdmfoss@gmail.com>  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 <kdmfoss@gmail.com>  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 <kdmfoss@gmail.com>  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 <kdmfoss@gmail.com>  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 <kdmfoss@gmail.com>  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 <kdmfoss@gmail.com>  Wed, 03 Feb 2016 11:26:21 +0200
+
+libzstd (0.4.5-1) unstable; urgency=low
+
+  * Initial release (Closes: #806767)
+
+ -- Kevin Murray <kdmfoss@gmail.com>  Tue, 01 Dec 2015 13:54:36 +1100
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..18a5b98
--- /dev/null
+++ b/control
@@ -0,0 +1,61 @@
+Source: libzstd
+Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
+Uploaders: Kevin Murray <kdmfoss@gmail.com>,
+           Olivier Sallou <osallou@debian.org>,
+           Alexandre Mestiashvili <mestia@debian.org>
+Section: libs
+Priority: optional
+Build-Depends: d-shlibs,
+               debhelper-compat (= 12),
+               help2man,
+               liblz4-dev,
+               liblzma-dev,
+               zlib1g-dev
+Rules-Requires-Root: binary-targets
+Standards-Version: 4.5.0
+Vcs-Browser: https://salsa.debian.org/med-team/libzstd
+Vcs-Git: https://salsa.debian.org/med-team/libzstd.git
+Homepage: https://github.com/facebook/zstd
+
+Package: libzstd-dev
+Architecture: any
+Multi-Arch: same
+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
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+         ${shlibs: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: ${misc:Depends},
+         ${shlibs: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.
+
+Package: libzstd1-udeb
+Architecture: any
+Section: debian-installer
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Package-Type: udeb
+Description: fast lossless compression algorithm library for debian-installer
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..65461ac
--- /dev/null
+++ b/copyright
@@ -0,0 +1,133 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Zstd
+Source: https://github.com/facebook/zstd
+Files-Excluded: appveyor.yml
+                build/*
+                programs/windres/*
+                .travis.yml
+                .buckversion
+                .buckconfig
+                .circleci/*
+                .cirrus.yml
+
+Files: *
+Copyright: 2013-2018, Yann Collet
+              2016, Przemyslaw Skibinski
+              2016-2018, Facebook, Inc.
+License: BSD-3-clause and GPL-2
+Comment: Starting from 1.3.1 zstd's patent claim is removed
+ see: https://github.com/facebook/zstd/pull/801
+
+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: contrib/linux-kernel/fs/squashfs/*
+Copyright: 2017 Facebook
+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; either version 2,
+ or (at your option) any later version.
+ .
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+ .
+ On Debian systems you can find a full copy of the GNU General Public
+ License version 2 at /usr/share/common-licenses/GPL-2.
+
+Files: lib/dictBuilder/divsufsort.*
+Copyright: 2003-2008, Yuta Mori
+License: Expat
+
+Files: examples/*
+Copyright: 2016-present, Yann Collet, Facebook, Inc.
+License: BSD-3-clause and GPL-2
+
+Files: debian/*
+Copyright: 2015-2016 Kevin Murray <spam@kdmurray.id.au>
+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.
+
+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, v2, as
+ published by the Free Software Foundation
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+
+License: BSD-3-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.
+     * Neither the name of cereal 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 RANDOLPH VOORHIES OR SHANE GRANT 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 --git a/libzstd-dev.examples b/libzstd-dev.examples
new file mode 100644 (file)
index 0000000..e39721e
--- /dev/null
@@ -0,0 +1 @@
+examples/*
diff --git a/libzstd1.symbols b/libzstd1.symbols
new file mode 100644 (file)
index 0000000..1610b96
--- /dev/null
@@ -0,0 +1,208 @@
+libzstd.so.1 libzstd1 #MINVER#
+* Build-Depends-Package: libzstd-dev
+ ZBUFF_compressContinue@Base 1.3.2
+ ZBUFF_compressEnd@Base 1.3.2
+ ZBUFF_compressFlush@Base 1.3.2
+ ZBUFF_compressInit@Base 1.3.2
+ ZBUFF_compressInitDictionary@Base 1.3.2
+ ZBUFF_compressInit_advanced@Base 1.3.2
+ ZBUFF_createCCtx@Base 1.3.2
+ ZBUFF_createCCtx_advanced@Base 1.3.2
+ ZBUFF_createDCtx@Base 1.3.2
+ ZBUFF_createDCtx_advanced@Base 1.3.2
+ ZBUFF_decompressContinue@Base 1.3.2
+ ZBUFF_decompressInit@Base 1.3.2
+ ZBUFF_decompressInitDictionary@Base 1.3.2
+ ZBUFF_freeCCtx@Base 1.3.2
+ ZBUFF_freeDCtx@Base 1.3.2
+ ZBUFF_getErrorName@Base 1.3.2
+ ZBUFF_isError@Base 1.3.2
+ ZBUFF_recommendedCInSize@Base 1.3.2
+ ZBUFF_recommendedCOutSize@Base 1.3.2
+ ZBUFF_recommendedDInSize@Base 1.3.2
+ ZBUFF_recommendedDOutSize@Base 1.3.2
+ ZDICT_addEntropyTablesFromBuffer@Base 1.3.2
+ ZDICT_finalizeDictionary@Base 1.3.2
+ ZDICT_getDictID@Base 1.3.2
+ ZDICT_getErrorName@Base 1.3.2
+ ZDICT_isError@Base 1.3.2
+ ZDICT_optimizeTrainFromBuffer_cover@Base 1.3.2
+ ZDICT_optimizeTrainFromBuffer_fastCover@Base 1.3.8
+ ZDICT_trainFromBuffer@Base 1.3.2
+ ZDICT_trainFromBuffer_cover@Base 1.3.2
+ ZDICT_trainFromBuffer_fastCover@Base 1.3.8
+ ZDICT_trainFromBuffer_legacy@Base 1.3.2
+ ZSTDMT_compressCCtx@Base 1.3.2
+ ZSTDMT_compressStream@Base 1.3.2
+ ZSTDMT_compressStream_generic@Base 1.3.2
+ ZSTDMT_compress_advanced@Base 1.3.2
+ ZSTDMT_createCCtx@Base 1.3.2
+ ZSTDMT_createCCtx_advanced@Base 1.3.2
+ ZSTDMT_endStream@Base 1.3.2
+ ZSTDMT_flushStream@Base 1.3.2
+ ZSTDMT_freeCCtx@Base 1.3.2
+ ZSTDMT_getMTCtxParameter@Base 1.3.5
+ ZSTDMT_initCStream@Base 1.3.2
+ ZSTDMT_initCStream_advanced@Base 1.3.2
+ ZSTDMT_initCStream_usingCDict@Base 1.3.2
+ ZSTDMT_nextInputSizeHint@Base 1.3.8
+ ZSTDMT_resetCStream@Base 1.3.2
+ ZSTDMT_setMTCtxParameter@Base 1.3.2
+ ZSTDMT_sizeof_CCtx@Base 1.3.2
+ ZSTD_CCtxParam_getParameter@Base 1.3.5
+ ZSTD_CCtxParam_setParameter@Base 1.3.2
+ ZSTD_CCtxParams_getParameter@Base 1.4.0
+ (should only be used when static linking)ZSTD_CCtxParams_init@Base 1.3.4
+ (should only be used when static linking)ZSTD_CCtxParams_init_advanced@Base 1.3.4
+ (should only be used when static linking)ZSTD_CCtxParams_reset@Base 1.3.4
+ ZSTD_CCtxParams_setParameter@Base 1.4.0
+ ZSTD_CCtx_getParameter@Base 1.3.5
+ ZSTD_CCtx_loadDictionary@Base 1.3.2
+ ZSTD_CCtx_loadDictionary_advanced@Base 1.3.2
+ ZSTD_CCtx_loadDictionary_byReference@Base 1.3.2
+ ZSTD_CCtx_refCDict@Base 1.3.2
+ ZSTD_CCtx_refPrefix@Base 1.3.2
+ ZSTD_CCtx_refPrefix_advanced@Base 1.3.2
+ ZSTD_CCtx_reset@Base 1.3.2
+ ZSTD_CCtx_setParameter@Base 1.3.2
+ ZSTD_CCtx_setParametersUsingCCtxParams@Base 1.3.2
+ ZSTD_CCtx_setPledgedSrcSize@Base 1.3.2
+ ZSTD_CStreamInSize@Base 1.3.2
+ ZSTD_CStreamOutSize@Base 1.3.2
+ ZSTD_DCtx_loadDictionary@Base 1.3.4
+ ZSTD_DCtx_loadDictionary_advanced@Base 1.3.4
+ ZSTD_DCtx_loadDictionary_byReference@Base 1.3.4
+ ZSTD_DCtx_refDDict@Base 1.3.4
+ ZSTD_DCtx_refPrefix@Base 1.3.4
+ ZSTD_DCtx_refPrefix_advanced@Base 1.3.4
+ ZSTD_DCtx_reset@Base 1.3.2
+ ZSTD_DCtx_setFormat@Base 1.3.2
+ ZSTD_DCtx_setMaxWindowSize@Base 1.3.2
+ ZSTD_DCtx_setParameter@Base 1.3.8
+ ZSTD_DStreamInSize@Base 1.3.2
+ ZSTD_DStreamOutSize@Base 1.3.2
+ ZSTD_adjustCParams@Base 1.3.2
+ ZSTD_cParam_getBounds@Base 1.3.8
+ ZSTD_checkCParams@Base 1.3.2
+ ZSTD_compress2@Base 1.3.8
+ ZSTD_compress@Base 1.3.2
+ ZSTD_compressBegin@Base 1.3.2
+ ZSTD_compressBegin_advanced@Base 1.3.2
+ ZSTD_compressBegin_usingCDict@Base 1.3.2
+ ZSTD_compressBegin_usingCDict_advanced@Base 1.3.2
+ ZSTD_compressBegin_usingDict@Base 1.3.2
+ ZSTD_compressBlock@Base 1.3.2
+ ZSTD_compressBound@Base 1.3.2
+ ZSTD_compressCCtx@Base 1.3.2
+ ZSTD_compressContinue@Base 1.3.2
+ ZSTD_compressEnd@Base 1.3.2
+ ZSTD_compressStream2@Base 1.3.8
+ ZSTD_compressStream2_simpleArgs@Base 1.3.8
+ ZSTD_compressStream@Base 1.3.2
+ ZSTD_compress_advanced@Base 1.3.2
+ ZSTD_compress_usingCDict@Base 1.3.2
+ ZSTD_compress_usingCDict_advanced@Base 1.3.2
+ ZSTD_compress_usingDict@Base 1.3.2
+ ZSTD_copyCCtx@Base 1.3.2
+ ZSTD_copyDCtx@Base 1.3.2
+ ZSTD_createCCtx@Base 1.3.2
+ ZSTD_createCCtxParams@Base 1.3.2
+ ZSTD_createCCtx_advanced@Base 1.3.2
+ ZSTD_createCDict@Base 1.3.2
+ ZSTD_createCDict_advanced@Base 1.3.2
+ ZSTD_createCDict_byReference@Base 1.3.2
+ ZSTD_createCStream@Base 1.3.2
+ ZSTD_createCStream_advanced@Base 1.3.2
+ ZSTD_createDCtx@Base 1.3.2
+ ZSTD_createDCtx_advanced@Base 1.3.2
+ ZSTD_createDDict@Base 1.3.2
+ ZSTD_createDDict_advanced@Base 1.3.2
+ ZSTD_createDDict_byReference@Base 1.3.2
+ ZSTD_createDStream@Base 1.3.2
+ ZSTD_createDStream_advanced@Base 1.3.2
+ ZSTD_dParam_getBounds@Base 1.3.8
+ ZSTD_decodingBufferSize_min@Base 1.3.2
+ ZSTD_decompress@Base 1.3.2
+ ZSTD_decompressBegin@Base 1.3.2
+ ZSTD_decompressBegin_usingDDict@Base 1.3.2
+ ZSTD_decompressBegin_usingDict@Base 1.3.2
+ ZSTD_decompressBlock@Base 1.3.2
+ ZSTD_decompressBound@Base 1.4.0
+ ZSTD_decompressContinue@Base 1.3.2
+ ZSTD_decompressDCtx@Base 1.3.2
+ ZSTD_decompressStream@Base 1.3.2
+ ZSTD_decompressStream_simpleArgs@Base 1.3.8
+ ZSTD_decompress_usingDDict@Base 1.3.2
+ ZSTD_decompress_usingDict@Base 1.3.2
+ ZSTD_endStream@Base 1.3.2
+ ZSTD_estimateCCtxSize@Base 1.3.2
+ ZSTD_estimateCCtxSize_usingCCtxParams@Base 1.3.2
+ ZSTD_estimateCCtxSize_usingCParams@Base 1.3.2
+ ZSTD_estimateCDictSize@Base 1.3.2
+ ZSTD_estimateCDictSize_advanced@Base 1.3.2
+ ZSTD_estimateCStreamSize@Base 1.3.2
+ ZSTD_estimateCStreamSize_usingCCtxParams@Base 1.3.2
+ ZSTD_estimateCStreamSize_usingCParams@Base 1.3.2
+ ZSTD_estimateDCtxSize@Base 1.3.2
+ ZSTD_estimateDDictSize@Base 1.3.2
+ ZSTD_estimateDStreamSize@Base 1.3.2
+ ZSTD_estimateDStreamSize_fromFrame@Base 1.3.2
+ ZSTD_findDecompressedSize@Base 1.3.2
+ ZSTD_findFrameCompressedSize@Base 1.3.2
+ ZSTD_flushStream@Base 1.3.2
+ ZSTD_frameHeaderSize@Base 1.3.2
+ ZSTD_freeCCtx@Base 1.3.2
+ ZSTD_freeCCtxParams@Base 1.3.2
+ ZSTD_freeCDict@Base 1.3.2
+ ZSTD_freeCStream@Base 1.3.2
+ ZSTD_freeDCtx@Base 1.3.2
+ ZSTD_freeDDict@Base 1.3.2
+ ZSTD_freeDStream@Base 1.3.2
+ ZSTD_getBlockSize@Base 1.3.2
+ ZSTD_getCParams@Base 1.3.2
+ ZSTD_getDecompressedSize@Base 1.3.2
+ ZSTD_getDictID_fromDDict@Base 1.3.2
+ ZSTD_getDictID_fromDict@Base 1.3.2
+ ZSTD_getDictID_fromFrame@Base 1.3.2
+ ZSTD_getErrorCode@Base 1.3.2
+ ZSTD_getErrorName@Base 1.3.2
+ ZSTD_getErrorString@Base 1.3.2
+ ZSTD_getFrameContentSize@Base 1.3.2
+ ZSTD_getFrameHeader@Base 1.3.2
+ ZSTD_getFrameHeader_advanced@Base 1.3.5
+ ZSTD_getFrameProgression@Base 1.3.8
+ ZSTD_getParams@Base 1.3.2
+ ZSTD_getSequences@Base 1.4.4
+ ZSTD_initCStream@Base 1.3.2
+ ZSTD_initCStream_advanced@Base 1.3.2
+ ZSTD_initCStream_srcSize@Base 1.3.2
+ ZSTD_initCStream_usingCDict@Base 1.3.2
+ ZSTD_initCStream_usingCDict_advanced@Base 1.3.2
+ ZSTD_initCStream_usingDict@Base 1.3.2
+ ZSTD_initDStream@Base 1.3.2
+ ZSTD_initDStream_usingDDict@Base 1.3.2
+ ZSTD_initDStream_usingDict@Base 1.3.2
+ ZSTD_initStaticCCtx@Base 1.3.2
+ ZSTD_initStaticCDict@Base 1.3.2
+ ZSTD_initStaticCStream@Base 1.3.2
+ ZSTD_initStaticDCtx@Base 1.3.2
+ ZSTD_initStaticDDict@Base 1.3.2
+ ZSTD_initStaticDStream@Base 1.3.2
+ ZSTD_insertBlock@Base 1.3.2
+ ZSTD_isError@Base 1.3.2
+ ZSTD_isFrame@Base 1.3.2
+ ZSTD_maxCLevel@Base 1.3.2
+ ZSTD_minCLevel@Base 1.3.8
+ ZSTD_nextInputType@Base 1.3.2
+ ZSTD_nextSrcSizeToDecompress@Base 1.3.2
+ ZSTD_resetCStream@Base 1.3.2
+ ZSTD_resetDStream@Base 1.3.2
+ ZSTD_sizeof_CCtx@Base 1.3.2
+ ZSTD_sizeof_CDict@Base 1.3.2
+ ZSTD_sizeof_CStream@Base 1.3.2
+ ZSTD_sizeof_DCtx@Base 1.3.2
+ ZSTD_sizeof_DDict@Base 1.3.2
+ ZSTD_sizeof_DStream@Base 1.3.2
+ ZSTD_toFlushNow@Base 1.3.8
+ ZSTD_versionNumber@Base 1.3.2
+ ZSTD_versionString@Base 1.3.2
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 (file)
index 0000000..57c6038
--- /dev/null
@@ -0,0 +1,16 @@
+From: Kevin Murray <spam@kdmurray.id.au>
+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(-)
+
+--- libzstd.orig/tests/playTests.sh
++++ libzstd/tests/playTests.sh
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+ set -e
diff --git a/patches/0008-Address-embedded-zlib.patch b/patches/0008-Address-embedded-zlib.patch
new file mode 100644 (file)
index 0000000..38cc42f
--- /dev/null
@@ -0,0 +1,45 @@
+Description: Do not build zlibWrapper examples against embedded code copies.
+Author: Sascha Steinbiss <satta@debian.org>
+--- libzstd.orig/zlibWrapper/Makefile
++++ libzstd/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
+@@ -77,16 +77,16 @@
+ #.c.o:
+ #     $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+-minigzip: $(EXAMPLE_PATH)/minigzip.o zstd_zlibwrapper.o $(GZFILES) $(ZSTDLIBRARY)
++minigzip: $(EXAMPLE_PATH)/minigzip.o zstd_zlibwrapper.o $(ZSTDLIBRARY)
+       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $^ $(ZSTDLIBRARY) $(ZLIB_LIBRARY) -o $@
+-minigzip_zstd: $(EXAMPLE_PATH)/minigzip.o zstdTurnedOn_zlibwrapper.o $(GZFILES) $(ZSTDLIBRARY)
++minigzip_zstd: $(EXAMPLE_PATH)/minigzip.o zstdTurnedOn_zlibwrapper.o $(ZSTDLIBRARY)
+       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $^ $(ZSTDLIBRARY) $(ZLIB_LIBRARY) -o $@
+-example: $(EXAMPLE_PATH)/example.o zstd_zlibwrapper.o $(GZFILES) $(ZSTDLIBRARY)
++example: $(EXAMPLE_PATH)/example.o zstd_zlibwrapper.o $(ZSTDLIBRARY)
+       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $^ $(ZLIB_LIBRARY) -o $@
+-example_zstd: $(EXAMPLE_PATH)/example.o zstdTurnedOn_zlibwrapper.o $(GZFILES) $(ZSTDLIBRARY)
++example_zstd: $(EXAMPLE_PATH)/example.o zstdTurnedOn_zlibwrapper.o $(ZSTDLIBRARY)
+       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $^ $(ZLIB_LIBRARY) -o $@
+ fitblk: $(EXAMPLE_PATH)/fitblk.o zstd_zlibwrapper.o $(ZSTDLIBRARY)
+--- libzstd.orig/zlibWrapper/examples/example.c
++++ libzstd/zlibWrapper/examples/example.c
+@@ -27,7 +27,7 @@
+ /* @(#) $Id$ */
+-#include "zstd_zlibwrapper.h"
++#include "zlib.h"
+ #include <stdio.h>
+ #ifdef STDC
diff --git a/patches/0013-skip-memory-greedy-tests.patch b/patches/0013-skip-memory-greedy-tests.patch
new file mode 100644 (file)
index 0000000..9882332
--- /dev/null
@@ -0,0 +1,38 @@
+Subject: Skip memory heavy tests causing FTBFS on mips(el) and hurd buildds
+From: Alex Mestiashvili <mestia@debian.org>
+--- libzstd.orig/tests/playTests.sh
++++ libzstd/tests/playTests.sh
+@@ -1103,8 +1103,13 @@
+ roundTripTest -g5000000000 -P99 1
+ roundTripTest -g1700000000 -P0 "1 --zstd=strategy=6"   # ensure btlazy2 can survive an overflow rescale
+-fileRoundTripTest -g4193M -P99 1
+-
++DEBARCH=$(dpkg-architecture -qDEB_HOST_ARCH)
++if [ "$DEBARCH" != 'hurd-i386' ]
++then
++    fileRoundTripTest -g4193M -P99 1
++else
++    println "\n**** skip memory greedy tests on $DEBARCH **** "
++fi
+ println "\n===>   zstd long, long distance matching round-trip tests "
+ roundTripTest -g270000000 "1 --single-thread --long"
+@@ -1121,9 +1126,14 @@
+     println "\n===>   zstdmt long round-trip tests "
+     roundTripTest -g80000000 -P99 "19 -T2" " "
+     roundTripTest -g5000000000 -P99 "1 -T2" " "
+-    roundTripTest -g500000000 -P97 "1 -T999" " "
+-    fileRoundTripTest -g4103M -P98 " -T0" " "
+-    roundTripTest -g400000000 -P97 "1 --long=24 -T2" " "
++    if [ "$DEBARCH" != 'mips' -a "$DEBARCH" != 'mipsel' -a "$DEBARCH" != 'hurd-i386' ]
++    then
++        roundTripTest -g500000000 -P97 "1 -T999" " "
++        fileRoundTripTest -g4103M -P98 " -T0" " "
++        roundTripTest -g400000000 -P97 "1 --long=24 -T2" " "
++    else
++        println "\n**** skip memory greedy tests on $DEBARCH **** "
++    fi
+     # Exposes the bug in https://github.com/facebook/zstd/pull/1678
+     # This test fails on 4 different travis builds at the time of writing
+     # because it needs to allocate 8 GB of memory.
diff --git a/patches/0014-Reproducible-build.patch b/patches/0014-Reproducible-build.patch
new file mode 100644 (file)
index 0000000..5d68baf
--- /dev/null
@@ -0,0 +1,16 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby@debian.org>
+Last-Update: 2018-05-04
+Applied-Upstream: https://github.com/facebook/zstd/commit/ef1abd3c071ce42a457404ee2bca6d5bebb87f62
+
+--- libzstd.orig/contrib/pzstd/Options.cpp
++++ libzstd/contrib/pzstd/Options.cpp
+@@ -77,7 +77,7 @@ void usage() {
+   std::fprintf(stderr, "  -p, --processes   #    : number of threads to use for (de)compression (default:<numcpus>)\n");
+   std::fprintf(stderr, "ZSTD options:\n");
+-  std::fprintf(stderr, "  -#                     : # compression level (1-%d, default:%d)\n", kMaxNonUltraCompressionLevel, kDefaultCompressionLevel);
++  std::fprintf(stderr, "  -#                     : # compression level (1-%d, default:<numcpus>)\n", kMaxNonUltraCompressionLevel);
+   std::fprintf(stderr, "  -d, --decompress       : decompression\n");
+   std::fprintf(stderr, "  -o                file : result stored into `file` (only if 1 input file)\n");
+   std::fprintf(stderr, "  -f, --force            : overwrite output without prompting, (de)compress links\n");
diff --git a/patches/0015-Skip-dev-random-tests-on-hurd.patch b/patches/0015-Skip-dev-random-tests-on-hurd.patch
new file mode 100644 (file)
index 0000000..002492b
--- /dev/null
@@ -0,0 +1,36 @@
+Description: Skip test failing on GNU/Hurd when writing on /dev/zero or
+ /dev/random. On different GNU/Hurd installations writing to either one or
+ another would fail. Currently writing to /dev/random results in the message
+ "Computer bought the farm" and exit status 1
+ See also: https://github.com/facebook/zstd/issues/1116
+From: Alex Mestiashvili <mestia@debian.org>
+--- libzstd.orig/tests/playTests.sh
++++ libzstd/tests/playTests.sh
+@@ -251,14 +251,19 @@
+ test ! -f tmp  # tmp should no longer be present
+ $ZSTD -f -d --rm tmp.zst
+ test ! -f tmp.zst   # tmp.zst should no longer be present
+-println "test : should quietly not remove non-regular file"
+-println hello > tmp
+-$ZSTD tmp -f -o "$DEVDEVICE" 2>tmplog > "$INTOVOID"
+-grep -v "Refusing to remove non-regular file" tmplog
+-rm -f tmplog
+-$ZSTD tmp -f -o "$INTOVOID" 2>&1 | grep -v "Refusing to remove non-regular file"
+-println "test : --rm on stdin"
+-println a | $ZSTD --rm > $INTOVOID   # --rm should remain silent
++if [ "$(dpkg-architecture -qDEB_HOST_ARCH)" != 'hurd-i386' ]
++then
++    println "test : should quietly not remove non-regular file"
++    println hello > tmp
++    $ZSTD tmp -f -o "$DEVDEVICE" 2>tmplog > "$INTOVOID"
++    grep -v "Refusing to remove non-regular file" tmplog
++    rm -f tmplog
++    $ZSTD tmp -f -o "$INTOVOID" 2>&1 | grep -v "Refusing to remove non-regular file"
++    println "test : --rm on stdin"
++    println a | $ZSTD --rm > $INTOVOID   # --rm should remain silent
++else
++    println "\n**** This test on $DEBARCH fails with \"Computer bought the farm\" **** "
++fi
+ rm tmp
+ $ZSTD -f tmp && die "tmp not present : should have failed"
+ test ! -f tmp.zst  # tmp.zst should not be created
diff --git a/patches/0018-Alias-renamed-API-symbols.patch b/patches/0018-Alias-renamed-API-symbols.patch
new file mode 100644 (file)
index 0000000..2ced3e7
--- /dev/null
@@ -0,0 +1,48 @@
+Description: Alias renamed API symbols
+ Add aliases for two renamed but unchanged symbols to avoid a useless
+ dependency. Add compiler warnings when compiling against the old symbols.
+Author: Justin Aplin <japlin@gmail.com>
+--- libzstd.orig/lib/compress/zstd_compress.c
++++ libzstd/lib/compress/zstd_compress.c
+@@ -518,6 +518,10 @@
+     return ZSTD_CCtxParams_setParameter(&cctx->requestedParams, param, value);
+ }
++size_t ZSTD_CCtxParam_setParameter(
++        ZSTD_CCtx_params* CCtxParams, ZSTD_cParameter param, int value)
++        __attribute__((alias("ZSTD_CCtxParams_setParameter")));
++
+ size_t ZSTD_CCtxParams_setParameter(ZSTD_CCtx_params* CCtxParams,
+                                     ZSTD_cParameter param, int value)
+ {
+@@ -706,6 +710,10 @@
+     return ZSTD_CCtxParams_getParameter(&cctx->requestedParams, param, value);
+ }
++size_t ZSTD_CCtxParam_getParameter(
++        ZSTD_CCtx_params* CCtxParams, ZSTD_cParameter param, int* value)
++         __attribute__((alias("ZSTD_CCtxParams_getParameter")));
++
+ size_t ZSTD_CCtxParams_getParameter(
+         ZSTD_CCtx_params* CCtxParams, ZSTD_cParameter param, int* value)
+ {
+--- libzstd.orig/lib/zstd.h
++++ libzstd/lib/zstd.h
+@@ -1560,6 +1560,8 @@
+  * @result : 0, or an error code (which can be tested with ZSTD_isError()).
+  */
+ ZSTDLIB_API size_t ZSTD_CCtxParams_setParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int value);
++ZSTDLIB_API size_t ZSTD_CCtxParam_setParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int value)
++                    __attribute__ ((deprecated ("Deprecated in 1.4.0, use ZSTD_CCtxParams_setParameter instead")));
+ /*! ZSTD_CCtxParams_getParameter() :
+  * Similar to ZSTD_CCtx_getParameter.
+@@ -1567,6 +1569,8 @@
+  * @result : 0, or an error code (which can be tested with ZSTD_isError()).
+  */
+ ZSTDLIB_API size_t ZSTD_CCtxParams_getParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int* value);
++ZSTDLIB_API size_t ZSTD_CCtxParam_getParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int* value)
++                    __attribute__ ((deprecated ("Deprecated in 1.4.0, use ZSTD_CCtxParams_getParameter instead")));
+ /*! ZSTD_CCtx_setParametersUsingCCtxParams() :
+  *  Apply a set of ZSTD_CCtx_params to the compression context.
diff --git a/patches/0019-blhc-workarounds.patch b/patches/0019-blhc-workarounds.patch
new file mode 100644 (file)
index 0000000..6b270a9
--- /dev/null
@@ -0,0 +1,668 @@
+Description: blhc workarounds
+ Builds zstd-small (not included in any packages) with
+ hardening flags.
+ Provides verbosity to blhc by removing most @s from Makefiles.
+ Slightly changes some status-related @echos to prevent false-
+ positive "Nonverbose Build" errors from blhc.
+Author: Justin Aplin <japlin@gmail.com>
+--- libzstd.orig/Makefile
++++ libzstd/Makefile
+@@ -46,16 +46,16 @@
+ .PHONY: lib lib-release libzstd.a
+ lib lib-release :
+-      @$(MAKE) -C $(ZSTDDIR) $@
++      $(MAKE) -C $(ZSTDDIR) $@
+ .PHONY: zstd zstd-release
+ zstd zstd-release:
+-      @$(MAKE) -C $(PRGDIR) $@
++      $(MAKE) -C $(PRGDIR) $@
+       cp $(PRGDIR)/zstd$(EXT) .
+ .PHONY: zstdmt
+ zstdmt:
+-      @$(MAKE) -C $(PRGDIR) $@
++      $(MAKE) -C $(PRGDIR) $@
+       cp $(PRGDIR)/zstd$(EXT) ./zstdmt$(EXT)
+ .PHONY: zlibwrapper
+@@ -109,18 +109,18 @@
+ .PHONY: clean
+ clean:
+-      @$(MAKE) -C $(ZSTDDIR) $@ > $(VOID)
+-      @$(MAKE) -C $(PRGDIR) $@ > $(VOID)
+-      @$(MAKE) -C $(TESTDIR) $@ > $(VOID)
+-      @$(MAKE) -C $(ZWRAPDIR) $@ > $(VOID)
+-      @$(MAKE) -C examples/ $@ > $(VOID)
+-      @$(MAKE) -C contrib/gen_html $@ > $(VOID)
+-      @$(MAKE) -C contrib/pzstd $@ > $(VOID)
+-      @$(MAKE) -C contrib/seekable_format/examples $@ > $(VOID)
+-      @$(MAKE) -C contrib/largeNbDicts $@ > $(VOID)
+-      @$(RM) zstd$(EXT) zstdmt$(EXT) tmp*
+-      @$(RM) -r lz4
+-      @echo Cleaning completed
++      $(MAKE) -C $(ZSTDDIR) $@ > $(VOID)
++      $(MAKE) -C $(PRGDIR) $@ > $(VOID)
++      $(MAKE) -C $(TESTDIR) $@ > $(VOID)
++      $(MAKE) -C $(ZWRAPDIR) $@ > $(VOID)
++      $(MAKE) -C examples/ $@ > $(VOID)
++      $(MAKE) -C contrib/gen_html $@ > $(VOID)
++      $(MAKE) -C contrib/pzstd $@ > $(VOID)
++      $(MAKE) -C contrib/seekable_format/examples $@ > $(VOID)
++      $(MAKE) -C contrib/largeNbDicts $@ > $(VOID)
++      $(RM) zstd$(EXT) zstdmt$(EXT) tmp*
++      $(RM) -r lz4
++      @echo "Cleaning completed"
+ #------------------------------------------------------------------------------
+ # make install is validated only for Linux, macOS, Hurd and some BSD targets
+@@ -143,7 +143,7 @@
+ ## list: Print all targets and their descriptions (if provided)
+ .PHONY: list
+ list:
+-      @TARGETS=$$($(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null \
++      TARGETS=$$($(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null \
+               | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' \
+               | $(EGREP) -v  -e '^[^[:alnum:]]' | sort); \
+       { \
+@@ -158,13 +158,13 @@
+ .PHONY: install armtest usan asan uasan
+ install:
+-      @$(MAKE) -C $(ZSTDDIR) $@
+-      @$(MAKE) -C $(PRGDIR) $@
++      $(MAKE) -C $(ZSTDDIR) $@
++      $(MAKE) -C $(PRGDIR) $@
+ .PHONY: uninstall
+ uninstall:
+-      @$(MAKE) -C $(ZSTDDIR) $@
+-      @$(MAKE) -C $(PRGDIR) $@
++      $(MAKE) -C $(ZSTDDIR) $@
++      $(MAKE) -C $(PRGDIR) $@
+ .PHONY: travis-install
+ travis-install:
+--- libzstd.orig/contrib/gen_html/Makefile
++++ libzstd/contrib/gen_html/Makefile
+@@ -47,5 +47,5 @@
+ .PHONY: clean
+ clean:
+-      @$(RM) gen_html$(EXT)
+-      @echo Cleaning completed
++      $(RM) gen_html$(EXT)
++      @echo "Cleaning completed"
+--- libzstd.orig/contrib/linux-kernel/test/Makefile
++++ libzstd/contrib/linux-kernel/test/Makefile
+@@ -26,17 +26,17 @@
+ # Install libfuzzer
+ libFuzzer.a:
+-      @$(RM) -rf Fuzzer
+-      @git clone https://chromium.googlesource.com/chromium/llvm-project/llvm/lib/Fuzzer
+-      @./Fuzzer/build.sh
++      $(RM) -rf Fuzzer
++      git clone https://chromium.googlesource.com/chromium/llvm-project/llvm/lib/Fuzzer
++      ./Fuzzer/build.sh
+ # Install googletest
+ .PHONY: googletest
+ googletest:
+-      @$(RM) -rf googletest
+-      @git clone https://github.com/google/googletest
+-      @mkdir -p googletest/build
+-      @cd googletest/build && cmake .. && $(MAKE)
++      $(RM) -rf googletest
++      git clone https://github.com/google/googletest
++      mkdir -p googletest/build
++      cd googletest/build && cmake .. && $(MAKE)
+ clean:
+       $(RM) -f *.{o,a} ../lib/zstd/*.{o,a} ../lib/*.o
+--- libzstd.orig/contrib/pzstd/Makefile
++++ libzstd/contrib/pzstd/Makefile
+@@ -214,10 +214,10 @@
+ .PHONY: googletest
+ googletest: PZSTD_CCXXFLAGS += -fPIC
+ googletest:
+-      @$(RM) -rf googletest
+-      @git clone https://github.com/google/googletest
+-      @mkdir -p googletest/build
+-      @cd googletest/build && cmake $(GTEST_CMAKEFLAGS) -DCMAKE_CXX_FLAGS="$(ALL_CXXFLAGS)" .. && $(MAKE)
++      $(RM) -rf googletest
++      git clone https://github.com/google/googletest
++      mkdir -p googletest/build
++      cd googletest/build && cmake $(GTEST_CMAKEFLAGS) -DCMAKE_CXX_FLAGS="$(ALL_CXXFLAGS)" .. && $(MAKE)
+ .PHONY: googletest32
+ googletest32: PZSTD_CCXXFLAGS  += -m32
+@@ -234,7 +234,7 @@
+       $(RM) -f utils/test/*.o utils/test/*Test$(EXT) utils/test/*.Td utils/test/*.d
+       $(RM) -f $(PROGDIR)/*.o $(PROGDIR)/*.Td $(PROGDIR)/*.d
+       $(MAKE) -C $(ZSTDDIR) clean
+-      @echo Cleaning completed
++      @echo "Cleaning completed"
+ # Cancel implicit rules
+--- libzstd.orig/contrib/seekable_format/examples/Makefile
++++ libzstd/contrib/seekable_format/examples/Makefile
+@@ -46,8 +46,8 @@
+       $(CC) $(CPPFLAGS) $(CFLAGS) $^ $(LDFLAGS) -o $@ -pthread
+ clean:
+-      @rm -f core *.o tmp* result* *.zst \
++      rm -f core *.o tmp* result* *.zst \
+               seekable_compression seekable_decompression \
+               seekable_decompression_mem \
+               parallel_processing parallel_compression
+-      @echo Cleaning completed
++      @echo "Cleaning completed"
+--- libzstd.orig/doc/educational_decoder/Makefile
++++ libzstd/doc/educational_decoder/Makefile
+@@ -36,27 +36,27 @@
+       $(CC) $(FLAGS) $^ -o $@
+ clean:
+-      @$(RM) harness
+-      @$(RM) -rf harness.dSYM  # MacOS specific
++      $(RM) harness
++      $(RM) -rf harness.dSYM  # MacOS specific
+ test: harness
+       #
+       # Testing single-file decompression with educational decoder
+       #
+-      @$(ZSTD) -f README.md -o tmp.zst
+-      @./harness tmp.zst tmp
+-      @$(DIFF) -s tmp README.md
+-      @$(RM) tmp*
++      $(ZSTD) -f README.md -o tmp.zst
++      ./harness tmp.zst tmp
++      $(DIFF) -s tmp README.md
++      $(RM) tmp*
+       #
+       # Testing dictionary decompression with education decoder
+       #
+       # note : files are presented multiple for training, to reach minimum threshold
+-      @$(ZSTD) --train harness.c zstd_decompress.c zstd_decompress.h README.md \
++      $(ZSTD) --train harness.c zstd_decompress.c zstd_decompress.h README.md \
+                   harness.c zstd_decompress.c zstd_decompress.h README.md \
+                   harness.c zstd_decompress.c zstd_decompress.h README.md \
+                   -o dictionary
+-      @$(ZSTD) -f README.md -D dictionary -o tmp.zst
+-      @./harness tmp.zst tmp dictionary
+-      @$(DIFF) -s tmp README.md
+-      @$(RM) tmp* dictionary
+-      @$(MAKE) clean
++      $(ZSTD) -f README.md -D dictionary -o tmp.zst
++      ./harness tmp.zst tmp dictionary
++      $(DIFF) -s tmp README.md
++      $(RM) tmp* dictionary
++      $(MAKE) clean
+--- libzstd.orig/examples/Makefile
++++ libzstd/examples/Makefile
+@@ -53,37 +53,37 @@
+       $(CC) $(CPPFLAGS) $(CFLAGS) $< $(LIB) $(LDFLAGS) -o $@
+ clean:
+-      @rm -f core *.o tmp* result* *.zst \
++      rm -f core *.o tmp* result* *.zst \
+         simple_compression simple_decompression \
+         multiple_simple_compression \
+         dictionary_compression dictionary_decompression \
+         streaming_compression streaming_decompression \
+         multiple_streaming_compression streaming_memory_usage
+-      @echo Cleaning completed
++      @echo "Cleaning completed"
+ test: all
+       cp README.md tmp
+       cp Makefile tmp2
+-      @echo -- Simple compression tests
++      @echo "-- Simple compression tests"
+       ./simple_compression tmp
+       ./simple_decompression tmp.zst
+       ./multiple_simple_compression *.c
+       ./streaming_decompression tmp.zst > /dev/null
+-      @echo -- Streaming memory usage
++      @echo "-- Streaming memory usage"
+       ./streaming_memory_usage
+-      @echo -- Streaming compression tests
++      @echo "-- Streaming compression tests"
+       ./streaming_compression tmp
+       ./streaming_decompression tmp.zst > /dev/null
+-      @echo -- Edge cases detection
++      @echo "-- Edge cases detection"
+       ! ./streaming_decompression tmp    # invalid input, must fail
+       ! ./simple_decompression tmp       # invalid input, must fail
+       touch tmpNull                      # create 0-size file
+       ./simple_compression tmpNull
+       ./simple_decompression tmpNull.zst # 0-size frame : must work
+-      @echo -- Multiple streaming tests
++      @echo "-- Multiple streaming tests"
+       ./multiple_streaming_compression *.c
+-      @echo -- Dictionary compression tests
++      @echo "-- Dictionary compression tests"
+       ./dictionary_compression tmp2 tmp README.md
+       ./dictionary_decompression tmp2.zst tmp.zst README.md
+       $(RM) tmp* *.zst
+-      @echo tests completed
++      @echo "tests completed"
+--- libzstd.orig/lib/Makefile
++++ libzstd/lib/Makefile
+@@ -150,8 +150,8 @@
+ libzstd.a: ARFLAGS = rcs
+ libzstd.a: $(ZSTD_OBJ)
+-      @echo compiling static library
+-      @$(AR) $(ARFLAGS) $@ $^
++      @echo "==> compiling static library"
++      $(AR) $(ARFLAGS) $@ $^
+ libzstd.a-mt: CPPFLAGS += -DZSTD_MULTITHREAD
+ libzstd.a-mt: libzstd.a
+@@ -160,7 +160,7 @@
+ LIBZSTD = dll\libzstd.dll
+ $(LIBZSTD): $(ZSTD_FILES)
+-      @echo compiling dynamic library $(LIBVER)
++      @echo "==> compiling dynamic library $(LIBVER)"
+       $(CC) $(FLAGS) -DZSTD_DLL_EXPORT=1 -Wl,--out-implib,dll\libzstd.lib -shared $^ -o $@
+ else
+@@ -168,11 +168,11 @@
+ LIBZSTD = libzstd.$(SHARED_EXT_VER)
+ $(LIBZSTD): LDFLAGS += -shared -fPIC -fvisibility=hidden
+ $(LIBZSTD): $(ZSTD_FILES)
+-      @echo compiling dynamic library $(LIBVER)
+-      @$(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
+-      @echo creating versioned links
+-      @ln -sf $@ libzstd.$(SHARED_EXT_MAJOR)
+-      @ln -sf $@ libzstd.$(SHARED_EXT)
++      @echo "==> compiling dynamic library $(LIBVER)"
++      $(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
++      @echo "creating versioned links"
++      ln -sf $@ libzstd.$(SHARED_EXT_MAJOR)
++      ln -sf $@ libzstd.$(SHARED_EXT)
+ endif
+@@ -196,16 +196,16 @@
+ ZSTD_NOMT_FILES = $(filter-out $(ZSTDMT_FILES),$(ZSTD_FILES))
+ libzstd-nomt: LDFLAGS += -shared -fPIC -fvisibility=hidden
+ libzstd-nomt: $(ZSTD_NOMT_FILES)
+-      @echo compiling single-thread dynamic library $(LIBVER)
+-      @echo files : $(ZSTD_NOMT_FILES)
+-      @$(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
++      @echo "==> compiling single-thread dynamic library $(LIBVER)"
++      @echo "files : $(ZSTD_NOMT_FILES)"
++      $(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
+ clean:
+-      @$(RM) -r *.dSYM   # macOS-specific
+-      @$(RM) core *.o *.a *.gcda *.$(SHARED_EXT) *.$(SHARED_EXT).* libzstd.pc
+-      @$(RM) dll/libzstd.dll dll/libzstd.lib libzstd-nomt*
+-      @$(RM) common/*.o compress/*.o decompress/*.o dictBuilder/*.o legacy/*.o deprecated/*.o
+-      @echo Cleaning library completed
++      $(RM) -r *.dSYM   # macOS-specific
++      $(RM) core *.o *.a *.gcda *.$(SHARED_EXT) *.$(SHARED_EXT).* libzstd.pc
++      $(RM) dll/libzstd.dll dll/libzstd.lib libzstd-nomt*
++      $(RM) common/*.o compress/*.o decompress/*.o dictBuilder/*.o legacy/*.o deprecated/*.o
++      @echo "Cleaning library completed"
+ #-----------------------------------------------------------------------------
+ # make install is validated only for Linux, macOS, BSD, Hurd and Solaris targets
+@@ -242,48 +242,48 @@
+ libzstd.pc:
+ libzstd.pc: libzstd.pc.in
+-      @echo creating pkgconfig
+-      @sed -e 's|@PREFIX@|$(PREFIX)|' \
++      @echo "creating pkgconfig"
++      sed -e 's|@PREFIX@|$(PREFIX)|' \
+              -e 's|@VERSION@|$(VERSION)|' \
+              $< >$@
+ install: install-pc install-static install-shared install-includes
+-      @echo zstd static and shared library installed
++      @echo "zstd static and shared library installed"
+ install-pc: libzstd.pc
+-      @$(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/
+-      @$(INSTALL_DATA) libzstd.pc $(DESTDIR)$(PKGCONFIGDIR)/
++      $(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/
++      $(INSTALL_DATA) libzstd.pc $(DESTDIR)$(PKGCONFIGDIR)/
+ install-static: libzstd.a
+-      @echo Installing static library
+-      @$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/
+-      @$(INSTALL_DATA) libzstd.a $(DESTDIR)$(LIBDIR)
++      @echo "Installing static library"
++      $(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/
++      $(INSTALL_DATA) libzstd.a $(DESTDIR)$(LIBDIR)
+ install-shared: libzstd
+-      @echo Installing shared library
+-      @$(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/
+-      @$(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(LIBDIR)
+-      @ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
+-      @ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
++      @echo "Installing shared library"
++      $(INSTALL) -d -m 755 $(DESTDIR)$(LIBDIR)/
++      $(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(LIBDIR)
++      ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
++      ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
+ install-includes:
+-      @echo Installing includes
+-      @$(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR)/
+-      @$(INSTALL_DATA) zstd.h $(DESTDIR)$(INCLUDEDIR)
+-      @$(INSTALL_DATA) common/zstd_errors.h $(DESTDIR)$(INCLUDEDIR)
+-      @$(INSTALL_DATA) deprecated/zbuff.h $(DESTDIR)$(INCLUDEDIR)     # prototypes generate deprecation warnings
+-      @$(INSTALL_DATA) dictBuilder/zdict.h $(DESTDIR)$(INCLUDEDIR)
++      @echo "Installing includes"
++      $(INSTALL) -d -m 755 $(DESTDIR)$(INCLUDEDIR)/
++      $(INSTALL_DATA) zstd.h $(DESTDIR)$(INCLUDEDIR)
++      $(INSTALL_DATA) common/zstd_errors.h $(DESTDIR)$(INCLUDEDIR)
++      $(INSTALL_DATA) deprecated/zbuff.h $(DESTDIR)$(INCLUDEDIR)     # prototypes generate deprecation warnings
++      $(INSTALL_DATA) dictBuilder/zdict.h $(DESTDIR)$(INCLUDEDIR)
+ uninstall:
+-      @$(RM) $(DESTDIR)$(LIBDIR)/libzstd.a
+-      @$(RM) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
+-      @$(RM) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
+-      @$(RM) $(DESTDIR)$(LIBDIR)/$(LIBZSTD)
+-      @$(RM) $(DESTDIR)$(PKGCONFIGDIR)/libzstd.pc
+-      @$(RM) $(DESTDIR)$(INCLUDEDIR)/zstd.h
+-      @$(RM) $(DESTDIR)$(INCLUDEDIR)/zstd_errors.h
+-      @$(RM) $(DESTDIR)$(INCLUDEDIR)/zbuff.h   # Deprecated streaming functions
+-      @$(RM) $(DESTDIR)$(INCLUDEDIR)/zdict.h
+-      @echo zstd libraries successfully uninstalled
++      $(RM) $(DESTDIR)$(LIBDIR)/libzstd.a
++      $(RM) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
++      $(RM) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
++      $(RM) $(DESTDIR)$(LIBDIR)/$(LIBZSTD)
++      $(RM) $(DESTDIR)$(PKGCONFIGDIR)/libzstd.pc
++      $(RM) $(DESTDIR)$(INCLUDEDIR)/zstd.h
++      $(RM) $(DESTDIR)$(INCLUDEDIR)/zstd_errors.h
++      $(RM) $(DESTDIR)$(INCLUDEDIR)/zbuff.h   # Deprecated streaming functions
++      $(RM) $(DESTDIR)$(INCLUDEDIR)/zdict.h
++      @echo "zstd libraries successfully uninstalled"
+ endif
+--- libzstd.orig/programs/Makefile
++++ libzstd/programs/Makefile
+@@ -221,7 +221,7 @@
+       $(MAKE) zstd MOREFLAGS=-fprofile-use
+ # minimal target, with only zstd compression and decompression. no bench. no legacy.
+-zstd-small: CFLAGS = -Os -s
++zstd-small: CFLAGS = -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Os -s
+ zstd-frugal zstd-small: $(ZSTD_FILES) zstdcli.c util.c timefn.c fileio.c
+       $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT $^ -o $@$(EXT)
+@@ -241,12 +241,12 @@
+ .PHONY: clean
+ clean:
+       $(MAKE) -C $(ZSTDDIR) clean
+-      @$(RM) $(ZSTDDIR)/decompress/*.o $(ZSTDDIR)/decompress/zstd_decompress.gcda
+-      @$(RM) core *.o tmp* result* *.gcda dictionary *.zst \
++      $(RM) $(ZSTDDIR)/decompress/*.o $(ZSTDDIR)/decompress/zstd_decompress.gcda
++      $(RM) core *.o tmp* result* *.gcda dictionary *.zst \
+         zstd$(EXT) zstd32$(EXT) zstd-compress$(EXT) zstd-decompress$(EXT) \
+         zstd-small$(EXT) zstd-frugal$(EXT) zstd-nolegacy$(EXT) zstd4$(EXT) \
+         *.gcda default.profraw have_zlib$(EXT)
+-      @echo Cleaning completed
++      @echo "Cleaning completed"
+ MD2ROFF = ronn
+ MD2ROFF_FLAGS = --roff --warnings --manual="User Commands" --organization="zstd $(ZSTD_VERSION)"
+@@ -293,7 +293,7 @@
+ ## list: Print all targets and their descriptions (if provided)
+ .PHONY: list
+ list:
+-      @TARGETS=$$($(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null \
++      TARGETS=$$($(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null \
+               | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' \
+               | $(EGREP) -v  -e '^[^[:alnum:]]' | sort); \
+       { \
+@@ -340,35 +340,35 @@
+ .PHONY: install
+ install: zstd
+-      @echo Installing binaries
+-      @$(INSTALL) -d -m 755 $(DESTDIR)$(BINDIR)/ $(DESTDIR)$(MAN1DIR)/
+-      @$(INSTALL_PROGRAM) zstd $(DESTDIR)$(BINDIR)/zstd
+-      @ln -sf zstd $(DESTDIR)$(BINDIR)/zstdcat
+-      @ln -sf zstd $(DESTDIR)$(BINDIR)/unzstd
+-      @ln -sf zstd $(DESTDIR)$(BINDIR)/zstdmt
+-      @$(INSTALL_SCRIPT) zstdless $(DESTDIR)$(BINDIR)/zstdless
+-      @$(INSTALL_SCRIPT) zstdgrep $(DESTDIR)$(BINDIR)/zstdgrep
+-      @echo Installing man pages
+-      @$(INSTALL_MAN) zstd.1 $(DESTDIR)$(MAN1DIR)/zstd.1
+-      @ln -sf zstd.1 $(DESTDIR)$(MAN1DIR)/zstdcat.1
+-      @ln -sf zstd.1 $(DESTDIR)$(MAN1DIR)/unzstd.1
+-      @$(INSTALL_MAN) zstdgrep.1 $(DESTDIR)$(MAN1DIR)/zstdgrep.1
+-      @$(INSTALL_MAN) zstdless.1 $(DESTDIR)$(MAN1DIR)/zstdless.1
+-      @echo zstd installation completed
++      @echo "Installing binaries"
++      $(INSTALL) -d -m 755 $(DESTDIR)$(BINDIR)/ $(DESTDIR)$(MAN1DIR)/
++      $(INSTALL_PROGRAM) zstd $(DESTDIR)$(BINDIR)/zstd
++      ln -sf zstd $(DESTDIR)$(BINDIR)/zstdcat
++      ln -sf zstd $(DESTDIR)$(BINDIR)/unzstd
++      ln -sf zstd $(DESTDIR)$(BINDIR)/zstdmt
++      $(INSTALL_SCRIPT) zstdless $(DESTDIR)$(BINDIR)/zstdless
++      $(INSTALL_SCRIPT) zstdgrep $(DESTDIR)$(BINDIR)/zstdgrep
++      @echo "Installing man pages"
++      $(INSTALL_MAN) zstd.1 $(DESTDIR)$(MAN1DIR)/zstd.1
++      ln -sf zstd.1 $(DESTDIR)$(MAN1DIR)/zstdcat.1
++      ln -sf zstd.1 $(DESTDIR)$(MAN1DIR)/unzstd.1
++      $(INSTALL_MAN) zstdgrep.1 $(DESTDIR)$(MAN1DIR)/zstdgrep.1
++      $(INSTALL_MAN) zstdless.1 $(DESTDIR)$(MAN1DIR)/zstdless.1
++      @echo "zstd installation completed"
+ .PHONY: uninstall
+ uninstall:
+-      @$(RM) $(DESTDIR)$(BINDIR)/zstdgrep
+-      @$(RM) $(DESTDIR)$(BINDIR)/zstdless
+-      @$(RM) $(DESTDIR)$(BINDIR)/zstdcat
+-      @$(RM) $(DESTDIR)$(BINDIR)/unzstd
+-      @$(RM) $(DESTDIR)$(BINDIR)/zstdmt
+-      @$(RM) $(DESTDIR)$(BINDIR)/zstd
+-      @$(RM) $(DESTDIR)$(MAN1DIR)/zstdless.1
+-      @$(RM) $(DESTDIR)$(MAN1DIR)/zstdgrep.1
+-      @$(RM) $(DESTDIR)$(MAN1DIR)/zstdcat.1
+-      @$(RM) $(DESTDIR)$(MAN1DIR)/unzstd.1
+-      @$(RM) $(DESTDIR)$(MAN1DIR)/zstd.1
+-      @echo zstd programs successfully uninstalled
++      $(RM) $(DESTDIR)$(BINDIR)/zstdgrep
++      $(RM) $(DESTDIR)$(BINDIR)/zstdless
++      $(RM) $(DESTDIR)$(BINDIR)/zstdcat
++      $(RM) $(DESTDIR)$(BINDIR)/unzstd
++      $(RM) $(DESTDIR)$(BINDIR)/zstdmt
++      $(RM) $(DESTDIR)$(BINDIR)/zstd
++      $(RM) $(DESTDIR)$(MAN1DIR)/zstdless.1
++      $(RM) $(DESTDIR)$(MAN1DIR)/zstdgrep.1
++      $(RM) $(DESTDIR)$(MAN1DIR)/zstdcat.1
++      $(RM) $(DESTDIR)$(MAN1DIR)/unzstd.1
++      $(RM) $(DESTDIR)$(MAN1DIR)/zstd.1
++      @echo "zstd programs successfully uninstalled"
+ endif
+--- libzstd.orig/tests/Makefile
++++ libzstd/tests/Makefile
+@@ -79,7 +79,7 @@
+ .PHONY: default all all32 allnothread dll clean test test32 test-all versionsTest
+ default: fullbench
+-      @echo $(ZSTDMT_OBJECTS)
++      @echo "$(ZSTDMT_OBJECTS)"
+ all: fullbench fuzzer zstreamtest paramgrill datagen decodecorpus roundTripCrash \
+      fullbench-lib poolTests
+@@ -243,9 +243,9 @@
+ clean:
+       $(MAKE) -C $(ZSTDDIR) clean
+       $(MAKE) -C $(PRGDIR) clean
+-      @$(RM) -fR $(TESTARTEFACT)
+-      @$(RM) -rf tmp*  # some test directories are named tmp*
+-      @$(RM) core *.o *.tmp result* *.gcda dictionary *.zst \
++      $(RM) -fR $(TESTARTEFACT)
++      $(RM) -rf tmp*  # some test directories are named tmp*
++      $(RM) core *.o *.tmp result* *.gcda dictionary *.zst \
+         $(PRGDIR)/zstd$(EXT) $(PRGDIR)/zstd32$(EXT) \
+         fullbench$(EXT) fullbench32$(EXT) \
+         fullbench-lib$(EXT) fullbench-dll$(EXT) \
+@@ -255,7 +255,7 @@
+         datagen$(EXT) paramgrill$(EXT) roundTripCrash$(EXT) longmatch$(EXT) \
+         symbols$(EXT) invalidDictionaries$(EXT) legacy$(EXT) poolTests$(EXT) \
+         decodecorpus$(EXT) checkTag$(EXT) bigdict$(EXT)
+-      @echo Cleaning completed
++      @echo "Cleaning completed"
+ #----------------------------------------------------------------------------------
+@@ -274,7 +274,7 @@
+       ./datagen -g2930KB | $(VALGRIND) $(PRGDIR)/zstd -5 -vf - -o tmp
+       $(VALGRIND) $(PRGDIR)/zstd -vdf tmp -c > $(VOID)
+       ./datagen -g64MB | $(VALGRIND) $(PRGDIR)/zstd -vf - -c > $(VOID)
+-      @rm tmp
++      rm tmp
+       $(VALGRIND) ./fuzzer -T1mn -t1
+       $(VALGRIND) ./fullbench -i1
+@@ -298,7 +298,7 @@
+ .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: shortest
+ shortest: ZSTDRTTEST=
+@@ -412,9 +412,9 @@
+ test-decodecorpus-cli: decodecorpus
+       @echo "\n ---- decodecorpus basic cli tests ----"
+-      @mkdir testdir
++      mkdir testdir
+       ./decodecorpus -n5 -otestdir -ptestdir
+-      @cd testdir && \
++      cd testdir && \
+       $(ZSTD) -d z000000.zst -o tmp0 && \
+       $(ZSTD) -d z000001.zst -o tmp1 && \
+       $(ZSTD) -d z000002.zst -o tmp2 && \
+@@ -429,7 +429,7 @@
+       cd ..
+       @echo "\n ---- decodecorpus dictionary cli tests ----"
+       ./decodecorpus -n5 -otestdir -ptestdir --use-dict=1MB
+-      @cd testdir && \
++      cd testdir && \
+       $(ZSTD) -d z000000.zst -D dictionary -o tmp0 && \
+       $(ZSTD) -d z000001.zst -D dictionary -o tmp1 && \
+       $(ZSTD) -d z000002.zst -D dictionary -o tmp2 && \
+@@ -441,7 +441,7 @@
+       diff z000003 tmp3 && \
+       diff z000004 tmp4 && \
+       cd ..
+-      @rm -rf testdir
++      rm -rf testdir
+ test-pool: poolTests
+       $(QEMU_SYS) ./poolTests
+--- libzstd.orig/tests/fuzz/Makefile
++++ libzstd/tests/fuzz/Makefile
+@@ -118,7 +118,7 @@
+       $(AR) $(FUZZ_ARFLAGS) $@ regression_driver.o
+ corpora/%_seed_corpus.zip:
+-      @mkdir -p corpora
++      mkdir -p corpora
+       $(DOWNLOAD) $@ $(CORPORA_URL_PREFIX)$*_seed_corpus.zip
+ corpora/%: corpora/%_seed_corpus.zip
+@@ -135,13 +135,13 @@
+       $(PYTHON) ./fuzz.py regression all
+ clean:
+-      @$(MAKE) -C $(ZSTDDIR) clean
+-      @$(RM) *.a *.o
+-      @$(RM) simple_round_trip stream_round_trip simple_decompress \
++      $(MAKE) -C $(ZSTDDIR) clean
++      $(RM) *.a *.o
++      $(RM) simple_round_trip stream_round_trip simple_decompress \
+            stream_decompress block_decompress block_round_trip \
+            simple_compress dictionary_round_trip dictionary_decompress \
+            zstd_frame_info
+ cleanall:
+-      @$(RM) -r Fuzzer
+-      @$(RM) -r corpora
++      $(RM) -r Fuzzer
++      $(RM) -r corpora
+--- libzstd.orig/tests/gzip/Makefile
++++ libzstd/tests/gzip/Makefile
+@@ -16,20 +16,20 @@
+ all: test-helin-segv test-hufts test-keep test-list test-memcpy-abuse test-mixed
+ all: test-null-suffix-clobber test-stdin test-trailing-nul test-unpack-invalid
+ all: test-zdiff test-zgrep-context test-zgrep-f test-zgrep-signal test-znew-k test-z-suffix
+-      @echo Testing completed
++      @echo "Testing completed"
+ .PHONY: zstd
+ zstd:
+       $(MAKE) -C $(PRGDIR) zstd
+       ln -sf $(PRGDIR)/zstd gzip
+-      @echo PATH=$(PATH)
++      @echo "PATH=$(PATH)"
+       gzip --version
+ .PHONY: clean
+ clean:
+-      @$(MAKE) -C $(PRGDIR) $@ > $(VOID)
+-      @$(RM) *.trs *.log
+-      @echo Cleaning completed
++      $(MAKE) -C $(PRGDIR) $@ > $(VOID)
++      $(RM) *.trs *.log
++      @echo "Cleaning completed"
+ #------------------------------------------------------------------------------
+@@ -38,7 +38,7 @@
+ ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD DragonFly NetBSD))
+ test-%: zstd
+-      @./test-driver.sh --test-name $* --log-file $*.log --trs-file $*.trs --expect-failure "no" --color-tests "yes" --enable-hard-errors "yes" ./$*.sh
++      ./test-driver.sh --test-name $* --log-file $*.log --trs-file $*.trs --expect-failure "no" --color-tests "yes" --enable-hard-errors "yes" ./$*.sh
+       # || echo ignoring error
+ endif
+--- libzstd.orig/zlibWrapper/Makefile
++++ libzstd/zlibWrapper/Makefile
+@@ -50,14 +50,14 @@
+       ./fitblk 40960 <$(TEST_FILE)
+       ./fitblk_zstd 10240 <$(TEST_FILE)
+       ./fitblk_zstd 40960 <$(TEST_FILE)
+-      @echo ---- minigzip start ----
++      @echo "---- minigzip start ----"
+       ./minigzip_zstd example$(EXT)
+       #cp example$(EXT).gz example$(EXT)_zstd.gz
+       ./minigzip_zstd -d example$(EXT).gz
+       ./minigzip example$(EXT)
+       #cp example$(EXT).gz example$(EXT)_gz.gz
+       ./minigzip_zstd -d example$(EXT).gz
+-      @echo ---- minigzip end ----
++      @echo "---- minigzip end ----"
+       ./zwrapbench -qi1b3B1K $(TEST_FILE)
+       ./zwrapbench -rqi1b1e5 ../lib ../programs ../tests
+@@ -114,4 +114,4 @@
+ clean:
+       -$(RM) $(ZLIBWRAPPER_PATH)/*.o $(EXAMPLE_PATH)/*.o *.o foo.gz example$(EXT) example_zstd$(EXT) fitblk$(EXT) fitblk_zstd$(EXT) zwrapbench$(EXT) minigzip$(EXT) minigzip_zstd$(EXT)
+-      @echo Cleaning completed
++      @echo "Cleaning completed"
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..6bbfe1d
--- /dev/null
@@ -0,0 +1,7 @@
+0006-Use-bash-for-test-script-portablitity.patch
+0008-Address-embedded-zlib.patch
+0013-skip-memory-greedy-tests.patch
+0014-Reproducible-build.patch
+0015-Skip-dev-random-tests-on-hurd.patch
+0018-Alias-renamed-API-symbols.patch
+0019-blhc-workarounds.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..827f8f4
--- /dev/null
+++ b/rules
@@ -0,0 +1,50 @@
+#!/usr/bin/make -f
+
+export DH_VERBOSE=1
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
+# Upstream's makefiles will respect PREFIX, and this means we avoid a patch
+export PREFIX=/usr
+
+HELP2MAN = help2man --no-info --help-option="'-h'" --no-discard-stderr
+mandir := $(CURDIR)/debian/zstd/usr/share/man/man1
+
+%:
+       dh $@
+
+DH_AUTO_CONFIGURE_OPTS :=
+ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+       DH_AUTO_CONFIGURE_OPTS += -DZSTD_BUILD_TESTS:BOOL=OFF
+endif
+
+override_dh_auto_clean:
+       dh_auto_clean
+       dh_auto_clean --sourcedirectory=contrib/pzstd
+
+override_dh_auto_build:
+       dh_auto_build -- ZSTD_LEGACY_MULTITHREADED_API=1
+       dh_auto_build --sourcedirectory=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
+       cp -r debian/libzstd1/usr debian/libzstd1-udeb/
+       dh_install
+
+override_dh_makeshlibs:
+       dh_makeshlibs -plibzstd1 -V'libzstd1 (>= 1.4.4)' --add-udeb=libzstd1-udeb
+
+override_dh_installman:
+       dh_installman
+       cp $(mandir)/zstd.1 $(mandir)/zstdmt.1
+       $(HELP2MAN) --name='parallelised Zstandard compression, al la pigz' contrib/pzstd/pzstd \
+       | perl -pe 's/(\(de\)compression\s\(default:)(\d+)(\))/$$1 All$$3/g' >$(mandir)/pzstd.1
diff --git a/salsa-ci.yml b/salsa-ci.yml
new file mode 100644 (file)
index 0000000..0d8ee65
--- /dev/null
@@ -0,0 +1,10 @@
+---
+include:
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+# No 'Architecture: all' targets for this package.
+# 1.1.2-1: oldest version in active repos.
+variables:
+  SALSA_CI_DISABLE_BUILD_PACKAGE_ALL: '1'
+  DB_BUILD_PARAM: '-v1.1.2-1'
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/lintian-overrides b/source/lintian-overrides
new file mode 100644 (file)
index 0000000..86e6eb7
--- /dev/null
@@ -0,0 +1 @@
+libzstd source: binary-control-field-duplicates-source field "section" in package libzstd1
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..f853f74
--- /dev/null
@@ -0,0 +1 @@
+Test-Command: zstd -b1 >/dev/null 2>&1
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..993f185
--- /dev/null
+++ b/watch
@@ -0,0 +1,4 @@
+version=4
+
+opts="repacksuffix=+dfsg,dversionmangle=s/\+dfsg\d*//g,repack,compression=xz" \
+  https://github.com/facebook/zstd/releases .*/archive/v?@ANY_VERSION@@ARCHIVE_EXT@
diff --git a/zstd.docs b/zstd.docs
new file mode 100644 (file)
index 0000000..70867c6
--- /dev/null
+++ b/zstd.docs
@@ -0,0 +1,2 @@
+CHANGELOG
+*.md
diff --git a/zstd.install b/zstd.install
new file mode 100644 (file)
index 0000000..3418174
--- /dev/null
@@ -0,0 +1,2 @@
+contrib/pzstd/pzstd usr/bin
+usr/bin
diff --git a/zstd.manpages b/zstd.manpages
new file mode 100644 (file)
index 0000000..8e59a36
--- /dev/null
@@ -0,0 +1 @@
+usr/share/man/man1/*