Browse Source

xz package update

Signed-off-by: basebuilder_pel7ppc64bebuilder0 <basebuilder@powerel.org>
master
basebuilder_pel7ppc64bebuilder0 6 years ago
parent
commit
cffe7120c5
  1. 35
      SOURCES/xz-5.2.2-compat-libs.patch
  2. 81
      SOURCES/xz-5.2.2-man-page-day.patch
  3. 279
      SPECS/xz.spec

35
SOURCES/xz-5.2.2-compat-libs.patch

@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
We provided two 5.1.2alpha symbols (lzma_stream_encoder_mt and
lzma_stream_encoder_mt_memusage) before we updated to xz-5.2.2-1 in RHEL7.3.

Those symbols did not change ABI in 5.2.2 so it should be safe to provide
(except for 5.0 and 5.2 symbols) also the two 5.1.2alpha symbols and
use 5.1.2alpha symbol version as parent for 5.2.

For better reasoning look at container.h in 5.1.2alpha -- those two symbols
were for testing purposes only, and thus not considered to be API/ABI.

diff --git a/src/liblzma/liblzma.map b/src/liblzma/liblzma.map
index f53a4ea..9c3002a 100644
--- a/src/liblzma/liblzma.map
+++ b/src/liblzma/liblzma.map
@@ -95,7 +95,13 @@ global:
lzma_vli_size;
};

-XZ_5.2 {
+XZ_5.1.2alpha {
+global:
+ lzma_stream_encoder_mt;
+ lzma_stream_encoder_mt_memusage;
+} XZ_5.0;
+
+XZ_5.2.2 {
global:
lzma_block_uncomp_encode;
lzma_cputhreads;
@@ -105,4 +111,4 @@ global:

local:
*;
-} XZ_5.0;
+} XZ_5.1.2alpha;

81
SOURCES/xz-5.2.2-man-page-day.patch

@ -0,0 +1,81 @@ @@ -0,0 +1,81 @@
From 66a2cc02d631b9b5103467a9c15fccc17faef8bd Mon Sep 17 00:00:00 2001
From: Pavel Raiskup <praiskup@redhat.com>
Date: Fri, 4 Mar 2016 13:33:46 +0100
Subject: [PATCH] man-page-day fixes

This is to not let the man-page-day script report issues against
xz again, even though this has not been accepted upsttream.

TODO: Blacklist this in man-page-day testsuite.
---
src/xz/message.c | 8 +++++---
src/xz/xz.1 | 2 +-
src/xzdec/xzdec.c | 6 ++++--
3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/xz/message.c b/src/xz/message.c
index f88c123..f4ebddc 100644
--- a/src/xz/message.c
+++ b/src/xz/message.c
@@ -1091,7 +1091,8 @@ message_help(bool long_help)

puts(_(
" -z, --compress force compression\n"
-" -d, --decompress force decompression\n"
+" -d, --decompress, --uncompress\n"
+" force decompression\n"
" -t, --test test compressed file integrity\n"
" -l, --list list information about .xz files"));

@@ -1101,7 +1102,8 @@ message_help(bool long_help)
puts(_(
" -k, --keep keep (don't delete) input files\n"
" -f, --force force overwrite of output file and (de)compress links\n"
-" -c, --stdout write to standard output and don't delete input files"));
+" -c, --stdout, --to-stdout\n"
+" write to standard output and don't delete input files"));

