Accepting request 1163380 from home:AndreasStieger:branches:Archiving

zstd 1.5.6

OBS-URL: https://build.opensuse.org/request/show/1163380
OBS-URL: https://build.opensuse.org/package/show/Archiving/zstd?expand=0&rev=100
This commit is contained in:
Bernhard M. Wiedemann 2024-04-03 09:48:30 +00:00 committed by Git OBS Bridge
parent 2a8e693913
commit 1367da1c9f
8 changed files with 46 additions and 104 deletions

View File

@ -1,11 +1,11 @@
Index: zstd-1.5.4/programs/zstd.1
Index: zstd-1.5.6/programs/zstd.1
===================================================================
--- zstd-1.5.4.orig/programs/zstd.1
+++ zstd-1.5.4/programs/zstd.1
@@ -171,6 +171,12 @@ do not store the original filename and t
.TP
--- zstd-1.5.6.orig/programs/zstd.1
+++ zstd-1.5.6/programs/zstd.1
@@ -258,6 +258,12 @@ do not store the original filename and t
\fB\-\-best\fR
alias to the option \fB\-9\fR\.
.
+.SS Parallel Zstd OPTIONS
+Additional options for the pzstd utility
+.TP
@ -13,5 +13,5 @@ Index: zstd-1.5.4/programs/zstd.1
+ number of threads to use for (de)compression (default:4)
+.
.SS "Environment Variables"
Employing environment variables to set parameters has security implications\. Therefore, this avenue is intentionally limited\. Only \fBZSTD_CLEVEL\fR and \fBZSTD_NBTHREADS\fR are currently supported\. They set the compression level and number of threads to use during compression, respectively\.
.P
Employing environment variables to set parameters has security implications\. Therefore, this avenue is intentionally limited\. Only \fBZSTD_CLEVEL\fR and \fBZSTD_NBTHREADS\fR are currently supported\. They set the default compression level and number of threads to use during compression, respectively\.
.

BIN
zstd-1.5.5.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQJFBAADCgAvFiEETvSsY0VfyfRUXZt974/plSi1L/0FAmQsotIRHHNpZ25pbmdA
enN0ZC5uZXQACgkQ74/plSi1L/16Jg//RoYFnXQxQFDLy1I47fIGKzBn7U5YXeeT
qbCfXqkv0Mr/XUW0z9eWXpKBTMIN+mARX/1gNiM7wIpb1jrah11ZJR6u3k5C/NFZ
pqM/HNxDdAjV+C/t6/fgT8VcZEq1jDOI7BM7fZPhi5kLp7UgWmfZfePIF3qMtadp
QewGQ9fzzc96XqNFycNZPRGHNVbj7YbT2tGK9RpiWDFbo23c8wuwibur7jX28jPQ
6esAmGckzirb3lElByQ4oJwtVwP0lkAtFwJZx/E3EhCszrvnS2j+X+6DgF3Fhz3E
7e9YCS5tF0wUr2WMhLeAAFbVYcKezYlLpym7KM5BX6LjAEbaX4eEx66KJECI0LYm
HrPo33mBkJcUEX5sXs2P3QQ3phLOIg/TC9ECN7YORLoZca/nj1C7JgdIJ6VFHFZK
4JMSO0DOxNiCuvDy+EU9EwCIKhfNTl/vlcyqMjrMJxZ9QO3bykcKUirsOgz8GpO7
RwPupGog0E+pDv3GemSYn7kU+N2Vba4b/T/65WpssMJ4zC2z7jMFvEbeoyhKsV2m
xClHq4bgk3Tt2WlUS9fH5DMramwhXKIncPsXNlg3rTqiik3GuE+56AijsE/CBAlo
MHGAV/IvR2XIo+khZ5wIix15YW/WEbdxB4uT0CeKlBt+XXLTQ/kLAEI3o+IhA4EB
jBu+O1qqDVI=
=3yPb
-----END PGP SIGNATURE-----

3
zstd-1.5.6.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1
size 2406875

