Accepting request 316403 from devel:libraries:c_c++

- Require zlib-devel in zlib-devel-static to fix previous change

- Bring back zlib-devel-static. Needed by binutils

- Remove zlib-devel-static, nothing should use libz.a anyway.
- Package minizip library, everything using it should now pull
  minizip-devel and unbundle it bnc#935864

OBS-URL: https://build.opensuse.org/request/show/316403
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/zlib?expand=0&rev=60
This commit is contained in:
Stephan Kulow 2015-07-21 11:25:00 +00:00 committed by Git OBS Bridge
commit 021235be36
2 changed files with 82 additions and 22 deletions

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Mon Jul 13 11:58:44 UTC 2015 - tchvatal@suse.com
- Require zlib-devel in zlib-devel-static to fix previous change
-------------------------------------------------------------------
Tue Jun 30 11:30:37 UTC 2015 - tchvatal@suse.com
- Bring back zlib-devel-static. Needed by binutils
-------------------------------------------------------------------
Wed Jun 24 09:01:59 UTC 2015 - tchvatal@suse.com
- Remove zlib-devel-static, nothing should use libz.a anyway.
- Package minizip library, everything using it should now pull
minizip-devel and unbundle it bnc#935864
-------------------------------------------------------------------
Thu Sep 25 08:04:55 UTC 2014 - tchvatal@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package zlib
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -32,12 +32,11 @@ Source3: zlib-rpmlintrc
Patch0: zlib-1.2.7-improve-longest_match-performance.patch
#PATCH-FIX-SUSE: compiler check of varguments passed to gzprintf
Patch1: zlib-format.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# bug437293
%ifarch ppc64
Obsoletes: zlib-64bit
%endif
%description
zlib is designed to be a free, general-purpose, legally unencumbered -- that
@ -51,7 +50,7 @@ input data and can be reduced, if necessary, at some cost in compression.
%package -n libz1
Summary: Include Files and Libraries mandatory for Development
Group: Development/Languages/C and C++
Group: System/Libraries
Provides: %{name} = %{version}-%{release}
Obsoletes: %{name} < %{version}-%{release}
@ -70,12 +69,6 @@ Summary: Include Files and Libraries mandatory for Development
Group: Development/Languages/C and C++
Requires: glibc-devel
Requires: libz1 = %{version}
Provides: libz:%{_includedir}/zlib.h
# bug437293
%ifarch ppc64
Obsoletes: zlib-devel-64bit
%endif
#
%description devel
This package contains all necessary include files and libraries needed
@ -83,15 +76,31 @@ to develop applications that require the provided includes and
libraries.
%package devel-static
Summary: Include Files and Libraries mandatory for Development
Summary: Static lib for libz1 library
Group: Development/Languages/C and C++
Requires: %{name}-devel = %{version}
Provides: %{name}-devel:%{_libdir}/libz.a
%description devel-static
This package contains all necessary include files and libraries needed
to develop applications that require the provided includes and
libraries.
Static library for libz1 package, that is complementing the devel package
%package -n libminizip1
Summary: Library for manipulation with .zip archives
Group: System/Libraries
%description -n libminizip1
Minizip is a library for manipulation with files from .zip archives.
%package -n minizip-devel
Summary: Development files for the minizip library
Group: Development/Languages/C and C++
Requires: %{name}-devel = %{version}
Requires: libminizip1 = %{version}
Requires: pkgconfig
%description -n minizip-devel
This package contains the libraries and header files needed for
developing applications which use minizip.
%prep
%setup -q
@ -101,30 +110,43 @@ libraries.
%build
export LDFLAGS="-Wl,-z,relro,-z,now"
export CFLAGS="%{optflags}"
# For sure not autotools build
CC="cc" ./configure \
--shared \
--prefix=%{_prefix} \
--libdir=/%{_lib}
# Marcus: breaks example64 in 32bit builds, so it's disabled by default
%if %{with profiling}
profiledir=$(mktemp -d)
trap "rm -rf $profiledir" EXIT
CC="gcc" ./configure --shared --prefix=%{_prefix} --libdir=/%{_lib}
make CFLAGS="%{optflags} %{cflags_profile_generate}=$profiledir" %{?_smp_mflags}
time make check %{?_smp_mflags}
make clean
time make check %{?_smp_mflags}
make %{?_smp_mflags} clean
make CFLAGS="%{optflags} %{cflags_profile_feedback}=$profiledir" %{?_smp_mflags}
%else
export CFLAGS="%{optflags}"
CC="gcc" ./configure --shared --prefix=%{_prefix} --libdir=/%{_lib}
make %{?_smp_mflags}
%endif
# And build minizip
cd contrib/minizip
autoreconf -fvi
%configure \
--disable-static \
--disable-silent-rules
make %{?_smp_mflags}
%check
time make check %{?_smp_mflags}
%install
mkdir -p %{buildroot}%{_libdir}
make DESTDIR=%{buildroot} install %{?_smp_mflags}
# Fix shared library placement/symlinks
ln -s -v /%{_lib}/$(readlink %{buildroot}/%{_lib}/libz.so) %{buildroot}%{_libdir}/libz.so
rm -v %{buildroot}/%{_lib}/libz.so
# static lib
# Static lib
mv %{buildroot}/%{_lib}/libz.a %{buildroot}%{_libdir}
# Move .pc file to _libdir
mv %{buildroot}/%{_lib}/pkgconfig %{buildroot}%{_libdir}
@ -135,10 +157,19 @@ install -m 644 zutil.h %{buildroot}%{_includedir}
mkdir -p %{buildroot}%{_docdir}/%{name}
cp -r examples/ %{buildroot}%{_docdir}/%{name}/
# Install minizip
cd contrib/minizip
make DESTDIR=%{buildroot} install %{?_smp_mflags}
find %{buildroot} -type f -name "*.la" -delete -print
%post -n libz1 -p /sbin/ldconfig
%postun -n libz1 -p /sbin/ldconfig
%post -n libminizip1 -p /sbin/ldconfig
%postun -n libminizip1 -p /sbin/ldconfig
%files -n libz1
%defattr(-,root,root)
/%{_lib}/libz.so.1.2.*
@ -157,6 +188,18 @@ cp -r examples/ %{buildroot}%{_docdir}/%{name}/
%{_libdir}/libz.so
%{_libdir}/pkgconfig/zlib.pc
%files -n libminizip1
%defattr(-,root,root)
%doc contrib/minizip/MiniZip64_info.txt contrib/minizip/MiniZip64_Changes.txt
%{_libdir}/libminizip.so.*
%files -n minizip-devel
%defattr(-,root,root)
%dir %{_includedir}/minizip
%{_includedir}/minizip/*.h
%{_libdir}/libminizip.so
%{_libdir}/pkgconfig/minizip.pc
%files devel-static
%defattr(-,root,root)
%{_libdir}/libz.a