1 %define nspr_ver 1:4.10.7
2 %define foover %(echo %{version} | tr . _)
3 Summary: NSS - Network Security Services
4 Summary(pl.UTF-8): NSS - Network Security Services
11 Source0: http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_%{foover}_RTM/src/%{name}-%{version}.tar.gz
12 # Source0-md5: d3edb6f6c3688b2fde67ec9c9a8c1214
13 Source1: %{name}-mozilla-nss.pc
14 Source2: %{name}-config.in
15 Source3: http://www.cacert.org/certs/root.der
16 # Source3-md5: a61b375e390d9c3654eebd2031461f6b
17 Source4: nss-softokn.pc.in
18 # Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1083900
20 Patch1: build-nss-softoken-only.patch
21 URL: http://www.mozilla.org/projects/security/pki/nss/
22 BuildRequires: nspr-devel >= %{nspr_ver}
23 BuildRequires: nss-tools
24 BuildRequires: perl-base
25 BuildRequires: sqlite3-devel
26 BuildRequires: zlib-devel
27 BuildConflicts: mozilla < 0.9.6-3
28 Requires: %{name}-softokn-freebl = %{epoch}:%{version}-%{release}
29 Requires: nspr >= %{nspr_ver}
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 %define specflags -fno-strict-aliasing
34 # signed - stripped before signing
35 %define _noautostrip .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
36 %define _noautochrpath .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
39 NSS supports cross-platform development of security-enabled server
40 applications. Applications built with NSS can support PKCS #5,
41 PKCS #7, PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 and v3, X.509 v3
42 certificates, and other security standards.
44 %description -l pl.UTF-8
45 NSS wspomaga pisanie wieloplatformowych bezpiecznych serwerów.
46 Aplikacja używająca NSS jest w stanie obsłużyć PKCS #5, PKCS #7,
47 PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 oraz v3, certyfikaty X.509 v3,
48 i wiele innych bezpiecznych standardów.
51 Summary: NSS command line tools and utilities
52 Summary(pl.UTF-8): Narzędzia NSS obsługiwane z linii poleceń
54 Requires: %{name} = %{epoch}:%{version}-%{release}
57 The NSS Toolkit command line tool.
59 %description tools -l pl.UTF-8
60 Narzędzia NSS obsługiwane z linii poleceń.
63 Summary: NSS - header files
64 Summary(pl.UTF-8): NSS - pliki nagłówkowe
65 Group: Development/Libraries
66 Requires: %{name} = %{epoch}:%{version}-%{release}
67 Requires: nspr-devel >= %{nspr_ver}
68 Obsoletes: libnss3-devel
71 Development part of NSS library.
73 %description devel -l pl.UTF-8
74 Część biblioteki NSS przeznaczona dla programistów.
77 Summary: NSS - static library
78 Summary(pl.UTF-8): NSS - biblioteka statyczna
79 Group: Development/Libraries
80 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
83 Static NSS Toolkit libraries.
85 %description static -l pl.UTF-8
86 Statyczne wersje bibliotek z NSS.
88 %package softokn-freebl
89 Summary: Freebl library for the Network Security Services
90 Summary(pl.UTF-8): Biblioteka freebl dla bibliotek NSS
93 %description softokn-freebl
94 Freebl cryptographic library for the Network Security Services.
96 %description softokn-freebl -l pl.UTF-8
97 Biblioteka kryptograficzna freebl dla bibliotek NSS.
106 # strip before signing
107 %{__sed} -i -e '/export ADDON_PATH$/a\ echo STRIP \; %{__strip} --strip-unneeded -R.comment -R.note ${5}' nss/cmd/shlibsign/sign.sh
111 # http://wiki.cacert.org/wiki/NSSLib
112 addbuiltin -n "CAcert Inc." -t "CT,C,C" < %{SOURCE3} >> nss/lib/ckfw/builtins/certdata.txt
114 %ifarch %{x8664} ppc64 sparc64
118 # http://pki.fedoraproject.org/wiki/ECC_Capable_NSS
120 for dir in ecc noecc; do
125 NSPR_INCLUDE_DIR=/usr/include/nspr; export NSPR_INCLUDE_DIR
126 NSDISTMODE=copy; export NSDISTMODE
127 MOZILLA_CLIENT=1; export MOZILLA_CLIENT
128 USE_PTHREADS=1; export USE_PTHREADS
129 USE_SYSTEM_ZLIB=1; export USE_SYSTEM_ZLIB
130 ZLIB_LIBS="-lz"; export ZLIB_LIBS
131 NSS_USE_SYSTEM_SQLITE=1; export NSS_USE_SYSTEM_SQLITE
132 BUILD_OPT=1; export BUILD_OPT=1
134 # https://bugzilla.mozilla.org/show_bug.cgi?id=1084623
136 # Forcing ecc with this hack would produce broken librares (softoken, freebl etc).
137 # Thus we also build noecc version (which doesn't require hack) and use these
139 sed -i -e 's|#error|#warning|g' ecc/nss/lib/freebl/ecl/ecl-curve.h
140 %{__make} -j1 -C ecc/nss \
141 NSS_ECC_MORE_THAN_SUITE_B=1 \
143 OPTIMIZER="%{rpmcflags} %{rpmcppflags}" \
145 %{__make} -j1 -C noecc/nss \
147 OPTIMIZER="%{rpmcflags} %{rpmcppflags}"
150 rm -rf $RPM_BUILD_ROOT
151 install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_includedir}/nss,/%{_lib},%{_libdir},%{_pkgconfigdir}}
153 install ecc/dist/private/nss/* $RPM_BUILD_ROOT%{_includedir}/nss
154 install ecc/dist/public/dbm/* $RPM_BUILD_ROOT%{_includedir}/nss
155 install ecc/dist/public/nss/* $RPM_BUILD_ROOT%{_includedir}/nss
156 install ecc/dist/*/bin/* $RPM_BUILD_ROOT%{_bindir}
157 install ecc/dist/*/lib/* $RPM_BUILD_ROOT%{_libdir}
159 # non-ECC version, we need only libnssdbm3, libsoftokn3, libfreebl3
160 install noecc/dist/*/lib/libnssdbm3.* $RPM_BUILD_ROOT%{_libdir}
161 install noecc/dist/*/lib/libsoftokn3.* $RPM_BUILD_ROOT%{_libdir}
162 install noecc/dist/*/lib/libfreebl3.* $RPM_BUILD_ROOT%{_libdir}
164 cp -p nss/doc/nroff/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
167 s#libdir=.*#libdir=%{_libdir}#g
168 s#includedir=.*#includedir=%{_includedir}#g
169 s#VERSION#%{version}#g
170 ' %{SOURCE1} > $RPM_BUILD_ROOT%{_pkgconfigdir}/nss.pc
171 # compatibility symlink
172 ln -s nss.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/mozilla-nss.pc
175 sed -e "s,%%libdir%%,%{_libdir},g" \
176 -e "s,%%prefix%%,%{_prefix},g" \
177 -e "s,%%exec_prefix%%,%{_prefix},g" \
178 -e "s,%%includedir%%,%{_includedir}/nss,g" \
179 -e "s,%%NSPR_VERSION%%,$(echo %{nspr_ver} | sed -e 's#.*:##g'),g" \
180 -e "s,%%NSS_VERSION%%,%{version},g" \
181 -e "s,%%SOFTOKEN_VERSION%%,%{version},g" > \
182 $RPM_BUILD_ROOT%{_pkgconfigdir}/nss-softokn.pc
185 NSS_VMAJOR=$(awk '/#define.*NSS_VMAJOR/ {print $3}' nss/lib/nss/nss.h)
186 NSS_VMINOR=$(awk '/#define.*NSS_VMINOR/ {print $3}' nss/lib/nss/nss.h)
187 NSS_VPATCH=$(awk '/#define.*NSS_VPATCH/ {print $3}' nss/lib/nss/nss.h)
189 s,@libdir@,%{_libdir},g
190 s,@prefix@,%{_prefix},g
191 s,@exec_prefix@,%{_prefix},g
192 s,@includedir@,%{_includedir}/nss,g
193 s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g
194 s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g
195 s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g
196 " %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/nss-config
197 chmod +x $RPM_BUILD_ROOT%{_bindir}/nss-config
199 mv $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so $RPM_BUILD_ROOT/%{_lib}
200 ln -s /%{_lib}/libfreebl3.so $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so
201 mv $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk $RPM_BUILD_ROOT/%{_lib}
202 ln -s /%{_lib}/libfreebl3.chk $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk
204 # conflict with openssl-static
205 mv $RPM_BUILD_ROOT%{_libdir}/libssl{,3}.a
207 if [ ! -f "$RPM_BUILD_ROOT%{_includedir}/nss/nsslowhash.h" ]; then
208 echo "ERROR: %{_includedir}/nss/nsslowhash.h not installed. Needed by glibc" >&2
213 rm -rf $RPM_BUILD_ROOT
215 %post -p /sbin/ldconfig
216 %postun -p /sbin/ldconfig
219 %defattr(644,root,root,755)
220 # COPYING beside MPL v2.0 text contains GPL/LGPL compatibility notes
221 %doc nss/{COPYING,trademarks.txt}
222 %attr(755,root,root) %{_libdir}/libfreebl3.so
223 %attr(755,root,root) %{_libdir}/libnss3.so
224 %attr(755,root,root) %{_libdir}/libnssckbi.so
225 %attr(755,root,root) %{_libdir}/libnssdbm3.so
226 %attr(755,root,root) %{_libdir}/libnssutil3.so
227 %attr(755,root,root) %{_libdir}/libsmime3.so
228 %attr(755,root,root) %{_libdir}/libsoftokn3.so
229 %attr(755,root,root) %{_libdir}/libssl3.so
230 %{_libdir}/libfreebl3.chk
231 %{_libdir}/libnssdbm3.chk
232 %{_libdir}/libsoftokn3.chk
235 %defattr(644,root,root,755)
236 %attr(755,root,root) %{_bindir}/nss-config
238 %{_libdir}/libfreebl.a
240 %{_pkgconfigdir}/mozilla-nss.pc
241 %{_pkgconfigdir}/nss.pc
242 %{_pkgconfigdir}/nss-softokn.pc
245 %defattr(644,root,root,755)
246 %attr(755,root,root) %{_bindir}/addbuiltin
247 %attr(755,root,root) %{_bindir}/atob
248 %attr(755,root,root) %{_bindir}/baddbdir
249 %attr(755,root,root) %{_bindir}/bltest
250 %attr(755,root,root) %{_bindir}/btoa
251 %attr(755,root,root) %{_bindir}/certcgi
252 %attr(755,root,root) %{_bindir}/certutil
253 %attr(755,root,root) %{_bindir}/checkcert
254 %attr(755,root,root) %{_bindir}/chktest
255 %attr(755,root,root) %{_bindir}/cmsutil
256 %attr(755,root,root) %{_bindir}/conflict
257 %attr(755,root,root) %{_bindir}/crlutil
258 %attr(755,root,root) %{_bindir}/crmftest
259 %attr(755,root,root) %{_bindir}/dbtest
260 %attr(755,root,root) %{_bindir}/derdump
261 %attr(755,root,root) %{_bindir}/dertimetest
262 %attr(755,root,root) %{_bindir}/digest
263 %attr(755,root,root) %{_bindir}/encodeinttest
264 %attr(755,root,root) %{_bindir}/fipstest
265 %attr(755,root,root) %{_bindir}/httpserv
266 %attr(755,root,root) %{_bindir}/listsuites
267 %attr(755,root,root) %{_bindir}/lowhashtest
268 %attr(755,root,root) %{_bindir}/makepqg
269 %attr(755,root,root) %{_bindir}/mangle
270 %attr(755,root,root) %{_bindir}/modutil
271 %attr(755,root,root) %{_bindir}/multinit
272 %attr(755,root,root) %{_bindir}/nonspr10
273 %attr(755,root,root) %{_bindir}/ocspclnt
274 %attr(755,root,root) %{_bindir}/ocspresp
275 %attr(755,root,root) %{_bindir}/oidcalc
276 %attr(755,root,root) %{_bindir}/p7content
277 %attr(755,root,root) %{_bindir}/p7env
278 %attr(755,root,root) %{_bindir}/p7sign
279 %attr(755,root,root) %{_bindir}/p7verify
280 %attr(755,root,root) %{_bindir}/pk11gcmtest
281 %attr(755,root,root) %{_bindir}/pk11mode
282 %attr(755,root,root) %{_bindir}/pk12util
283 %attr(755,root,root) %{_bindir}/pk1sign
284 %attr(755,root,root) %{_bindir}/pkix-errcodes
285 %attr(755,root,root) %{_bindir}/pp
286 %attr(755,root,root) %{_bindir}/pwdecrypt
287 %attr(755,root,root) %{_bindir}/remtest
288 %attr(755,root,root) %{_bindir}/rsaperf
289 %attr(755,root,root) %{_bindir}/sdrtest
290 %attr(755,root,root) %{_bindir}/secmodtest
291 %attr(755,root,root) %{_bindir}/selfserv
292 %attr(755,root,root) %{_bindir}/shlibsign
293 %attr(755,root,root) %{_bindir}/signtool
294 %attr(755,root,root) %{_bindir}/signver
295 %attr(755,root,root) %{_bindir}/ssltap
296 %attr(755,root,root) %{_bindir}/strsclnt
297 %attr(755,root,root) %{_bindir}/symkeyutil
298 %attr(755,root,root) %{_bindir}/tstclnt
299 %attr(755,root,root) %{_bindir}/vfychain
300 %attr(755,root,root) %{_bindir}/vfyserv
301 %{_mandir}/man1/certutil.1*
302 %{_mandir}/man1/cmsutil.1*
303 %{_mandir}/man1/crlutil.1*
304 %{_mandir}/man1/derdump.1*
305 %{_mandir}/man1/modutil.1*
306 %{_mandir}/man1/pk12util.1*
307 %{_mandir}/man1/pp.1*
308 %{_mandir}/man1/signtool.1*
309 %{_mandir}/man1/signver.1*
310 %{_mandir}/man1/ssltap.1*
311 %{_mandir}/man1/vfychain.1*
312 %{_mandir}/man1/vfyserv.1*
315 %defattr(644,root,root,755)
316 %{_libdir}/libcertdb.a
317 %{_libdir}/libcerthi.a
318 %{_libdir}/libcryptohi.a
323 %{_libdir}/libnssckfw.a
324 %{_libdir}/libnssdbm.a
325 %{_libdir}/libnssdev.a
326 %{_libdir}/libnsspki.a
327 %{_libdir}/libnssutil.a
328 %{_libdir}/libpk11wrap.a
329 %{_libdir}/libpkcs12.a
330 %{_libdir}/libpkcs7.a
331 %{_libdir}/libpkixcertsel.a
332 %{_libdir}/libpkixchecker.a
333 %{_libdir}/libpkixcrlsel.a
334 %{_libdir}/libpkixmodule.a
335 %{_libdir}/libpkixparams.a
336 %{_libdir}/libpkixpki.a
337 %{_libdir}/libpkixresults.a
338 %{_libdir}/libpkixstore.a
339 %{_libdir}/libpkixsystem.a
340 %{_libdir}/libpkixtop.a
341 %{_libdir}/libpkixutil.a
342 %{_libdir}/libsectool.a
343 %{_libdir}/libsmime.a
344 %{_libdir}/libsoftokn.a
347 %files softokn-freebl
348 %defattr(644,root,root,755)
349 %attr(755,root,root) /%{_lib}/libfreebl3.so
350 /%{_lib}/libfreebl3.chk