if (long_help) {
puts(_(
@@ -1157,7 +1159,7 @@ message_help(bool long_help)
puts(_( // xgettext:no-c-format
" --memlimit-compress=LIMIT\n"
" --memlimit-decompress=LIMIT\n"
-" -M, --memlimit=LIMIT\n"
+" -M, --memlimit=LIMIT, (old alias --memory=LIMIT)\n"
" set memory usage limit for compression, decompression,\n"
" or both; LIMIT is in bytes, % of RAM, or 0 for defaults"));

diff --git a/src/xz/xz.1 b/src/xz/xz.1
index bc5514d..b4406d6 100644
--- a/src/xz/xz.1
+++ b/src/xz/xz.1
@@ -1022,7 +1022,7 @@ See
for possible ways to specify the
.IR limit .
.TP
-\fB\-M\fR \fIlimit\fR, \fB\-\-memlimit=\fIlimit\fR, \fB\-\-memory=\fIlimit
+\fB\-M\fR \fIlimit\fR, \fB\-\-memlimit=\fIlimit\fR, (old alias \fB\-\-memory=\fIlimit\fR)
This is equivalent to specifying \fB\-\-memlimit\-compress=\fIlimit
\fB\-\-memlimit\-decompress=\fIlimit\fR.
.TP
diff --git a/src/xzdec/xzdec.c b/src/xzdec/xzdec.c
index 5cb7530..6cab322 100644
--- a/src/xzdec/xzdec.c
+++ b/src/xzdec/xzdec.c
@@ -64,9 +64,11 @@ help(void)
"Usage: %s [OPTION]... [FILE]...\n"
"Decompress files in the ." TOOL_FORMAT " format to standard output.\n"
"\n"
-" -d, --decompress (ignored, only decompression is supported)\n"
+" -d, --decompress, --uncompress\n"
+" (ignored, only decompression is supported)\n"
" -k, --keep (ignored, files are never deleted)\n"
-" -c, --stdout (ignored, output is always written to standard output)\n"
+" -c, --stdout, --to-stdout\""
+" (ignored, output is always written to standard output)\n"
" -q, --quiet specify *twice* to suppress errors\n"
" -Q, --no-warn (ignored, the exit status 2 is never used)\n"
" -h, --help display this help and exit\n"
--
2.5.0

279
SPECS/xz.spec

@ -0,0 +1,279 @@ @@ -0,0 +1,279 @@
%global compat_ver xz-4.999.9beta

Summary: LZMA compression utilities
Name: xz
Version: 5.2.2
Release: 1%{?dist}
License: LGPLv2+
Group: Applications/File
# official upstream release
Source0: http://tukaani.org/%{name}/%{name}-%{version}.tar.gz
# source created as "make dist" in checked out GIT tree
Source1: %{compat_ver}.20100401git.tar.bz2
URL: http://tukaani.org/%{name}/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: %{name}-libs = %{version}-%{release}

# downstream
# ~> proposal: http://www.mail-archive.com/xz-devel@tukaani.org/msg00153.html
# ~> #948533
Patch0: xz-5.2.2-man-page-day.patch

# Make sure the alpha symbols' version are kept in RHEL7.
# ~> downstream
Patch1: xz-5.2.2-compat-libs.patch

%description
XZ Utils are an attempt to make LZMA compression easy to use on free (as in
freedom) operating systems. This is achieved by providing tools and libraries
which are similar to use than the equivalents of the most popular existing
compression algorithms.

LZMA is a general purpose compression algorithm designed by Igor Pavlov as
part of 7-Zip. It provides high compression ratio while keeping the
decompression speed fast.

%package libs
Summary: Libraries for decoding LZMA compression
Group: System Environment/Libraries
License: LGPLv2+

%description libs
Libraries for decoding files compressed with LZMA or XZ utils.

%package compat-libs
Summary: Compatibility libraries for decoding LZMA compression
Group: System Environment/Libraries
License: LGPLv2+

%description compat-libs
Compatibility libraries for decoding files compressed with LZMA or XZ utils.
This particular package ships libraries from %{compat_ver} as of 1st of April 2010.

%package devel
Summary: Devel libraries & headers for liblzma
Group: Development/Libraries
License: LGPLv2+
Requires: %{name}-libs = %{version}-%{release}
Requires: pkgconfig

%description devel
Devel libraries and headers for liblzma.

%package lzma-compat
Summary: Older LZMA format compatibility binaries
Group: Development/Libraries
# lz{grep,diff,more} are GPLv2+. Other binaries are LGPLv2+
License: GPLv2+ and LGPLv2+
Requires: %{name} = %{version}-%{release}
Obsoletes: lzma < %{version}
Provides: lzma = %{version}

%description lzma-compat
The lzma-compat package contains compatibility links for older
commands that deal with the older LZMA format.

%prep
%setup -q -a1 -n %{name}-%{version}
%patch0 -p1 -b .man-page-day
%patch1 -p1 -b .xzgrep-exit-status-test

for i in `find . -name config.sub`; do
perl -pi -e "s/ppc64-\*/ppc64-\* \| ppc64p7-\*/" $i
done

%build
CFLAGS="%{optflags} -D_FILE_OFFSET_BITS=64"
%ifarch %{power64}
CFLAGS=`echo $CFLAGS | xargs -n 1 | sed 's|^-O2$|-O3|g' | xargs -n 100`
%endif
export CFLAGS

%configure --disable-static
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}

pushd %{compat_ver}
%configure --disable-static
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
popd

%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
rm -f %{buildroot}%{_libdir}/*.a
rm -f %{buildroot}%{_libdir}/*.la
rm -rf %{buildroot}%{_docdir}/%{name}
rm -rf %{buildroot}%{_datadir}/locale
cp -r %{compat_ver}/src/liblzma/.libs/liblzma.so.0* %{buildroot}%{_libdir}

%check
LD_LIBRARY_PATH=$PWD/src/liblzma/.libs make check

%clean
rm -rf %{buildroot}

%post libs -p /sbin/ldconfig

%postun libs -p /sbin/ldconfig

%post compat-libs -p /sbin/ldconfig

%postun compat-libs -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING* ChangeLog NEWS README THANKS TODO
%{_bindir}/*xz*
%{_mandir}/man1/*xz*

%files libs
%defattr(-,root,root,-)
%doc COPYING*
%{_libdir}/lib*.so.5*

%files compat-libs
%defattr(-,root,root,-)
%doc COPYING*
%{_libdir}/lib*.so.0*

%files devel
%defattr(-,root,root,-)
%dir %{_includedir}/lzma
%{_includedir}/lzma/*.h
%{_includedir}/lzma.h
%{_libdir}/*.so
%{_libdir}/pkgconfig/liblzma.pc

%files lzma-compat
%defattr(-,root,root,-)
%{_bindir}/*lz*
%{_mandir}/man1/*lz*

%changelog
* Fri Mar 04 2016 Pavel Raiskup <praiskup@redhat.com> - 5.2.2-1
- rebase to stable release (rhbz#1190713, rhbz#1160193)

* Wed Jul 08 2015 Pavel Raiskup <praiskup@redhat.com> - 5.1.2-12alpha
- xzgrep: return 0 when at least one file matches (rhbz#1109123)

* Tue Jun 17 2014 Pavel Raiskup <praiskup@redhat.com> - 5.1.2-9alpha
- better check the version of less binary (#1082639)

* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 5.1.2-8alpha
- Mass rebuild 2014-01-24

* Fri Jan 10 2014 Pavel Raiskup <praiskup@redhat.com> - 5.1.2-7alpha
- build with -O3 on ppc64 (private #1051078)

* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 5.1.2-6alpha
- Mass rebuild 2013-12-27

* Tue Apr 09 2013 Pavel Raiskup <praiskup@redhat.com> - 5.1.2-5alpha
- fix manual page inconsistencies with help output (private #948533)
- enable/fix the 'xzgrep -h' (private #850898)

* Thu Feb 21 2013 Karsten Hopp <karsten@redhat.com> 5.1.2-4alpha
- add support for ppc64p7 arch (Power7 optimized)

* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.2-3alpha
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.2-2alpha
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Thu Jul 05 2012 Jindrich Novy <jnovy@redhat.com> 5.1.2alpha-1
- update to 5.1.2alpha

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.1-2alpha
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Sun Oct 16 2011 Jindrich Novy <jnovy@redhat.com> 5.1.1alpha-1
- update to 5.1.1alpha

* Mon Jun 20 2011 Jindrich Novy <jnovy@redhat.com> 5.0.3-2
- better to have upstream tarballs in different formats than XZ
to allow bootstrapping (#714765)

* Mon May 23 2011 Jindrich Novy <jnovy@redhat.com> 5.0.3-1
- update to 5.0.3

* Mon Apr 04 2011 Jindrich Novy <jnovy@redhat.com> 5.0.2-1
- update to 5.0.2

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sat Jan 29 2011 Jindrich Novy <jnovy@redhat.com> 5.0.1-1
- update to 5.0.1

* Tue Oct 26 2010 Jindrich Novy <jnovy@redhat.com> 5.0.0-4
- call ldconfig for compat-libs and fix description

* Mon Oct 25 2010 Jindrich Novy <jnovy@redhat.com> 5.0.0-3
- introduce compat-libs subpackage with older soname to
resolve problems with soname bump and for packages requiring
older xz-4.999.9beta

* Mon Oct 25 2010 Jindrich Novy <jnovy@redhat.com> 5.0.0-2
- rebuild

* Mon Oct 25 2010 Jindrich Novy <jnovy@redhat.com> 5.0.0-1
- update to the new upstream release

* Sat Oct 16 2010 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.3.beta.212.gacbc
- update to latest git snapshot

* Thu Apr 01 2010 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.2.20100401.beta
- sync with upstream (#578925)

* Thu Feb 18 2010 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.2.20091007.beta
- move xz man pages to main package, leave lzma ones where they belong (#566484)

* Wed Oct 07 2009 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.1.20091007.beta
- sync with upstream again

* Fri Oct 02 2009 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.1.20091002.beta
- sync with upstream to generate the same archives on machines with different
endianess

* Fri Aug 28 2009 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.1.beta
- update to 4.999.9beta

* Mon Aug 17 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8-0.10.beta.20090817git
- sync with upstream because of #517806

* Tue Aug 04 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8-0.9.beta.20090804git
- update to the latest GIT snapshot

* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.999.8-0.8.beta
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri Jul 17 2009 Bill Nottingham <notting@redhat.com> 4.999.8-0.7.beta
- tweak summary
- add %%check section (<tibbs@math.uh.edu>)

* Thu Jul 09 2009 Bill Nottingham <notting@redhat.com> 4.999.8-0.6.beta
- fix release versioning to match guidelines
- fix up lzma-compat summary/description
- tweak licensing

* Mon Jun 22 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.5
- introduce lzma-compat subpackage

* Fri Jun 19 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.4
- try to not to conflict with lzma

* Thu Jun 18 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.3
- obsolete but don't provide lzma, they are largely incompatible
- put beta to Release

* Wed Jun 17 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.2
- obsolete old lzma
- add Requires: pkgconfig

* Tue Jun 16 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.1
- package XZ Utils, based on LZMA Utils packaged by Per Patrice Bouchand
Loading…
Cancel
Save