+#
+# Conditional build:
+%bcond_with progress # with progressbar patch
+#
Summary: Extremely powerful file compression utility
Summary(es): Un compresor de archivos con un nuevo algoritmo
Summary(fr): Utilitaire de compression de fichier extrêmement puissant
Summary(uk): ëÏÍÐÒÅÓÏÒ ÆÁÊÌ¦× ÎÁ ÂÁÚ¦ ÁÌÇÏÒÉÔÍÕ ÂÌÏÞÎÏÇÏ ÓÏÒÔÕ×ÁÎÎÑ
Summary(ru): ëÏÍÐÒÅÓÓÏÒ ÆÁÊÌÏ× ÎÁ ÏÓÎÏ×Å ÁÌÇÏÒÉÔÍÁ ÂÌÏÞÎÏÊ ÓÏÒÔÉÒÏ×ËÉ
Name: bzip2
-Version: 1.0.2
-Release: 16
+Version: 1.0.3
+Release: 4
Epoch: 0
License: BSD-like
Group: Applications/Archiving
-Source0: ftp://sources.redhat.com/pub/bzip2/v102/%{name}-%{version}.tar.gz
-# Source0-md5: ee76864958d568677f03db8afad92beb
+Source0: http://www.bzip.org/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 8a716bebecb6e647d2e8a29ea5d8447f
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: 5ffc3dbdd40080a8c22c3b4c3143cdd7
Patch0: %{name}-libtoolizeautoconf.patch
-URL: http://sources.redhat.com/bzip2/
+Patch1: %{name}-toctou.patch
+# Modified from http://www.vanheusden.com/Linux/bzip2-1.0.2.diff.gz
+Patch2: %{name}-progress-counter-1.0.2.patch
+URL: http://www.bzip.org/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define specflags_ia32 -fomit-frame-pointer
+
%description
Bzip2 compresses files using the Burrows-Wheeler block-sorting text
compression algorithm, and Huffman coding. Compression is generally
ÒÏÚÐÏ×ÓÀÄÖÅΦ ËÏÍÐÒÅÓÏÒÉ ÎÁ ÂÁÚ¦ LZ77/LZ78 ¦ ÎÁÂÌÉÖÁ¤ÔØÓÑ ÄÏ Ôϧ, ÝÏ
§§ ÚÁÂÅÚÐÅÞÕ¤ Ó¦ÍÅÊÓÔ×Ï ÓÔÁÔÉÓÔÉÞÎÉÈ ËÏÍÐÒÅÓÏÒ¦× PPM.
+%package libs
+Summary: libbz2 library
+Summary(fr): Librairie libbz2
+Summary(pl): Biblioteka libbz2
+Group: Libraries
+%ifarch %{x8664} ia64 ppc64 s390x sparc64
+Provides: libbz2.so.1.0()(64bit)
+%else
+Provides: libbz2.so.1.0
+%endif
+Obsoletes: libbzip2
+Conflicts: bzip2 < 0:1.0.2-12
+
+%description libs
+libbz2 library.
+
+%description libs -l fr
+Librairie libbz2.
+
+%description libs -l pl
+Biblioteka libbz2.
+
%package devel
Summary: libbz2 library header files
Summary(fr): Fichiers d'en-tête pour bzip2
ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ Â¦Â̦ÏÔÅËÕ ÔÁ ÈÅÄÅÒÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÒÏÚÒÏÂËÉ
ÐÒÏÇÒÁÍ, Ñ˦ ×ËÌÀÞÁÀÔØ Ð¦ÄÐÒÏÇÒÁÍÉ ËÏÍÐÒÅÓ¦§/ÄÅËÏÍÐÒÅÓ¦§ bz2.
-%package libs
-Summary: libbz2 library
-Summary(fr): Librairie libbz2
-Summary(pl): Biblioteka libbz2
-Group: Development/Libraries
-%ifarch %{x8664} ia64 ppc64 s390x sparc64
-Provides: libbz2.so.1.0()(64bit)
-%else
-Provides: libbz2.so.1.0
-%endif
-Obsoletes: libbzip2
-Conflicts: bzip2 < 0:1.0.2-12
-
-%description libs
-libbz2 library.
-
-%description libs -l fr
-Librairie libbz2.
-
-%description libs -l pl
-Biblioteka libbz2.
-
%package static
Summary: Static libbz2 library
Summary(fr): Librairie statique libbz2
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
-%define specflags_ia32 -fomit-frame-pointer
-
%description static
Static libbz2 library.
-%description libs -l fr
+%description static -l fr
Librairie statique d'en-tête pour bzip2.
%description static -l pl
%prep
%setup -q
-%patch -p1
+%patch0 -p1
+%patch1 -p1
+%{?with_progress:%patch2 -p1}
%build
%{__aclocal}
%{__automake}
%{__autoconf}
%configure \
- CFLAGS="%{rpmcflags} -D_FILE_OFFSET_BITS=64"
+ CFLAGS="%{rpmcflags} -D_FILE_OFFSET_BITS=64"
%{__make}
cd doc
/usr/bin/texi2html bzip2.texi
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/%{_lib}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
$RPM_BUILD_ROOT%{_bindir}/bzless
rm -f $RPM_BUILD_ROOT%{_bindir}/bzless.tmp
+mv -f $RPM_BUILD_ROOT%{_libdir}/libbz2.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/libbz2.so.1.0.0 $RPM_BUILD_ROOT/%{_libdir}/libbz2.so
+
# standard soname was libbz2.so.1.0, libtoolizeautoconf patch broke it,
# but ABI has not changed - provide symlink for binary compatibility
-ln -sf libbz2.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libbz2.so.1.0
+ln -sf libbz2.so.1.0.0 $RPM_BUILD_ROOT/%{_lib}/libbz2.so.1.0
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
%clean
rm -rf $RPM_BUILD_ROOT
-%post libs -p /sbin/ldconfig
-%postun libs -p /sbin/ldconfig
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
-%doc README* NEWS Y2K_INFO doc/*.html
+%doc CHANGES LICENSE README* Y2K_INFO doc/*.html
%attr(755,root,root) %{_bindir}/*
%{_mandir}/man1/*
%lang(es) %{_mandir}/es/man1/*
%lang(ko) %{_mandir}/ko/man1/*
%lang(pl) %{_mandir}/pl/man1/*
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/lib*.so.*.*.*
+%attr(755,root,root) /%{_lib}/lib*.so.1.0
+
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/lib*.so
%{_libdir}/lib*.la
%{_includedir}/*.h
-%files libs
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
-%attr(755,root,root) %{_libdir}/lib*.so.1.0
-
%files static
%defattr(644,root,root,755)
%{_libdir}/lib*.a