bzip2/bzip2.spec

298 lines
8.9 KiB
RPMSpec

#
# spec file for package bzip2 (Version 1.0.5)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
# norootforbuild
Name: bzip2
Version: 1.0.5
Release: 33
Provides: bzip
Obsoletes: bzip
# The following is a kludge to get updating bzip2 to after the split work
PreReq: libbz2-1
AutoReqProv: on
# bug437293
%ifarch ppc64
Obsoletes: bzip2-64bit
%endif
%ifarch %ix86 ppc
Obsoletes: bzip2-32bit
%endif
#
Group: Productivity/Archiving/Compression
License: BSD 3-Clause
Url: http://www.bzip.org/
Summary: A Program for Compressing Files
Source: bzip2-%{version}.tar.gz
Source1: bznew.gz
Source2: bznew.1.gz
Source100: rpmlintrc
Patch1: bzip2-shared_lib.patch
Patch2: bzip2-maxlen20.patch
Patch3: bzip2-faster.patch
Patch4: bzip2-cflags.patch
Patch5: bzip2-unsafe_strcpy.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The bzip2 program is a very powerful program for compressing files.
Authors:
--------
Julian Seward <jseward@acm.org>
%package doc
License: BSD 3-Clause
Summary: The bzip2 program and Library Documentation
Group: Productivity/Archiving/Compression
%description doc
The bzip2 program and library documentation.
Authors:
--------
Julian Seward <jseward@acm.org>
%package -n libbz2-1
License: BSD 3-Clause
Summary: The bzip2 runtime library
Group: Productivity/Archiving/Compression
%description -n libbz2-1
The bzip2 runtime library
Authors:
--------
Julian Seward <jseward@acm.org>
%package -n libbz2-devel
License: BSD 3-Clause
Summary: The bzip2 runtime library development files
Group: Development/Libraries/Other
Requires: libbz2-1 = %{version}
%description -n libbz2-devel
The bzip2 runtime library development files.
Authors:
--------
Julian Seward <jseward@acm.org>
%prep
%setup -q
%patch1
%patch2
%patch3
%patch4
%patch5
%build
profile_bzip2()
{
tmpfile=$(mktemp)
trap "rm -f $tmpfile $tmpfile.gz" EXIT
tar -cjf $tmpfile.bz2 /usr/src || true
# time ./bzip2 $tmpfile
export LD_PRELOAD=$PWD/libbz2.so
time ./bzip2 -d < $tmpfile.bz2 > /dev/null
unset LD_PRELOAD
}
export CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64 -Wall -Winline -fpic"
%if %{do_profiling}
make CFLAGS="$CFLAGS %{cflags_profile_generate}" LIBDIR=%{_libdir} %{?jobs:-j %jobs} bzip2
profile_bzip2
make clean
make CFLAGS="$CFLAGS %{cflags_profile_feedback}" LIBDIR=%{_libdir} %{?jobs:-j %jobs} bzip2
%endif
make CFLAGS="$CFLAGS" LIBDIR=%{_libdir} %{?jobs:-j %jobs}
%install
make PREFIX=$RPM_BUILD_ROOT%{_prefix} MANDIR=$RPM_BUILD_ROOT%{_mandir} \
LIBDIR=$RPM_BUILD_ROOT%{_libdir} install
gzip -9 manual.ps
gzip -dc %{SOURCE1} > bznew
install -D -m 755 bznew $RPM_BUILD_ROOT%{_bindir}/bznew
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1
install -m 755 -d $RPM_BUILD_ROOT/%{_lib}/
mv $RPM_BUILD_ROOT%{_libdir}/libbz2.so $RPM_BUILD_ROOT/%{_lib}/libbz2.so.%{version}
ln -sf libbz2.so.%{version} $RPM_BUILD_ROOT/%{_lib}/libbz2.so.1
ln -sf ../../%{_lib}/libbz2.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libbz2.so
# installing bzgrep, bzdiff and bzmore scripts bnc#376464
mkdir -p $RPM_BUILD_ROOT%{_bindir}
install -m 755 bzgrep bzdiff bzmore $RPM_BUILD_ROOT%{_bindir}
install -m 644 bzgrep.1 bzdiff.1 bzmore.1 $RPM_BUILD_ROOT%{_mandir}/man1
ln -s bzdiff $RPM_BUILD_ROOT%{_bindir}/bzcmp
ln -s bzmore $RPM_BUILD_ROOT%{_bindir}/bzless
ln -s bzdiff.1 $RPM_BUILD_ROOT%{_mandir}/man1/bzcmp.1
ln -s bzmore.1 $RPM_BUILD_ROOT%{_mandir}/man1/bzless.1
%clean
rm -rf $RPM_BUILD_ROOT
%post -n libbz2-1 -p /sbin/ldconfig
%postun -n libbz2-1 -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README LICENSE CHANGES
%doc %{_mandir}/man1/*
%{_bindir}/*
%files doc
%defattr(-,root,root)
%doc manual.ps.gz manual*.html
%files -n libbz2-1
%defattr(-,root,root)
%doc README LICENSE CHANGES
/%{_lib}/libbz2.so.1
/%{_lib}/libbz2.so.1.*
%files -n libbz2-devel
%defattr(-,root,root)
%{_includedir}/bzlib.h
%{_libdir}/libbz2.a
%{_libdir}/libbz2.so
%changelog
* Thu Oct 30 2008 olh@suse.de
- obsolete old -XXbit packages (bnc#437293)
* Fri Aug 01 2008 jw@suse.de
- added missing header to bznew [bnc#413261]
* Wed May 14 2008 coolo@suse.de
- fix rename of xxbit packages
* Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages
for multilib support
* Thu Apr 03 2008 lmichnovic@suse.cz
- update to version 1.5
* Fixes CERT-FI 20469 as it applies to bzip2
which obsoletes bzip2-CVE-2008-1372-CERT-FI-20469.patch
- installing scripts bzdiff, bzgrep, bzmore
and symlinks bzless, bzcmp [bnc#376464]
- addded CFLAGS in Makefile-libbz2_so (cflags.patch)
- fix unsafe strcpy in bzip2recover (unsafe_strcpy.patch)
Thanks to Red Hat.
* Wed Mar 19 2008 nadvornik@suse.cz
- fixed buffer overflows CVE-2008-1372 [bnc#372047]
* Thu Dec 06 2007 lmichnovic@suse.cz
- bznew can now repack also .tar.gz files [#342612]
The dot in suffix is explicitly checked
* Thu Nov 08 2007 lmichnovic@suse.cz
- added README, LICENSE, CHANGES files to libbz2-1 package
* Mon Jun 04 2007 schwab@suse.de
- Fix dependency.
* Wed May 30 2007 lmichnovic@suse.cz
- renamed lib to libbz2-1 according to Shared Library Packaging
Policy
- calling ldconfig for libbz2-1 package
* Sat May 26 2007 dmueller@suse.de
- build with profile feedback enabled (7-15%% speedup)
* Fri Mar 30 2007 rguenther@suse.de
- Add PreReq to libbz2 from bzip2 to work around update problems
* Fri Mar 23 2007 rguenther@suse.de
- Split off doc, libbz2 and libbz2-devel packages
* Mon Jan 15 2007 lmichnovic@suse.cz
- Update to version 1.0.4
* Fixes some minor bugs since the last version, 1.0.3.
* Fix file permissions race problem (CAN-2005-0953).
* Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD
scan.
* 'const'/prototype cleanups in the C code.
* Change default install location to /usr/local, and handle
multiple 'make install's without error.
* Sanitise file names more carefully in bzgrep. Fixes
CAN-2005-0758 to the extent that applies to bzgrep.
* Use 'mktemp' rather than 'tempfile' in bzdiff.
* Tighten up a couple of assertions in blocksort.c following
automated analysis.
* Fix minor doc/comment bugs.
* Mon Oct 16 2006 dmueller@suse.de
- strip .la files
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Wed Jan 18 2006 schwab@suse.de
- Don't strip binaries.
* Fri Aug 12 2005 mls@suse.de
- make decompress much faster
- compile with -O3
- go back to maxlen=20 when compressing
* Fri Aug 05 2005 ro@suse.de
- next libdir: only package lib*
* Fri Aug 05 2005 ro@suse.de
- do not package all of libdir (debuginfo)
* Mon Aug 01 2005 mjancar@suse.cz
- update to 1.0.3
* Tue Jun 28 2005 kukuk@suse.de
- Move shared libraries to /%%{_lib}
* Thu Mar 24 2005 werner@suse.de
- Add bznew, a changeed version of the gzip znew.
* Tue Apr 20 2004 mmj@suse.de
- Fix strict aliasing
* Sun Jan 11 2004 adrian@suse.de
- add %%defattr and %%run_ldconfig
* Wed Jul 23 2003 tcrhak@suse.cz
- fixed URL
* Tue Jul 23 2002 tcrhak@suse.cz
- renamed to bzip2
* Tue Feb 05 2002 tcrhak@suse.cz
- update to version 1.0.2
- bziped tarball
* Thu Mar 08 2001 nadvornik@suse.cz
- re-added /usr/include/bzlib.h
* Thu Mar 08 2001 bk@suse.de
- Replaced the -malign options with -mcpu=pentiumpro
* Tue Mar 06 2001 bk@suse.de
- add version info to libbz2 link to fix the library version number
- if i386, add -malign-loops=2 -malign-jumps=2 -malign-functions=2
* Thu Nov 30 2000 aj@suse.de
- New version, compile with LFS support.
* Tue Oct 03 2000 kukuk@suse.de
- Set libdir for 64bit architectures
* Mon May 22 2000 nadvornik@suse.cz
- update to 1.0.0
* Wed Apr 26 2000 nadvornik@suse.cz
- changed Group
* Mon Apr 10 2000 nadvornik@suse.cz
- added URL
* Tue Apr 04 2000 nadvornik@suse.cz
- fixed to compile
* Mon Apr 03 2000 bk@suse.de
- added libbz2 shared library support for s390
* Thu Mar 02 2000 fehr@suse.de
- moved man pages to /usr/share/man
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Mon Sep 13 1999 fehr@suse.de
- update to 0.9.5d
* Thu Jul 01 1999 ro@suse.de
- update to 0.9.0c
* Fri Sep 18 1998 ro@suse.de
- update to 0.9.0b (including libbz2 and bzlib.h)
* Thu Oct 30 1997 fehr@suse.de
- add bzip package to S.u.S.E. distribution