44c1f8
%global compat_ver xz-4.999.9beta
44c1f8
44c1f8
Summary:	LZMA compression utilities
44c1f8
Name:		xz
44c1f8
Version:	5.1.2
b181ac
Release:	12alpha%{?dist}
44c1f8
License:	LGPLv2+
44c1f8
Group:		Applications/File
44c1f8
# official upstream release
44c1f8
Source0:	http://tukaani.org/%{name}/%{name}-%{version}alpha.tar.gz
44c1f8
# source created as "make dist" in checked out GIT tree
44c1f8
Source1:	%{compat_ver}.20100401git.tar.bz2
44c1f8
URL:		http://tukaani.org/%{name}/
44c1f8
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
44c1f8
Requires:	%{name}-libs = %{version}-%{release}
44c1f8
44c1f8
# partly upstream/partly not (yet?)
44c1f8
# ~> proposal: http://www.mail-archive.com/xz-devel@tukaani.org/msg00153.html
44c1f8
# ~> #948533
44c1f8
Patch0:		xz-5.1.2alpha-man-page-day.patch
44c1f8
44c1f8
# fix 'xzgrep -h' to behave as expected
44c1f8
# ~> upstream (5019413a0)
44c1f8
# ~> #850898
44c1f8
Patch1:		xz-5.1.2alpha-xzgrep-and-h-option.patch
44c1f8
21cf02
# fix less version checking
21cf02
# ~> upstream (db5c1817fa, 9e6dabcf22)
21cf02
# ~> #1082639, #1015924
21cf02
Patch2:		xz-5.1.2alpha-less-version-check.patch
21cf02
b181ac
# fix for bad xzgrep exit value when not _all_ files match
b181ac
# ~> upstream (ceca37901783)
b181ac
# ~> #1109123
b181ac
Patch3:		xz-5.1.2alpha-xzgrep-exit.patch
b181ac
Patch4:		xz-5.1.2alpha-xzgrep-exit-test.patch
b181ac
44c1f8
%description
44c1f8
XZ Utils are an attempt to make LZMA compression easy to use on free (as in
44c1f8
freedom) operating systems. This is achieved by providing tools and libraries
44c1f8
which are similar to use than the equivalents of the most popular existing
44c1f8
compression algorithms.
44c1f8
44c1f8
LZMA is a general purpose compression algorithm designed by Igor Pavlov as
44c1f8
part of 7-Zip. It provides high compression ratio while keeping the
44c1f8
decompression speed fast.
44c1f8
44c1f8
%package 	libs
44c1f8
Summary:	Libraries for decoding LZMA compression
44c1f8
Group:		System Environment/Libraries
44c1f8
License:	LGPLv2+
44c1f8
44c1f8
%description 	libs
44c1f8
Libraries for decoding files compressed with LZMA or XZ utils.
44c1f8
44c1f8
%package 	compat-libs
44c1f8
Summary:	Compatibility libraries for decoding LZMA compression
44c1f8
Group:		System Environment/Libraries
44c1f8
License:	LGPLv2+
44c1f8
44c1f8
%description 	compat-libs
44c1f8
Compatibility libraries for decoding files compressed with LZMA or XZ utils.
44c1f8
This particular package ships libraries from %{compat_ver} as of 1st of April 2010.
44c1f8
44c1f8
%package 	devel
44c1f8
Summary:	Devel libraries & headers for liblzma
44c1f8
Group:		Development/Libraries
44c1f8
License:	LGPLv2+
44c1f8
Requires:	%{name}-libs = %{version}-%{release}
44c1f8
Requires:	pkgconfig
44c1f8
44c1f8
%description	devel
44c1f8
Devel libraries and headers for liblzma.
44c1f8
44c1f8
%package 	lzma-compat
44c1f8
Summary:	Older LZMA format compatibility binaries
44c1f8
Group:		Development/Libraries
44c1f8
# lz{grep,diff,more} are GPLv2+. Other binaries are LGPLv2+
44c1f8
License:	GPLv2+ and LGPLv2+
44c1f8
Requires:	%{name} = %{version}-%{release}
44c1f8
Obsoletes:	lzma < %{version}
44c1f8
Provides:	lzma = %{version}
44c1f8
44c1f8
%description	lzma-compat
44c1f8
The lzma-compat package contains compatibility links for older
44c1f8
commands that deal with the older LZMA format.
44c1f8
44c1f8
%prep
44c1f8
%setup -q -a1 -n %{name}-%{version}alpha
44c1f8
%patch0  -p1 -b .man-page-day
44c1f8
%patch1  -p1 -b .xzgrep-and-h-option
21cf02
%patch2  -p1 -b .less-version-check
b181ac
%patch3  -p1 -b .xzgrep-exit-status
b181ac
%patch4  -p1 -b .xzgrep-exit-status-test
44c1f8
44c1f8
for i in `find . -name config.sub`; do
44c1f8
  perl -pi -e "s/ppc64-\*/ppc64-\* \| ppc64p7-\*/" $i
