Change symbolic link for bootstrap
[platform/upstream/zlib.git] / packaging / zlib.spec
1 %define keepstatic 1
2 Name:           zlib
3 Provides:       libz
4 Obsoletes:      libz
5 Version:        1.2.8
6 Release:        0
7 Summary:        Data Compression Library
8 License:        Zlib
9 Group:          Base/Libraries
10 Url:            http://www.zlib.net/
11 #X-Vcs-Url:     https://github.com/madler/zlib.git
12 Source:         http://zlib.net/zlib-%{version}.tar.bz2
13 Source1:        LICENSE
14 Source2:        baselibs.conf
15 Source1001:     zlib.manifest
16 BuildRequires:  pkgconfig
17
18 %description
19 ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt
20 (deflate format) and rfc1952.txt (gzip format). These documents are
21 also available in other formats from
22 ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html.
23
24 %package devel
25 Summary:        Include Files and Libraries mandatory for Development
26 Group:          Development/Libraries
27 Requires:       glibc-devel
28 Requires:       zlib = %{version}
29 Provides:       libz:/usr/include/zlib.h
30
31 %description devel
32 This package contains all necessary include files and libraries needed
33 to develop applications that require the provided includes and
34 libraries.
35
36 %package devel-static
37 Summary:        Include Files and Libraries mandatory for Development
38 Group:          Development/Libraries
39 Requires:       %{name}-devel = %{version}
40 Provides:       %{name}-devel:%{_libdir}/libz.a
41
42 %description devel-static
43 This package contains all necessary include files and libraries needed
44 to develop applications that require the provided includes and
45 libraries.
46
47 %package -n minizip
48 Summary:    Manipulates files from a .zip archive
49 Group:      System/Libraries
50 Requires:   %{name} = %{version}-%{release}
51
52 %description -n minizip
53 Minizip is a tool to manipulates files from a .zip archive.
54
55 %package -n minizip-devel
56 Summary:    Development files for the minizip library
57 Group:      Development/Libraries
58 Requires:   minizip = %{version}-%{release}
59
60 %description -n minizip-devel
61 This package contains the libraries and header files needed for
62 developing applications which use minizip.
63
64 %prep
65 %setup -q
66 cp %{SOURCE1001} .
67
68 %build
69 export LDFLAGS="-Wl,-z,relro,-z,now"
70 %define do_profiling 0
71 %if %{do_profiling}
72 profiledir=$(mktemp -d)
73 trap "rm -rf $profiledir" EXIT
74 CC="gcc" ./configure --shared --prefix=%{_prefix} --libdir=/%{_lib}
75 %__make CFLAGS="%{optflags} %{cflags_profile_generate}=$profiledir" %{?_smp_mflags}
76 time %__make check
77 %__make clean
78 %__make CFLAGS="%{optflags} %{cflags_profile_feedback}=$profiledir" %{?_smp_mflags}
79 %else
80 export CFLAGS="%{optflags}"
81 CC="gcc" ./configure --shared --prefix=%{_prefix} --libdir=/%{_lib}
82 %__make %{?_smp_mflags}
83 %endif
84
85 cd contrib/minizip
86 %reconfigure
87 %__make %{?_smp_mflags}
88
89 %check
90 time %__make check
91
92 %install
93 #mkdir -p %%{buildroot}%%{_mandir}/man3
94 mkdir -p %{buildroot}%{_libdir}
95 %make_install
96 pushd %{buildroot}%{_libdir}
97 ln -sf -v ../../%{_lib}/$(readlink %{buildroot}/%{_lib}/libz.so) %{buildroot}%{_libdir}/libz.so
98 popd
99 rm -v %{buildroot}/%{_lib}/libz.so
100 # static lib
101 mv %{buildroot}/%{_lib}/libz.a %{buildroot}%{_libdir}
102 # Move .pc file to %%{_libdir}
103 mv %{buildroot}/%{_lib}/pkgconfig %{buildroot}%{_libdir}
104 # manpage
105 install -m 644 zlib.3 %{buildroot}%{_mandir}/man3
106 install -m 644 zutil.h %{buildroot}%{_includedir}
107
108 pushd contrib/minizip
109 %make_install
110 rm -rf %{buildroot}%{_libdir}/libminizip.a
111 rm -rf %{buildroot}%{_libdir}/libminizip.la
112 popd
113
114 %post -p /sbin/ldconfig
115
116 %postun -p /sbin/ldconfig
117
118 %post -n minizip -p /sbin/ldconfig
119
120 %postun -n minizip -p /sbin/ldconfig
121
122 %files
123 %manifest %{name}.manifest
124 %defattr(-,root,root)
125 /%{_lib}/libz.so.1.2.*
126 /%{_lib}/libz.so.1
127
128 %files devel
129 %manifest %{name}.manifest
130 %defattr(-,root,root)
131 %doc README
132 %license README
133 %{_mandir}/man3/zlib.3.gz
134 %{_includedir}/zlib.h
135 %{_includedir}/zconf.h
136 %{_includedir}/zutil.h
137 %{_libdir}/libz.so
138 %{_libdir}/pkgconfig/zlib.pc
139
140 %files devel-static
141 %manifest %{name}.manifest
142 %defattr(-,root,root)
143 %{_libdir}/libz.a
144
145 %files -n minizip
146 %manifest %{name}.manifest
147 %{_libdir}/libminizip.so.*
148
149 %files -n minizip-devel
150 %manifest %{name}.manifest
151 %{_includedir}/minizip/*.h
152 %{_libdir}/libminizip.so
153 %{_libdir}/pkgconfig/minizip.pc