- update to 5.6.0:

* This bumps the minor version of liblzma because new
    features were added. The API and ABI are still backward
    compatible with liblzma 5.4.x and 5.2.x and 5.0.x.
  * liblzma:
    - Disabled the branchless C variant in the LZMA
    decoder based on the benchmark results from the community.
    - Disabled x86-64 inline assembly on x32 to fix the
    build.
  * Sandboxing support in xz:
    - Landlock is now used even when xz needs to create
    files.
    - Landlock and pledge(2) are now stricter when
    reading from more than one input file and only writing to
    standard output.
    - Added support for Landlock ABI version 4.
    - Now builds lzmainfo and lzmadec.
    - xzdiff, xzgrep, xzless, xzmore, and their symlinks
    are now installed. The scripts are also tested during "make
    test".
    - Added translation support for xz, lzmainfo, and the
      man pages.
    - Minimum required CMake version is now 3.14.
  * liblzma:
    - LZMA decoder: Speed optimizations to the C code and
    added GCC & Clang compatible inline assembly for
    x86-64.
    - Added lzma_mt_block_size() to recommend a Block
    size for multithreaded encoding.
    - Added CLMUL-based CRC32 on x86-64 and E2K with

OBS-URL: https://build.opensuse.org/package/show/Base:System/xz?expand=0&rev=145
This commit is contained in:
Dirk Mueller 2024-03-05 11:47:58 +00:00 committed by Git OBS Bridge
parent c5f484bb8b
commit 6fb022244b
6 changed files with 99 additions and 8 deletions

View File

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

Binary file not shown.

3
xz-5.6.0.tar.gz Normal file
View File

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

BIN
xz-5.6.0.tar.gz.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,91 @@
-------------------------------------------------------------------
Tue Mar 5 11:25:55 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 5.6.0:
* This bumps the minor version of liblzma because new
features were added. The API and ABI are still backward
compatible with liblzma 5.4.x and 5.2.x and 5.0.x.
* liblzma:
- Disabled the branchless C variant in the LZMA
decoder based on the benchmark results from the community.
- Disabled x86-64 inline assembly on x32 to fix the
build.
* Sandboxing support in xz:
- Landlock is now used even when xz needs to create
files.
- Landlock and pledge(2) are now stricter when
reading from more than one input file and only writing to
standard output.
- Added support for Landlock ABI version 4.
- Now builds lzmainfo and lzmadec.
- xzdiff, xzgrep, xzless, xzmore, and their symlinks
are now installed. The scripts are also tested during "make
test".
- Added translation support for xz, lzmainfo, and the
man pages.
- Minimum required CMake version is now 3.14.
* liblzma:
- LZMA decoder: Speed optimizations to the C code and
added GCC & Clang compatible inline assembly for
x86-64.
- Added lzma_mt_block_size() to recommend a Block
size for multithreaded encoding.
- Added CLMUL-based CRC32 on x86-64 and E2K with
runtime processor detection. Similar to CRC64, on 32-bit
x86 it isn't available unless --disable-assembler is used.
- Optimized the CRC32 calculation on ARM64 platforms
using the CRC32 instructions. Runtime detection for the
instruction is used on GNU/Linux, FreeBSD, Windows, and macOS.
- Added definitions of mask values like
LZMA_INDEX_CHECK_MASK_CRC32 to <lzma/index.h>.
* Licensing change: The core components are now under the
* BSD Zero Clause License (0BSD). In XZ Utils 5.4.6 and
older and 5.5.1alpha these components are in the public
domain and obviously remain so; the change affects the new
releases only.
* 0BSD is an extremely permissive license which doesn't
require retaining or reproducing copyright or license notices
when distributing the code, thus in practice there is
extremely little difference to public domain.
* liblzma
- Significant speed optimizations to the LZMA decoder
were made. There are now three variants that can be
chosen at build time:
* Basic C version: This is a few percent faster than
5.4.x due to some new optimizations.
* Branchless C: This is currently the default on platforms
for which there is no assembly code. This should be a few
percent faster than the basic C version.
* x86-64 inline assembly. This works with GCC and Clang.
The default choice can currently be overridden by
setting LZMA_RANGE_DECODER_CONFIG in CPPFLAGS: 0 means the
basic version and 3 means that branchless C version.
* Added a new filter for RISC-V binaries. The filter can be
used for 32-bit and 64-bit binaries with either little or
big endianness. In liblzma, the Filter ID is
LZMA_FILTER_RISCV (0x0B)
- Implemented GNU indirect function (IFUNC) as a
runtime function dispatching method for CRC32 and CRC64
fast implementations on x86. Only GNU/Linux (glibc) and
* xz:
- Multithreaded mode is now the default. This
improves compression speed and creates .xz files that can be
decompressed multithreaded at the cost of increased
memory usage and slightly worse compression ratio.
- Added new command line option --filters to set the
filter chain using liblzma filter string syntax.
- Added new command line options --filters1 ...
--filters9 to set additional filter chains using liblzma filter
string syntax. The --block-list option now allows
specifying filter chains that were set using these new options.
- Added support for Linux Landlock as a sandboxing
method.
- xzdec now supports pledge(2), Capsicum, and Linux
Landlock as sandboxing methods.
- enable y2038 mode
- enable zstd compression, we no longer have bootstrap
issues as xz is no longer used
-------------------------------------------------------------------
Mon Jan 29 21:36:02 UTC 2024 - Danilo Spinella <danilo.spinella@suse.com>

13
xz.spec
View File

@ -22,12 +22,11 @@
%else
%bcond_with static
%endif
%define _binary_payload w9.bzdio
Name: xz
Version: 5.4.6
Version: 5.6.0
Release: 0
Summary: A Program for Compressing Files with the LempelZivMarkov algorithm
License: GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND SUSE-Public-Domain
License: 0BSD AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later
Group: Productivity/Archiving/Compression
URL: https://tukaani.org/xz/
Source0: https://github.com/tukaani-project/xz/releases/download/v%{version}/xz-%{version}.tar.gz
@ -58,7 +57,7 @@ The xz command is a program for compressing files.
%package -n liblzma5
Summary: LempelZivMarkov chain algorithm compression library
License: SUSE-Public-Domain
License: 0BSD
Group: System/Libraries
%description -n liblzma5
@ -66,7 +65,7 @@ Library for encoding/decoding LZMA files.
%package devel
Summary: Development package for the LZMA library
License: SUSE-Public-Domain
License: 0BSD
Group: Development/Libraries/C and C++
Requires: liblzma5 = %{version}
Provides: lzma-devel = %{version}
@ -100,6 +99,10 @@ export LDFLAGS="-Wl,-z,relro,-z,now -pie"
%if %{with static}
%configure \
--with-pic \
--enable-year2038 \
--enable-symbol-versions \
--enable-sandbox=landlock \
--enable-ifunc \
--docdir=%{_docdir}/%{name} \
--disable-shared CONFIG_SHELL=/bin/sh
%make_build