# # spec file for package xz # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "lang" %bcond_without lang %else %bcond_with lang %endif # avoid bootstrapping problem %if 0%{?suse_version} == 1500 %bcond_without static %else %bcond_with static %endif %define _binary_payload w9.bzdio %global real_ver 5.4.6 Name: xz Version: 5.6.1.revertto5.4 Release: 0 Summary: A Program for Compressing Files with the Lempel–Ziv–Markov algorithm 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: %{name}-%{real_ver}.tar.zst Source2: baselibs.conf Source4: xznew Source5: xznew.1 BuildRequires: pkgconfig BuildRequires: zstd # for autoreconf BuildRequires: autoconf BuildRequires: automake # required by autoconf for autopoint BuildRequires: gettext-tools # needed by autopoint BuildRequires: findutils BuildRequires: libtool %if %{with lang} # required to update manpage translations BuildRequires: po4a BuildArch: noarch %endif Provides: lzma = %{real_ver} Obsoletes: lzma < %{real_ver} %{?suse_build_hwcaps_libs} %description The xz command is a program for compressing files. * Average compression ratio of LZMA is about 30%% better than that of gzip, and 15%% better than that of bzip2. * Decompression speed is only little slower than that of gzip, being two to five times faster than bzip2. * In fast mode, compresses faster than bzip2 with a comparable compression ratio. * Achieving the best compression ratios takes four to even twelve times longer than with bzip2. However, this does not affect decompressing speed. * Very similar command line interface to what gzip and bzip2 have. %if %{with lang} %lang_package %else %package -n liblzma5 Summary: Lempel–Ziv–Markov chain algorithm compression library License: 0BSD Group: System/Libraries Provides: liblzma5 = %{real_ver} %description -n liblzma5 Library for encoding/decoding LZMA files. %package devel Summary: Development package for the LZMA library License: 0BSD Group: Development/Libraries/C and C++ Requires: liblzma5 = %{real_ver} Provides: lzma-devel = %{real_ver} Obsoletes: lzma-devel < %{real_ver} Provides: lzma-alpha-devel = %{real_ver} Obsoletes: lzma-alpha-devel < %{real_ver} %description devel This package contains the header files and libraries needed for compiling programs using the LZMA library. %if %{with static} %package static-devel Summary: Static version of LZMA library License: SUSE-Public-Domain Group: Development/Libraries/C and C++ Requires: lzma-devel = %{real_ver} %description static-devel Static library for the LZMA library %endif # without lang %endif %prep %autosetup -n %{name}-%{real_ver} %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects export CFLAGS="%{optflags} -D_REENTRANT -pipe -fPIE" export LDFLAGS="-Wl,-z,relro,-z,now -pie" autoreconf -fi # Either we build it without pic enabled, or we build one at a time %if %{with static} %configure \ --with-pic \ --docdir=%{_docdir}/%{name} \ --disable-shared CONFIG_SHELL=/bin/sh %make_build cp ./src/liblzma/.libs/liblzma.a liblzma.a %endif %configure \ --with-pic \ --docdir=%{_docdir}/%{name} \ --disable-static CONFIG_SHELL=/bin/sh %if 0%{?do_profiling} %make_build CFLAGS="${CFLAGS} %{cflags_profile_generate}" %make_build %make_build clean %make_build CFLAGS="${CFLAGS} %{cflags_profile_feedback}" %else %make_build %endif %if %{with lang} # update manpage translations ./po4a/update-po %endif %check %make_build check %install %make_install find %{buildroot} -type f -name "*.la" -delete -print %find_lang %{name} --all-name --with-man install -Dpm 0755 %{SOURCE4} %{buildroot}%{_bindir}/xznew install -Dpm 0644 %{SOURCE5} %{buildroot}%{_mandir}/man1/xznew.1 %if %{with static} install -Dpm 0644 liblzma.a %{buildroot}%{_libdir}/ %endif rm -vf %{buildroot}%{_docdir}/%{name}/{COPYING,COPYING.GPLv2} %if %{without lang} %post -n liblzma5 -p /sbin/ldconfig %postun -n liblzma5 -p /sbin/ldconfig %endif %if %{with lang} %files lang -f %{name}.lang # exclude everything of the other packages %exclude %_docdir %exclude %_bindir %exclude %_mandir/man1 %exclude %{_includedir} %exclude %_libdir %exclude /usr/src/debug/ %exclude /usr/lib/debug/ %dir %{_mandir}/fr %dir %{_mandir}/de %dir %{_mandir}/ko %if 0%{?suse_version} == 1500 %dir %{_mandir}/ro %dir %{_mandir}/uk %endif %endif %if %{without lang} %files %license COPYING COPYING.GPLv2 %{_docdir}/%{name} %{_bindir}/lzcat %{_bindir}/lzcmp %{_bindir}/lzdiff %{_bindir}/lzegrep %{_bindir}/lzfgrep %{_bindir}/lzgrep %{_bindir}/lzless %{_bindir}/lzma %{_bindir}/lzmadec %{_bindir}/lzmainfo %{_bindir}/lzmore %{_bindir}/unlzma %{_bindir}/unxz %{_bindir}/xz %{_bindir}/xzcat %{_bindir}/xzcmp %{_bindir}/xzdec %{_bindir}/xzdiff %{_bindir}/xzegrep %{_bindir}/xzfgrep %{_bindir}/xzgrep %{_bindir}/xzless %{_bindir}/xzmore %{_bindir}/xznew %{_mandir}/man1/lzcat.1%{?ext_man} %{_mandir}/man1/lzcmp.1%{?ext_man} %{_mandir}/man1/lzdiff.1%{?ext_man} %{_mandir}/man1/lzegrep.1%{?ext_man} %{_mandir}/man1/lzfgrep.1%{?ext_man} %{_mandir}/man1/lzgrep.1%{?ext_man} %{_mandir}/man1/lzless.1%{?ext_man} %{_mandir}/man1/lzma.1%{?ext_man} %{_mandir}/man1/lzmadec.1%{?ext_man} %{_mandir}/man1/lzmainfo.1%{?ext_man} %{_mandir}/man1/lzmore.1%{?ext_man} %{_mandir}/man1/unlzma.1%{?ext_man} %{_mandir}/man1/unxz.1%{?ext_man} %{_mandir}/man1/xz.1%{?ext_man} %{_mandir}/man1/xzcat.1%{?ext_man} %{_mandir}/man1/xzcmp.1%{?ext_man} %{_mandir}/man1/xzdec.1%{?ext_man} %{_mandir}/man1/xzdiff.1%{?ext_man} %{_mandir}/man1/xzegrep.1%{?ext_man} %{_mandir}/man1/xzfgrep.1%{?ext_man} %{_mandir}/man1/xzgrep.1%{?ext_man} %{_mandir}/man1/xzless.1%{?ext_man} %{_mandir}/man1/xzmore.1%{?ext_man} %{_mandir}/man1/xznew.1%{?ext_man} # covered by -lang subpackage %exclude %{_mandir}/fr %exclude %{_mandir}/de %exclude %{_mandir}/ko %exclude %{_mandir}/ro %exclude %{_mandir}/uk %exclude /usr/share/locale %files -n liblzma5 %{_libdir}/liblzma.so.5* %files devel %{_includedir}/lzma.h %dir %{_includedir}/lzma/ %{_includedir}/lzma/* %{_libdir}/liblzma.so %{_libdir}/pkgconfig/liblzma.pc %if %{with static} %files static-devel %defattr(-, root, root) %{_libdir}/liblzma.a %endif # without lang end %endif %changelog