+#
+# 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: 9
+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
-%ifarch amd64 ia64 ppc64 sparc64
-Provides: libbz2.so.1.0()(64bit)
-%else
-Provides: libbz2.so.1.0
-%endif
-Obsoletes: libbzip2
+BuildRequires: rpmbuild(macros) >= 1.213
+BuildRequires: tetex
+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(es): Header files and libraries needed for bzip2 development
-Summary(fr): Librairie statique et fichiers d'en-tête pour bzip2
+Summary: libbz2 library header files
+Summary(fr): Fichiers d'en-tête pour bzip2
Summary(pl): Pliki nag³ówkowe do libbz2
-Summary(pt_BR): Arquivos de inclusão e biblioteca de desenvolvimento para o bzip2
+Summary(pt_BR): Arquivos de inclusão para o bzip2
Summary(uk): èÅÄÅÒÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú libbz2
Summary(ru): èÅÄÅÒÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó libbz2
Group: Development/Libraries
-Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Obsoletes: libbzip2-devel
%description devel
%description devel -l pl
Pliki nag³ówkowe do libbz2.
-%description devel -l es
-This package includes the header files and libraries needed for
-developing programs using bzip2.
-
%description devel -l pt_BR
-Este pacote inclui arquivos de inclusão e biblioteca necessário para o
+Este pacote inclui arquivos de inclusão necessário para o
desenvolvimento de programas que usam o bzip2.
%description devel -l ru
%package static
Summary: Static libbz2 library
-Summary(es): Static libraries for bzip2 development
+Summary(fr): Librairie statique libbz2
Summary(pl): Biblioteka statyczna libbz2
Summary(pt_BR): Bibliotecas estáticas para desenvolvimento com a bzip2
Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ bzip2
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
-%define specflags_ia32 -fomit-frame-pointer
-
%description static
Static libbz2 library.
-%description static -l es
-Static libraries for bzip2 development.
+%description static -l fr
+Librairie statique d'en-tête pour bzip2.
%description static -l pl
Biblioteka statyczna libbz2.
%prep
%setup -q
-%patch -p1
+%patch0 -p1
+%patch1 -p1
+%{?with_progress:%patch2 -p1}
%build
%{__aclocal}
%{__libtoolize}
%{__automake}
%{__autoconf}
-%configure
+%configure \
+ CFLAGS="%{rpmcflags} -D_FILE_OFFSET_BITS=64"
%{__make}
+cd doc
+/usr/bin/texi2html bzip2.texi
+cd ..
%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 -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
-%doc README* NEWS Y2K_INFO
-%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
-%attr(755,root,root) %{_libdir}/lib*.so.1.0
+%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