17
zstd-1.5.6.tar.gz.sig Normal file
View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJFBAADCgAvFiEETvSsY0VfyfRUXZt974/plSi1L/0FAmYDZzgRHHNpZ25pbmdA
enN0ZC5uZXQACgkQ74/plSi1L/1Slw/+L4Z0YQU+3OwcbS7c/dmP/FHiCtyZHdHg
ShhC4YEmDvFsYeYLotkhB9v0rf+/ZMZLzaHGWbBqSA27VMfHNth0NA/onDE01PGm
0WetCZKG8DS4Nay/6YA/M9Z2Ag/LrXEZd2r643p/eiGXq70ufKpZujMF9B4iXW8c
T/vPPXiRffB/KuzPRSoGfiN5HZwD1+FWfZ+X2SWhEZ9tutwcaYpKazJtwOb6eEBN
SwDg7elwp3aqt0ci6CVCeU810lNmAKuedhHU6nZPSBeXWEMGSQ6OHJhKdm/Jolkv
r0DtiKvQFn1cN8rzohmxLO3/OplTDEOnSgfVkyfxxldu+0j4hvR3eCOOicHp70v/
WTSpVSlraIn4nJdTfLwO7xNxntdiGczR/fqLmewIctg2gY9wfx7ITOTgTyumuVcX
C0boMIS/Ra6l4RtLvwRC/QMXQNLmnkGPxULnGPpDfOfnF1NJzr0AVsD5D1V3wlZl
+ANBR3sjQbQOYGr7h15wgGWmTx/0hvANceUZcBWR2fUvBQQGkkwSQPpHjqdcVC8c
cMs56qFyihrXWyX3kohuPJ2EQEQl/s3FGoZKnuLjh98nXSh5uuXODDJUaB7adu2d
Ok2hJ34Xzyvgx1PwrHW6upfNeKsTcxATVg+1l42Yan0hExiZ+prDANdr8DJT/MYf
vSAV1ZQ2rPU=
=YKei
-----END PGP SIGNATURE-----

View File

