From 7d4f9e60cc28d9152f7ffbaed88bf82217b460e95b24cacb62d786091cfa5823 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Wed, 7 Feb 2018 13:33:33 +0000 Subject: [PATCH] Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34 --- lz4-1.8.1.2.tar.gz | 3 +++ lz4-use-shlib.diff | 40 ---------------------------------- lz4.changes | 53 ++++++++++++++++++++++++++++++++++++++++++++++ lz4.spec | 29 ++++++++----------------- v1.8.0.tar.gz | 3 --- 5 files changed, 65 insertions(+), 63 deletions(-) create mode 100644 lz4-1.8.1.2.tar.gz delete mode 100644 lz4-use-shlib.diff delete mode 100644 v1.8.0.tar.gz diff --git a/lz4-1.8.1.2.tar.gz b/lz4-1.8.1.2.tar.gz new file mode 100644 index 0000000..b5f678f --- /dev/null +++ b/lz4-1.8.1.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12f3a9e776a923275b2dc78ae138b4967ad6280863b77ff733028ce89b8123f9 +size 228640 diff --git a/lz4-use-shlib.diff b/lz4-use-shlib.diff deleted file mode 100644 index 3972670..0000000 --- a/lz4-use-shlib.diff +++ /dev/null @@ -1,40 +0,0 @@ -From: Jan Engelhardt -Date: 2014-10-01 14:23:22.000000000 +0200 -References: https://github.com/Cyan4973/lz4/pull/195 - -build: make programs use liblz too instead of duplicating object code. - ---- - programs/Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: lz4-1.8.0/programs/Makefile -=================================================================== ---- lz4-1.8.0.orig/programs/Makefile -+++ lz4-1.8.0/programs/Makefile -@@ -41,7 +41,7 @@ LIBVER_MINOR := $(shell echo $(LIBVER_MI - LIBVER_PATCH := $(shell echo $(LIBVER_PATCH_SCRIPT)) - LIBVER := $(shell echo $(LIBVER_SCRIPT)) - --SRCFILES := $(wildcard $(LZ4DIR)/*.c) $(wildcard *.c) -+SRCFILES := $(wildcard *.c) - OBJFILES := $(patsubst %.c,%.o,$(SRCFILES)) - - CPPFLAGS += -I$(LZ4DIR) -DXXH_NAMESPACE=LZ4_ -@@ -76,14 +76,14 @@ all32: CFLAGS+=-m32 - all32: all - - lz4: $(OBJFILES) -- $(CC) $(FLAGS) $^ -o $@$(EXT) -+ $(CC) $(FLAGS) $^ -o $@$(EXT) -L${LZ4DIR} -llz4 - - lz4-release: DEBUGFLAGS= - lz4-release: lz4 - - lz4c32: CFLAGS += -m32 - lz4c32 : $(SRCFILES) -- $(CC) $(FLAGS) $^ -o $@$(EXT) -+ $(CC) $(FLAGS) $^ -o $@$(EXT) -L${LZ4DIR} -llz4 - - lz4c: lz4 - ln -s lz4 lz4c diff --git a/lz4.changes b/lz4.changes index e6f6b74..a9861ff 100644 --- a/lz4.changes +++ b/lz4.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Wed Feb 7 04:32:52 UTC 2018 - avindra@opensuse.org + +- Update to new upstream release 1.8.1.2 + * Most visible new feature is support for dictionary compression + * Support is now more formally added on the API side within + lib/lz4frame_static.h. It's early days, and this new API is + tagged "experimental" for the time being. + * Support is also added in the command line utility lz4, using + the new command -D. The behavior of this command is identical + to zstd, should you be already familiar. + * lz4 doesn't specify how to build a dictionary. All it says is + that it can be any file up to 64 KB. + * This approach is compatible with zstd dictionary builder, which + can be instructed to create a 64 KB dictionary. + * Improved performance at ultra settings (levels 10+). + * These levels receive a new code, called optimal parser, + available in lib/lz4_opt.h. + * New parser uses less memory (from 384KB to 256KB), performs + faster, compresses a little bit better (not much, as it was + already close to theoretical limit), and resists pathological + patterns which could destroy performance. + * New parser is directly compatible with lower compression levels, + which brings additional benefits: + + Compatibility with LZ4_*_destSize() variant, which reverses + the logic by trying to fit as much data as possible into a + predefined limited size buffer. + + Compatibility with Dictionary compression, as it uses the + same tables as regular HC mode + * In the future, this compatibility will also allow dynamic change + of compression level. + * Small set of bug fixes and improvements: + + perf : faster and stronger ultra modes (levels 10+) + + perf : slightly faster compression and decompression speed + + perf : fix bad degenerative case + + fix : decompression failed when using a combination of + extDict + low memory address + + cli : support for dictionary compression (-D) + + cli : fix : lz4 -d --rm preserves timestamp + + cli : fix : do not modify /dev/null permission as root + + api : _destSize() variant supported for all compression + levels + + build : make and make test compatible with parallel build -jX + + build : can control LZ4LIB_VISIBILITY macro + + install: fix man page directory +- partial cleanup with spec-cleaner +- rebase lz4-use-shlib.diff +- drop lz4-use-shlib.diff, breaks build +- misc spec cleanups + - remove Makefile fix + - build and install separately + - New URL + ------------------------------------------------------------------- Fri Aug 25 13:59:49 UTC 2017 - jengelh@inai.de diff --git a/lz4.spec b/lz4.spec index 42b1467..0b27d78 100644 --- a/lz4.spec +++ b/lz4.spec @@ -1,7 +1,7 @@ # # spec file for package lz4 # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,22 +16,20 @@ # -Name: lz4 %define lname liblz4-1 -Version: 1.8.0 +Name: lz4 +Version: 1.8.1.2 Release: 0 Summary: Hash-based Predictive Lempel–Ziv compressor License: GPL-2.0+ and BSD-2-Clause Group: Productivity/Archiving/Compression -Url: http://lz4.org/ +Url: https://lz4.github.io/lz4/ #Git-Clone: https://github.com/lz4/lz4 -Source: https://github.com/lz4/lz4/archive/v%version.tar.gz +Source: https://github.com/lz4/lz4/archive/v%version.tar.gz#/%{name}-%{version}.tar.gz Source99: baselibs.conf -Patch1: lz4-use-shlib.diff Patch2: lz-export.diff -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: pkg-config +BuildRequires: pkgconfig %description LZ4 is a lossless data compression algorithm that is focused on @@ -70,20 +68,14 @@ applications that want to make use of liblz4. %prep %setup -q -%patch -P 1 -P 2 -p1 +%patch -P 2 -p1 %build -# Goddammit, lz4 -perl -i -pe 's{^\t@}{\t}g' Makefile */Makefile -# don't bother building here, because make install builds it again - unconditionally :-( +make %{?_smp_mflags} CFLAGS="%optflags" %install -make install CFLAGS="%optflags" DESTDIR="%buildroot" \ - PREFIX="%_prefix" LIBDIR="%_libdir" +%make_install PREFIX="%_prefix" LIBDIR="%_libdir" rm -f "%buildroot/%_libdir"/*.a -mkdir -p "%buildroot/%_mandir/man1" -# duh, it was right in 1.7.5 -mv "%buildroot/%_mandir"/*.1 "%buildroot/%_mandir/man1/" %check LD_LIBRARY_PATH="%buildroot/%_libdir" ldd -r "%buildroot/%_bindir/lz4" @@ -92,17 +84,14 @@ LD_LIBRARY_PATH="%buildroot/%_libdir" ldd -r "%buildroot/%_bindir/lz4" %postun -n %lname -p /sbin/ldconfig %files -%defattr(-,root,root) %_bindir/lz4* %_bindir/unlz4 %_mandir/man1/*.1* %files -n %lname -%defattr(-,root,root) %_libdir/liblz4.so.1* %files -n liblz4-devel -%defattr(-,root,root) %_includedir/lz4*.h %_libdir/liblz4.so %_libdir/pkgconfig/*.pc diff --git a/v1.8.0.tar.gz b/v1.8.0.tar.gz deleted file mode 100644 index 558608e..0000000 --- a/v1.8.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ca482ea7a9bb103603108b5a7510b7592b90158c151ff50a28f1ca8389fccf6 -size 222840