Compare commits

...

28 Commits

Author SHA1 Message Date
Pádraig Brady f0d571d435 latest upstream (1.5.4) 2023-02-13 12:45:37 +00:00
Fedora Release Engineering 92d17ea9c7 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 08:21:58 +00:00
Fedora Release Engineering 8151519d64 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 14:01:14 +00:00
Peter Robinson cabed16e08 Build pzst on all arches
The pzst build works now on ARMv7/aarch64 as well as POWER and Z-Series.
Also RHEL-6 is EOL so drop all pzst exceptions and just build it
everywhere, but leave the conditionals so it can still be adjusted
for specific cases if necessary.
2022-05-19 10:14:55 +01:00
Pádraig Brady 670726ba76 latest upstream (1.5.2) 2022-01-22 17:41:17 +00:00
Fedora Release Engineering 50c2ef6dcd - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 05:57:12 +00:00
Pádraig Brady 43bd23e45a re-enable CET protections 2022-01-11 18:26:05 +00:00
Michel Alexandre Salim d34ec99191 Enable gz support
Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
2022-01-07 09:47:54 -08:00
Pádraig Brady 5358a3f27e fix prefix in generated pkgconfig file
This is now generated at build, rather than install time

Addresses https://bugzilla.redhat.com/2036667
2022-01-03 17:30:46 +00:00
Pádraig Brady c6408fa04e avoid executable stack on i686 also 2021-12-29 21:06:39 +00:00
Zbigniew Jędrzejewski-Szmek 1862b14f48 Bump release 2021-12-28 17:39:12 +01:00
Zbigniew Jędrzejewski-Szmek 9ea2179ffc Disable amd64 assembly on non-intel architectures
All builds would include an .S file which contains a pre-processor
directive that makes the file effectively empty on non-amd64
architectures. Objects built from assembly get an executable stack by
default. The file has a stanza to make the stack non-executable, but
on non-amd64 architectures this stanza is skipped together with the
rest of the file. Nevertheless, it seems that even the empty file
causes an executable stack to be created. To avoid the issue, do a
build with the assembler file explicitly skipped.
2021-12-28 17:38:06 +01:00
Pádraig Brady c821aeb744 latest upstream (1.5.1) 2021-12-23 00:21:18 +00:00
Fedora Release Engineering e6303b59b6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 22:23:23 +00:00
Pádraig Brady 25f65bf30b latest upstream (1.5.0) 2021-05-16 17:59:19 +01:00
Pádraig Brady cac4d734e8 latest upstream (1.4.9) 2021-03-05 13:23:57 +00:00
Fedora Release Engineering cee4dbff23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-28 00:46:34 +00:00
Tom Stellard 42b7084acc Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-12 01:55:56 +00:00
Pádraig Brady fee0baebd5 fix test failure on i686 and s390
https://github.com/facebook/zstd/pull/2432
2020-12-18 14:19:43 +00:00
Pádraig Brady e9b032a3cc latest upstream (1.4.7) 2020-12-17 15:42:17 +00:00
Jeff Law acbbb2c675 Do not force C++11 mode 2020-08-26 14:24:56 -06:00
Fedora Release Engineering bcc8861d5a - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 15:28:00 +00:00
Igor Raits 2af7a22259
Build libzstd with multi-threading support
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-07-11 19:31:46 +02:00
Pádraig Brady b2a12f103c sync lib/Makefile fix from upstream
The previous one incorrectly enabled multithread options everywhere
2020-05-25 15:12:51 +01:00
Pádraig Brady a2c88d401a build shared library with correct compiler flags
* lib-make.patch: Fix regression in 1.4.5 lib/Makefile
* zstd.spec: Apply the patch
2020-05-25 13:22:39 +01:00
Pádraig Brady e90e28190f latest upstream (1.4.5) 2020-05-22 14:08:27 +01:00
Avi Kivity 0520d65823 Add static library subpackage
Some zstd APIs are only available via the static package. Make it
available so they can be used. These APIs are experimental, so
they should be used with care, but Fedora should still make them
available.

See https://facebook.github.io/zstd/zstd_manual.html#Chapter14
for more details.
2020-05-22 11:22:34 +03:00
Fedora Release Engineering f2d5eef56f - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 05:24:24 +00:00
4 changed files with 134 additions and 33 deletions

7
.gitignore vendored
View File

@ -13,3 +13,10 @@
/zstd-1.4.0.tar.gz
/zstd-1.4.2.tar.gz
/zstd-1.4.4.tar.gz
/zstd-1.4.5.tar.gz
/zstd-1.4.7.tar.gz
/zstd-1.4.9.tar.gz
/zstd-1.5.0.tar.gz
/zstd-1.5.1.tar.gz
/zstd-1.5.2.tar.gz
/zstd-1.5.4.tar.gz

