Name: {{{ git_name }}} Version: {{{ git_version lead=3 follow=5 }}} Release: 1%{?dist} Summary: A library for handling streaming archive formats License: BSD URL: http://www.libarchive.org/ Source: {{{ git_pack }}} VCS: {{{ git_vcs }}} BuildRequires: automake BuildRequires: bison BuildRequires: bzip2-devel BuildRequires: e2fsprogs-devel BuildRequires: gcc BuildRequires: libacl-devel BuildRequires: libattr-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: libzstd-devel BuildRequires: lz4-devel BuildRequires: lzo-devel BuildRequires: openssl-devel BuildRequires: sharutils BuildRequires: xz-devel BuildRequires: zlib-devel %description Libarchive is a programming library that can create and read several different streaming archive formats, including most popular tar variants, several cpio formats, and both BSD and GNU ar variants. It can also write shar archives and read ISO9660 CDROM images and ZIP archives. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package -n bsdtar Summary: Manipulate tape archives Requires: %{name}%{?_isa} = %{version}-%{release} %description -n bsdtar The bsdtar package contains standalone bsdtar utility split off regular libarchive packages. %package -n bsdcpio Summary: Copy files to and from archives Requires: %{name}%{?_isa} = %{version}-%{release} %description -n bsdcpio The bsdcpio package contains standalone bsdcpio utility split off regular libarchive packages. %package -n bsdcat Summary: Expand files to standard output Requires: %{name}%{?_isa} = %{version}-%{release} %description -n bsdcat The bsdcat program typically takes a filename as an argument or reads standard input when used in a pipe. In both cases decompressed data it written to standard output. %prep {{{ git_setup_macro }}} %autosetup -p1 %build build/autogen.sh %configure --disable-static --without-nettle LT_SYS_LIBRARY_PATH=%_libdir %make_build %install make install DESTDIR=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' # rhbz#1294252 replace () { filename=$1 file=`basename "$filename"` binary=${file%%.*} pattern=${binary##bsd} awk " # replace the topic /^.Dt ${pattern^^} 1/ { print \".Dt ${binary^^} 1\"; next; } # replace the first occurrence of \"$pattern\" by \"$binary\" !stop && /^.Nm $pattern/ { print \".Nm $binary\" ; stop = 1 ; next; } # print remaining lines 1; " "$filename" > "$filename.new" mv "$filename".new "$filename" } for manpage in bsdtar.1 bsdcpio.1 do installed_manpage=`find "$RPM_BUILD_ROOT" -name "$manpage"` replace "$installed_manpage" done %check %if %{with check} logfiles () { find -name '*_test.log' -or -name test-suite.log } tempdirs () { cat `logfiles` \ | awk "match(\$0, /[^[:space:]]*`date -I`[^[:space:]]*/) { print substr(\$0, RSTART, RLENGTH); }" \ | sort | uniq } cat_logs () { for i in `logfiles` do echo "=== $i ===" cat "$i" done } run_testsuite () { rc=0 %make_build check -j1 || { # error happened - try to extract in koji as much info as possible cat_logs for i in `tempdirs`; do if test -d "$i" ; then find $i -printf "%p\n ~> a: %a\n ~> c: %c\n ~> t: %t\n ~> %s B\n" cat $i/*.log fi done return 1 } cat_logs } # On a ppc/ppc64 is some race condition causing 'make check' fail on ppc # when both 32 and 64 builds are done in parallel on the same machine in # koji. Try to run once again if failed. %ifarch ppc run_testsuite || run_testsuite %else run_testsuite %endif %endif %files %{!?_licensedir:%global license %%doc} %license COPYING %doc NEWS README.md %{_libdir}/libarchive.so.13* %{_mandir}/*/cpio.* %{_mandir}/*/mtree.* %{_mandir}/*/tar.* %files devel %{_includedir}/*.h %{_mandir}/*/archive* %{_mandir}/*/libarchive* %{_libdir}/libarchive.so %{_libdir}/pkgconfig/libarchive.pc %files -n bsdtar %{!?_licensedir:%global license %%doc} %license COPYING %doc NEWS README.md %{_bindir}/bsdtar %{_mandir}/*/bsdtar* %files -n bsdcpio %{!?_licensedir:%global license %%doc} %license COPYING %doc NEWS README.md %{_bindir}/bsdcpio %{_mandir}/*/bsdcpio* %files -n bsdcat %{!?_licensedir:%global license %%doc} %license COPYING %doc NEWS README.md %{_bindir}/bsdcat %{_mandir}/*/bsdcat* %changelog * Thu Mar 28 2019 Pavel Raiskup - 3.3.3-7 - simplify libtool hacks {{ git_changelog }}