44c1f8
done
44c1f8
44c1f8
%build
71e5b2
CFLAGS="%{optflags} -D_FILE_OFFSET_BITS=64"
71e5b2
%ifarch %{power64}
71e5b2
    CFLAGS=`echo $CFLAGS | xargs -n 1 | sed 's|^-O2$|-O3|g' | xargs -n 100`
71e5b2
%endif
71e5b2
export CFLAGS
71e5b2
44c1f8
%configure --disable-static
44c1f8
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
44c1f8
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
44c1f8
make %{?_smp_mflags}
44c1f8
44c1f8
pushd %{compat_ver}
44c1f8
%configure --disable-static
44c1f8
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
44c1f8
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
44c1f8
make %{?_smp_mflags}
44c1f8
popd
44c1f8
44c1f8
%install
44c1f8
rm -rf %{buildroot}
44c1f8
make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
44c1f8
rm -f %{buildroot}%{_libdir}/*.a
44c1f8
rm -f %{buildroot}%{_libdir}/*.la
44c1f8
rm -rf %{buildroot}%{_docdir}/%{name}
44c1f8
rm -rf %{buildroot}%{_datadir}/locale
44c1f8
cp -r %{compat_ver}/src/liblzma/.libs/liblzma.so.0* %{buildroot}%{_libdir}
44c1f8
44c1f8
%check
44c1f8
LD_LIBRARY_PATH=$PWD/src/liblzma/.libs make check
44c1f8
44c1f8
%clean
44c1f8
rm -rf %{buildroot}
44c1f8
44c1f8
%post libs -p /sbin/ldconfig
44c1f8
44c1f8
%postun libs -p /sbin/ldconfig
44c1f8
44c1f8
%post compat-libs -p /sbin/ldconfig
44c1f8
44c1f8
%postun compat-libs -p /sbin/ldconfig
44c1f8
44c1f8
%files
44c1f8
%defattr(-,root,root,-)
44c1f8
%doc AUTHORS COPYING* ChangeLog NEWS README THANKS TODO
44c1f8
%{_bindir}/*xz*
44c1f8
%{_mandir}/man1/*xz*
44c1f8
44c1f8
%files libs
44c1f8
%defattr(-,root,root,-)
44c1f8
%doc COPYING*
44c1f8
%{_libdir}/lib*.so.5*
44c1f8
44c1f8
%files compat-libs
44c1f8
%defattr(-,root,root,-)
44c1f8
%doc COPYING*
44c1f8
%{_libdir}/lib*.so.0*
44c1f8
44c1f8
%files devel
44c1f8
%defattr(-,root,root,-)
44c1f8
%dir %{_includedir}/lzma
44c1f8
%{_includedir}/lzma/*.h
44c1f8
%{_includedir}/lzma.h
44c1f8
%{_libdir}/*.so
44c1f8
%{_libdir}/pkgconfig/liblzma.pc
44c1f8
44c1f8
%files lzma-compat
44c1f8
%defattr(-,root,root,-)
44c1f8
%{_bindir}/*lz*
44c1f8
%{_mandir}/man1/*lz*
44c1f8
44c1f8
%changelog
b181ac
* Wed Jul 08 2015 Pavel Raiskup <praiskup@redhat.com> - 5.1.2-12alpha
b181ac
- xzgrep: return 0 when at least one file matches (rhbz#1109123)
b181ac
21cf02
* Tue Jun 17 2014 Pavel Raiskup <praiskup@redhat.com> - 5.1.2-9alpha
21cf02
- better check the version of less binary (#1082639)
21cf02
71e5b2
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 5.1.2-8alpha
71e5b2
- Mass rebuild 2014-01-24
71e5b2
71e5b2
* Fri Jan 10 2014 Pavel Raiskup <praiskup@redhat.com> - 5.1.2-7alpha
71e5b2
- build with -O3 on ppc64 (private #1051078)
71e5b2
71e5b2
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 5.1.2-6alpha
71e5b2
- Mass rebuild 2013-12-27
71e5b2
44c1f8
* Tue Apr 09 2013 Pavel Raiskup <praiskup@redhat.com> - 5.1.2-5alpha
44c1f8
- fix manual page inconsistencies with help output (private #948533)
44c1f8
- enable/fix the 'xzgrep -h' (private #850898)
44c1f8
44c1f8
* Thu Feb 21 2013 Karsten Hopp <karsten@redhat.com> 5.1.2-4alpha
44c1f8
- add support for ppc64p7 arch (Power7 optimized)
44c1f8
44c1f8
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.2-3alpha
44c1f8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
44c1f8
44c1f8
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.2-2alpha
44c1f8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
44c1f8
44c1f8
* Thu Jul 05 2012 Jindrich Novy <jnovy@redhat.com> 5.1.2alpha-1
44c1f8
- update to 5.1.2alpha
44c1f8
44c1f8
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.1.1-2alpha
44c1f8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
44c1f8
44c1f8
* Sun Oct 16 2011 Jindrich Novy <jnovy@redhat.com> 5.1.1alpha-1
44c1f8
- update to 5.1.1alpha
44c1f8
44c1f8
* Mon Jun 20 2011 Jindrich Novy <jnovy@redhat.com> 5.0.3-2
44c1f8
- better to have upstream tarballs in different formats than XZ
44c1f8
  to allow bootstrapping (#714765)
44c1f8
44c1f8
* Mon May 23 2011 Jindrich Novy <jnovy@redhat.com> 5.0.3-1
44c1f8
- update to 5.0.3
44c1f8
44c1f8
* Mon Apr 04 2011 Jindrich Novy <jnovy@redhat.com> 5.0.2-1
44c1f8
- update to 5.0.2
44c1f8
44c1f8
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.0.1-2
44c1f8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
44c1f8
44c1f8
* Sat Jan 29 2011 Jindrich Novy <jnovy@redhat.com> 5.0.1-1
44c1f8
- update to 5.0.1
44c1f8
44c1f8
* Tue Oct 26 2010 Jindrich Novy <jnovy@redhat.com> 5.0.0-4
44c1f8
- call ldconfig for compat-libs and fix description
44c1f8
44c1f8
* Mon Oct 25 2010 Jindrich Novy <jnovy@redhat.com> 5.0.0-3
44c1f8
- introduce compat-libs subpackage with older soname to
44c1f8
  resolve problems with soname bump and for packages requiring
44c1f8
  older xz-4.999.9beta
44c1f8
44c1f8
* Mon Oct 25 2010 Jindrich Novy <jnovy@redhat.com> 5.0.0-2
44c1f8
- rebuild
44c1f8
44c1f8
* Mon Oct 25 2010 Jindrich Novy <jnovy@redhat.com> 5.0.0-1
44c1f8
- update to the new upstream release
44c1f8
44c1f8
* Sat Oct 16 2010 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.3.beta.212.gacbc
44c1f8
- update to latest git snapshot
44c1f8
44c1f8
* Thu Apr 01 2010 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.2.20100401.beta
44c1f8
- sync with upstream (#578925)
44c1f8
44c1f8
* Thu Feb 18 2010 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.2.20091007.beta
44c1f8
- move xz man pages to main package, leave lzma ones where they belong (#566484)
44c1f8
44c1f8
* Wed Oct 07 2009 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.1.20091007.beta
44c1f8
- sync with upstream again
44c1f8
44c1f8
* Fri Oct 02 2009 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.1.20091002.beta
44c1f8
- sync with upstream to generate the same archives on machines with different
44c1f8
  endianess
44c1f8
44c1f8
* Fri Aug 28 2009 Jindrich Novy <jnovy@redhat.com> 4.999.9-0.1.beta
44c1f8
- update to 4.999.9beta
44c1f8
44c1f8
* Mon Aug 17 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8-0.10.beta.20090817git
44c1f8
- sync with upstream because of #517806
44c1f8
44c1f8
* Tue Aug 04 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8-0.9.beta.20090804git
44c1f8
- update to the latest GIT snapshot
44c1f8
44c1f8
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.999.8-0.8.beta
44c1f8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
44c1f8
44c1f8
* Fri Jul 17 2009 Bill Nottingham <notting@redhat.com> 4.999.8-0.7.beta
44c1f8
- tweak summary
44c1f8
- add %%check section (<tibbs@math.uh.edu>)
44c1f8
 
44c1f8
* Thu Jul 09 2009 Bill Nottingham <notting@redhat.com> 4.999.8-0.6.beta
44c1f8
- fix release versioning to match guidelines
44c1f8
- fix up lzma-compat summary/description
44c1f8
- tweak licensing
44c1f8
44c1f8
* Mon Jun 22 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.5
44c1f8
- introduce lzma-compat subpackage
44c1f8
44c1f8
* Fri Jun 19 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.4
44c1f8
- try to not to conflict with lzma
44c1f8
44c1f8
* Thu Jun 18 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.3
44c1f8
- obsolete but don't provide lzma, they are largely incompatible
44c1f8
- put beta to Release
44c1f8
44c1f8
* Wed Jun 17 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.2
44c1f8
- obsolete old lzma
44c1f8
- add Requires: pkgconfig
44c1f8
44c1f8
* Tue Jun 16 2009 Jindrich Novy <jnovy@redhat.com> 4.999.8beta-0.1
44c1f8
- package XZ Utils, based on LZMA Utils packaged by Per Patrice Bouchand