View File

@ -1,10 +1,10 @@
diff -Naur zstd-1.4.4.orig/programs/zstd.1 zstd-1.4.4/programs/zstd.1
--- zstd-1.4.4.orig/programs/zstd.1 2019-11-04 17:54:32.000000000 +0000
+++ zstd-1.4.4/programs/zstd.1 2020-01-15 14:25:34.227060058 +0000
@@ -209,6 +209,14 @@
.TP
\fB\-\-\fR
All arguments after \fB\-\-\fR are treated as files
diff -Naur zstd-1.5.4/programs/zstd.1 zstd-1.5.4.new/programs/zstd.1
--- zstd-1.5.4/programs/zstd.1 2023-02-10 00:41:50.000000000 +0000
+++ zstd-1.5.4.new/programs/zstd.1 2023-02-13 12:44:01.575160149 +0000
@@ -162,6 +162,13 @@
\fB\-\-show\-default\-cparams\fR: shows the default compression parameters that will be used for a particular input file, based on the provided compression level and the input size\. If the provided file is not a regular file (e\.g\. a pipe), this flag will output the parameters used for inputs of unknown size\.
.IP "\[ci]" 4
\fB\-\-\fR: All arguments after \fB\-\-\fR are treated as files
+
+.SH Parallel Zstd OPTIONS
+Additional options for the pzstd utility
@ -12,7 +12,6 @@ diff -Naur zstd-1.4.4.orig/programs/zstd.1 zstd-1.4.4/programs/zstd.1
+.BR \-p ", " --processes
+ number of threads to use for (de)compression (default:4)
+
+
.
.SS "Restricted usage of Environment Variables"
Using environment variables to set parameters has security implications\. Therefore, this avenue is intentionally restricted\. Only \fBZSTD_CLEVEL\fR is supported currently, for setting compression level\. \fBZSTD_CLEVEL\fR can be used to set the level between 1 and 19 (the "normal" range)\. If the value of \fBZSTD_CLEVEL\fR is not a valid integer, it will be ignored with a warning message\. \fBZSTD_CLEVEL\fR just replaces the default compression level (\fB3\fR)\. It can be overridden by corresponding command line arguments\.
.IP "" 0
.SS "gzip Operation Modifiers"
When invoked via a \fBgzip\fR symlink, \fBzstd\fR will support further options that intend to mimic the \fBgzip\fR behavior:

View File

@ -1 +1 @@
SHA512 (zstd-1.4.4.tar.gz) = f12b6f38bd322a0538179ef90e4c83d2cba29e1fef391a8e8e964785e5761e7ba685f62e9a5a1d6b66171fd64e4fd6374e607569531e2f4c05c470cff2294454
SHA512 (zstd-1.5.4.tar.gz) = 2896a6dd6b60cc251720356babcbab6018c874eb2149121b26e28041496fc355a9cb5fd1b39c91558fcfbafb789b3d721264a0f9b5734f893d5f3cdf97016394

137
zstd.spec
View File