@ -1,67 +0,0 @@
From a88781954a875c4f00883eba6a8c5d172c4f5c17 Mon Sep 17 00:00:00 2001
From: Nick Terrell <terrelln@fb.com>
Date: Wed, 13 Mar 2024 09:58:34 -0700
Subject: [PATCH] [asm][aarch64] Mark that BTI and PAC are supported
Mark that `huf_decompress_amd64.S` supports BTI and PAC, which it trivially does because it is empty for aarch64.
The issue only requested BTI markings, but it also makes sense to mark PAC, which is the only other feature.
Also run add a test for this mode to the ARM64 QEMU test. Before this PR it warns on `huf_decompress_amd64.S`, after it doesn't.
Fixes Issue #3841.
---
.github/workflows/dev-short-tests.yml | 1 +
lib/decompress/huf_decompress_amd64.S | 23 ++++++++++++++++++++++-
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/dev-short-tests.yml b/.github/workflows/dev-short-tests.yml
index b2aaff89cf..5324b38d9a 100644
--- a/.github/workflows/dev-short-tests.yml
+++ b/.github/workflows/dev-short-tests.yml
@@ -409,6 +409,7 @@ jobs:
- name: ARM64
if: ${{ matrix.name == 'ARM64' }}
run: |
+ LDFLAGS="-static -z force-bti" MOREFLAGS="-mbranch-protection=standard" CC=$XCC QEMU_SYS=$XEMU make clean check
LDFLAGS="-static" CC=$XCC QEMU_SYS=$XEMU make clean check
- name: PPC
if: ${{ matrix.name == 'PPC' }}
diff --git a/lib/decompress/huf_decompress_amd64.S b/lib/decompress/huf_decompress_amd64.S
index 3b96b44612..78da291ee3 100644
--- a/lib/decompress/huf_decompress_amd64.S
+++ b/lib/decompress/huf_decompress_amd64.S
@@ -10,11 +10,32 @@
#include "../common/portability_macros.h"
+#if defined(__ELF__) && defined(__GNUC__)
/* Stack marking
* ref: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
*/
-#if defined(__ELF__) && defined(__GNUC__)
.section .note.GNU-stack,"",%progbits
+
+#if defined(__aarch64__)
+/* Mark that this assembly supports BTI & PAC, because it is empty for aarch64.
+ * See: https://github.com/facebook/zstd/issues/3841
+ * See: https://gcc.godbolt.org/z/sqr5T4ffK
+ * See: https://lore.kernel.org/linux-arm-kernel/20200429211641.9279-8-broonie@kernel.org/
+ * See: https://reviews.llvm.org/D62609
+ */
+.pushsection .note.gnu.property, "a"
+.p2align 3
+.long 4 /* size of the name - "GNU\0" */
+.long 0x10 /* size of descriptor */
+.long 0x5 /* NT_GNU_PROPERTY_TYPE_0 */
+.asciz "GNU"
+.long 0xc0000000 /* pr_type - GNU_PROPERTY_AARCH64_FEATURE_1_AND */
+.long 4 /* pr_datasz - 4 bytes */
+.long 3 /* pr_data - GNU_PROPERTY_AARCH64_FEATURE_1_BTI | GNU_PROPERTY_AARCH64_FEATURE_1_PAC */
+.p2align 3 /* pr_padding - bring everything to 8 byte alignment */
+.popsection
+#endif
+
#endif
#if ZSTD_ENABLE_ASM_X86_64_BMI2

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Thu Mar 28 15:56:09 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 1.5.6:
* Introduce a new stable parameter ZSTD_c_targetCBlockSize,
enabling the division of blocks into smaller segments to
enhance initial byte delivery speed for congested networks
* library allows allow ganular binary size selection
- drop zstd-pr-3961.patch, merged upstream
-------------------------------------------------------------------
Thu Mar 14 07:13:30 UTC 2024 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -16,14 +16,14 @@
#
%define libname libzstd1
%if 0%{?suse_version} <= 1500
%define with_gzip 0
%else
%define with_gzip 1
%endif
%define libname libzstd1
Name: zstd
Version: 1.5.5
Version: 1.5.6
Release: 0
Summary: Zstandard compression tools
License: BSD-3-Clause AND GPL-2.0-only
@ -34,8 +34,6 @@ Source1: https://github.com/facebook/zstd/releases/download/v%{version}/%
Source2: zstd.keyring
Source99: baselibs.conf
Patch1: pzstd.1.patch
# PATCH-FIX-UPSTREAM - https://github.com/facebook/zstd/pull/3961
Patch2: zstd-pr-3961.patch
BuildRequires: gcc
# C++ is needed for pzstd only
BuildRequires: gcc-c++
@ -90,16 +88,16 @@ targeting faster compression than zlib at comparable ratios.
Needed for compiling programs that link with the library.
%if %with_gzip
%if %{with_gzip}
%package gzip
Summary: zstd and zlib based gzip drop-in
Group: Productivity/Archiving/Compression
Requires: %{name} >= %{version}
Conflicts: busybox-gzip
Conflicts: gzip
Conflicts: alternative(gzip)
Provides: gzip
Provides: alternative(gzip)
Requires: %{name} >= %{version}
%description gzip
Zstd, short for Zstandard, is a lossless compression algorithm,
@ -132,14 +130,13 @@ export CXXFLAGS="%{optflags} -std=c++11"
%make_install V=1 VERBOSE=1 prefix=%{_prefix} libdir=%{_libdir}
install -D -m755 contrib/pzstd/pzstd %{buildroot}%{_bindir}/pzstd
install -D -m644 programs/zstd.1 %{buildroot}%{_mandir}/man1/pzstd.1
%if %with_gzip
%if %{with_gzip}
ln -s zstd %{buildroot}/%{_bindir}/gzip
ln -s zstd %{buildroot}/%{_bindir}/gunzip
ln -s zstdcat %{buildroot}/%{_bindir}/zcat
%endif
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%ldconfig_scriptlets -n %{libname}
%files
%license COPYING LICENSE
@ -164,10 +161,12 @@ ln -s zstdcat %{buildroot}/%{_bindir}/zcat
%{_libdir}/libzstd.so
%files -n lib%{name}-devel-static
%license COPYING LICENSE
%{_libdir}/libzstd.a
%if %with_gzip
%if %{with_gzip}
%files gzip
%license COPYING LICENSE
%{_bindir}/gzip
%{_bindir}/gunzip
%{_bindir}/zcat