123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- 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: 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 <[email protected]> - 3.3.3-7
- - simplify libtool hacks
- {{ git_changelog }}
|