@ -1,18 +1,20 @@
%if 0%{?rhel} && 0%{?rhel} <= 6
# gcc-4.4 is currently too old to compile pzstd
%bcond_with pzstd
%else
%ifarch %{ix86} x86_64
# enable asm implementations by default
%bcond_without asm
# enable .lz4 support by default
%bcond_without lz4
# enable .xz/.lzma support by default
%bcond_without lzma
# enable .gz support by default
%bcond_without zlib
# enable pzstd support by default
%bcond_without pzstd
%else
# aarch64 and armv7hl at least currently segfault
# in ThreadPool test for the pzstd util
%bcond_with pzstd
%endif
%endif
Name: zstd
Version: 1.4.4
Version: 1.5.4
Release: 1%{?dist}
Summary: Zstd compression library
@ -22,10 +24,21 @@ Source0: https://github.com/facebook/zstd/archive/v%{version}.tar.gz#/%{n
Patch1: pzstd.1.patch
BuildRequires: make
BuildRequires: gcc gtest-devel
%if %{with lz4}
BuildRequires: lz4-devel
%endif
%if %{with lzma}
BuildRequires: xz-devel
%endif
%if %{with pzstd}
BuildRequires: gcc-c++
%endif
%if %{with zlib}
BuildRequires: zlib-devel
%endif
BuildRequires: execstack
%description
Zstd, short for Zstandard, is a fast lossless compression algorithm,
@ -41,9 +54,15 @@ Zstandard compression shared library.
Summary: Header files for Zstd library
Requires: lib%{name}%{?_isa} = %{version}-%{release}
%package -n lib%{name}-static
Summary: Static variant of the Zstd library
Requires: lib%{name}-devel = %{version}-%{release}
%description -n lib%{name}-devel
Header files for Zstd library.
%description -n lib%{name}-static
Static variant of the Zstd library.
%prep
%setup -q
@ -55,27 +74,28 @@ find -name .gitignore -delete
%build
export CFLAGS="$RPM_OPT_FLAGS"
export LDFLAGS="$RPM_LD_FLAGS"
for dir in lib programs; do
%make_build -C "$dir"
done
export PREFIX="%{_prefix}"
export LIBDIR="%{_libdir}"
%make_build -C lib lib-mt %{!?with_asm:ZSTD_NO_ASM=1}
%make_build -C programs %{!?with_asm:ZSTD_NO_ASM=1}
%if %{with pzstd}
export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11"
%make_build -C contrib/pzstd
export CXXFLAGS="$RPM_OPT_FLAGS"
%make_build -C contrib/pzstd %{!?with_asm:ZSTD_NO_ASM=1}
%endif
%check
execstack lib/libzstd.so.1
export CFLAGS="$RPM_OPT_FLAGS"
export LDFLAGS="$RPM_LD_FLAGS"
make -C tests test-zstd
%if %{with pzstd}
export CXXFLAGS="$RPM_OPT_FLAGS -std=c++11"
export CXXFLAGS="$RPM_OPT_FLAGS"
make -C contrib/pzstd test
%endif
%install
%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir}
# Don't install the static lib
rm %{buildroot}%{_libdir}/libzstd.a
%if %{with pzstd}
install -D -m755 contrib/pzstd/pzstd %{buildroot}%{_bindir}/pzstd
install -D -m644 programs/%{name}.1 %{buildroot}%{_mandir}/man1/p%{name}.1
@ -105,16 +125,91 @@ install -D -m644 programs/%{name}.1 %{buildroot}%{_mandir}/man1/p%{name}.1
%license COPYING LICENSE
%files -n lib%{name}-devel
%{_includedir}/zbuff.h
%{_includedir}/zdict.h
%{_includedir}/zstd.h
%{_includedir}/zstd_errors.h
%{_libdir}/pkgconfig/libzstd.pc
%{_libdir}/libzstd.so
%files -n lib%{name}-static
%{_libdir}/libzstd.a
%ldconfig_scriptlets -n lib%{name}
%changelog
* Mon Feb 13 2023 Pádraig Brady <P@draigBrady.com> - 1.5.4-1
- Latest upstream
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu May 19 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 1.5.2-2
- ThreadPool segfault fixed so build pzst everywhere
* Sat Jan 22 2022 Pádraig Brady <P@draigBrady.com> - 1.5.2-1
- Latest upstream
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Jan 11 2022 Pádraig Brady <P@draigBrady.com> - 1.5.1-6
- Re-enable CET protections (#2039353)
* Fri Jan 07 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 1.5.1-5
- Enable gz, .xz/.lzma and .lz4 support
* Mon Jan 03 2022 Pádraig Brady <P@draigBrady.com> - 1.5.1-4
- Use correct prefix for pkgconfig.
* Wed Dec 29 2021 Pádraig Brady <P@draigBrady.com> - 1.5.1-3
- Avoid executable stack on i686 also.
* Tue Dec 28 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.5.1-2
- Disable amd64 assembly on non-intel architectures (#2035802):
this should avoid the issue where an executable stack is created.
* Wed Dec 22 2021 Pádraig Brady <P@draigBrady.com> - 1.5.1-1
- Latest upstream
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun May 16 2021 Pádraig Brady <P@draigBrady.com> - 1.5.0-2
- Latest upstream
* Fri Mar 05 2021 Pádraig Brady <P@draigBrady.com> - 1.4.9-1
- Latest upstream
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Dec 17 2020 Pádraig Brady <P@draigBrady.com> - 1.4.7-1
- Latest upstream
* Wed Aug 26 2020 Jeff Law <law@redhat.com> - 1.4.5-6
- Do not force C++11 mode
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat Jul 11 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.4.5-4
- Build libzstd with multi-threading support
* Mon May 25 2020 Pádraig Brady <P@draigBrady.com> - 1.4.5-3
- Build shared library with correct compiler flags
* Fri May 22 2020 Pádraig Brady <P@draigBrady.com> - 1.4.5-1
- Latest upstream
* Fri May 22 2020 Avi Kivity <avi@scylladb.com> - 1.4.4-3
- Added static library subpackage
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jan 15 2020 Pádraig Brady <P@draigBrady.com> - 1.4.4-1
- Latest upstream