1 %define nspr_ver 1:4.19
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/security/nss/releases/NSS_%{foover}_RTM/src/%{name}-%{version}.tar.gz
12 # Source0-md5: c89cc279f03f55e76aefbb6cc946ad04
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 URL: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
21 BuildRequires: nspr-devel >= %{nspr_ver}
22 BuildRequires: nss-tools
23 BuildRequires: perl-base
24 BuildRequires: sqlite3-devel
25 BuildRequires: zlib-devel
26 BuildConflicts: mozilla < 0.9.6-3
27 Requires: %{name}-softokn-freebl = %{epoch}:%{version}-%{release}
28 Requires: nspr >= %{nspr_ver}
30 # needs http2 code update: https://bugzilla.mozilla.org/show_bug.cgi?id=1323209
31 Conflicts: firefox < 50.1.0-2
32 Conflicts: iceape < 2.46-1
33 Conflicts: iceweasel < 51
34 Conflicts: mozilla-firefox < 51
35 Conflicts: seamonkey < 2.47
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38 %define specflags -fno-strict-aliasing
39 # signed - stripped before signing
40 %define _noautostrip .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
41 %define _noautochrpath .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
44 NSS supports cross-platform development of security-enabled server
45 applications. Applications built with NSS can support PKCS #5,
46 PKCS #7, PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 and v3, X.509 v3
47 certificates, and other security standards.
49 %description -l pl.UTF-8
50 NSS wspomaga pisanie wieloplatformowych bezpiecznych serwerów.
51 Aplikacja używająca NSS jest w stanie obsłużyć PKCS #5, PKCS #7,
52 PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 oraz v3, certyfikaty X.509 v3,
53 i wiele innych bezpiecznych standardów.
56 Summary: NSS command line tools and utilities
57 Summary(pl.UTF-8): Narzędzia NSS obsługiwane z linii poleceń
59 Requires: %{name} = %{epoch}:%{version}-%{release}
62 The NSS Toolkit command line tool.
64 %description tools -l pl.UTF-8
65 Narzędzia NSS obsługiwane z linii poleceń.
68 Summary: NSS - header files
69 Summary(pl.UTF-8): NSS - pliki nagłówkowe
70 Group: Development/Libraries
71 Requires: %{name} = %{epoch}:%{version}-%{release}
72 Requires: nspr-devel >= %{nspr_ver}
73 Obsoletes: libnss3-devel
76 Development part of NSS library.
78 %description devel -l pl.UTF-8
79 Część biblioteki NSS przeznaczona dla programistów.
82 Summary: NSS - static library
83 Summary(pl.UTF-8): NSS - biblioteka statyczna
84 Group: Development/Libraries
85 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
88 Static NSS Toolkit libraries.
90 %description static -l pl.UTF-8
91 Statyczne wersje bibliotek z NSS.
93 %package softokn-freebl
94 Summary: Freebl library for the Network Security Services
95 Summary(pl.UTF-8): Biblioteka freebl dla bibliotek NSS
98 %description softokn-freebl
99 Freebl cryptographic library for the Network Security Services.
101 %description softokn-freebl -l pl.UTF-8
102 Biblioteka kryptograficzna freebl dla bibliotek NSS.
109 # strip before signing
110 %{__sed} -i -e '/export ADDON_PATH$/a\ echo STRIP \; %{__strip} --strip-unneeded -R.comment -R.note ${5}' nss/cmd/shlibsign/sign.sh
114 # http://wiki.cacert.org/wiki/NSSLib
115 addbuiltin -n "CAcert Inc." -t "CT,C,C" < %{SOURCE3} >> nss/lib/ckfw/builtins/certdata.txt
117 %ifarch %{x8664} ppc64 sparc64
121 # http://pki.fedoraproject.org/wiki/ECC_Capable_NSS
122 for dir in ecc noecc; do
128 export MOZILLA_CLIENT=1
129 export NSDISTMODE=copy
130 export NSPR_INCLUDE_DIR=/usr/include/nspr
131 export NSS_USE_SYSTEM_SQLITE=1
132 export USE_PTHREADS=1
133 export USE_SYSTEM_ZLIB=1
134 export ZLIB_LIBS="-lz"
139 # https://bugzilla.mozilla.org/show_bug.cgi?id=1084623
141 # Forcing ecc with this hack would produce broken librares (softoken, freebl etc).
142 # Thus we also build noecc version (which doesn't require hack) and use these
144 %{__sed} -i -e 's|#error|//error|g' ecc/nss/lib/freebl/ecl/ecl-curve.h
145 %{__make} -j1 -C ecc/nss \
146 NSS_ECC_MORE_THAN_SUITE_B=1 \
148 OPTIMIZER="%{rpmcflags} %{rpmcppflags}" \
150 %{__make} -j1 -C noecc/nss \
152 OPTIMIZER="%{rpmcflags} %{rpmcppflags}"
155 rm -rf $RPM_BUILD_ROOT
156 install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_includedir}/nss,/%{_lib},%{_libdir},%{_pkgconfigdir}}
158 cp -p ecc/dist/private/nss/* $RPM_BUILD_ROOT%{_includedir}/nss
159 cp -p ecc/dist/public/dbm/* $RPM_BUILD_ROOT%{_includedir}/nss
160 cp -p ecc/dist/public/nss/* $RPM_BUILD_ROOT%{_includedir}/nss
161 install -p ecc/dist/Linux*/bin/* $RPM_BUILD_ROOT%{_bindir}
162 install -p ecc/dist/Linux*/lib/* $RPM_BUILD_ROOT%{_libdir}
164 # non-ECC version, we need only libnssdbm3, libsoftokn3, libfreebl3
165 install -p noecc/dist/Linux*/lib/libnssdbm3.* $RPM_BUILD_ROOT%{_libdir}
166 install -p noecc/dist/Linux*/lib/libsoftokn3.* $RPM_BUILD_ROOT%{_libdir}
167 install -p noecc/dist/Linux*/lib/libfreebl3.* $RPM_BUILD_ROOT%{_libdir}
169 cp -p nss/doc/nroff/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
172 s#libdir=.*#libdir=%{_libdir}#g
173 s#includedir=.*#includedir=%{_includedir}#g
174 s#VERSION#%{version}#g
175 ' %{SOURCE1} > $RPM_BUILD_ROOT%{_pkgconfigdir}/nss.pc
176 # compatibility symlink
177 ln -s nss.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/mozilla-nss.pc
180 sed -e "s,%%libdir%%,%{_libdir},g" \
181 -e "s,%%prefix%%,%{_prefix},g" \
182 -e "s,%%exec_prefix%%,%{_prefix},g" \
183 -e "s,%%includedir%%,%{_includedir}/nss,g" \
184 -e "s,%%NSPR_VERSION%%,$(echo %{nspr_ver} | sed -e 's#.*:##g'),g" \
185 -e "s,%%NSS_VERSION%%,%{version},g" \
186 -e "s,%%SOFTOKEN_VERSION%%,%{version},g" > \
187 $RPM_BUILD_ROOT%{_pkgconfigdir}/nss-softokn.pc
189 NSS_VMAJOR=$(awk '/#define.*NSS_VMAJOR/ {print $3}' nss/lib/nss/nss.h)
190 NSS_VMINOR=$(awk '/#define.*NSS_VMINOR/ {print $3}' nss/lib/nss/nss.h)
191 NSS_VPATCH=$(awk '/#define.*NSS_VPATCH/ {print $3}' nss/lib/nss/nss.h)
193 s,@libdir@,%{_libdir},g
194 s,@prefix@,%{_prefix},g
195 s,@exec_prefix@,%{_prefix},g
196 s,@includedir@,%{_includedir}/nss,g
197 s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g
198 s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g
199 s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g
200 " %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/nss-config
201 chmod +x $RPM_BUILD_ROOT%{_bindir}/nss-config
203 %{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so $RPM_BUILD_ROOT/%{_lib}
204 ln -s /%{_lib}/libfreebl3.so $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so
205 %{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk $RPM_BUILD_ROOT/%{_lib}
206 ln -s /%{_lib}/libfreebl3.chk $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk
207 %{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.so $RPM_BUILD_ROOT/%{_lib}
208 ln -s /%{_lib}/libfreeblpriv3.so $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.so
209 %{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.chk $RPM_BUILD_ROOT/%{_lib}
210 ln -s /%{_lib}/libfreeblpriv3.chk $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.chk
212 # conflict with openssl-static
213 %{__mv} $RPM_BUILD_ROOT%{_libdir}/libssl{,3}.a
216 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{certdb,certhigh,cryptohi,der,pk11,softoken,ssl,util}_gtest
217 %{__rm} $RPM_BUILD_ROOT%{_bindir}/fbectest
218 %{__rm} $RPM_BUILD_ROOT%{_bindir}/nss_bogo_shim
219 %{__rm} $RPM_BUILD_ROOT%{_bindir}/pk11ectest
220 %{__rm} $RPM_BUILD_ROOT%{_bindir}/rsapoptst
221 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libgtest*
223 if [ ! -f "$RPM_BUILD_ROOT%{_includedir}/nss/nsslowhash.h" ]; then
224 echo >&2 "ERROR: %{_includedir}/nss/nsslowhash.h not installed. Needed by glibc"
229 rm -rf $RPM_BUILD_ROOT
231 %post -p /sbin/ldconfig
232 %postun -p /sbin/ldconfig
235 %defattr(644,root,root,755)
236 # COPYING beside MPL v2.0 text contains GPL/LGPL compatibility notes
237 %doc nss/{COPYING,trademarks.txt}
238 %attr(755,root,root) %{_libdir}/libfreebl3.so
239 %attr(755,root,root) %{_libdir}/libfreeblpriv3.so
240 %attr(755,root,root) %{_libdir}/libnss3.so
241 %attr(755,root,root) %{_libdir}/libnssckbi.so
242 %attr(755,root,root) %{_libdir}/libnssdbm3.so
243 %attr(755,root,root) %{_libdir}/libnssutil3.so
244 %attr(755,root,root) %{_libdir}/libsmime3.so
245 %attr(755,root,root) %{_libdir}/libsoftokn3.so
246 %attr(755,root,root) %{_libdir}/libssl3.so
247 %{_libdir}/libfreebl3.chk
248 %{_libdir}/libfreeblpriv3.chk
249 %{_libdir}/libnssdbm3.chk
250 %{_libdir}/libsoftokn3.chk
253 %defattr(644,root,root,755)
254 %attr(755,root,root) %{_bindir}/nss-config
255 %{_libdir}/libcpputil.a
257 %{_libdir}/libfreebl.a
259 %{_pkgconfigdir}/mozilla-nss.pc
260 %{_pkgconfigdir}/nss.pc
261 %{_pkgconfigdir}/nss-softokn.pc
264 %defattr(644,root,root,755)
265 %attr(755,root,root) %{_bindir}/addbuiltin
266 %attr(755,root,root) %{_bindir}/atob
267 %attr(755,root,root) %{_bindir}/baddbdir
268 %attr(755,root,root) %{_bindir}/bltest
269 %attr(755,root,root) %{_bindir}/btoa
270 %attr(755,root,root) %{_bindir}/certutil
271 %attr(755,root,root) %{_bindir}/chktest
272 %attr(755,root,root) %{_bindir}/cmsutil
273 %attr(755,root,root) %{_bindir}/conflict
274 %attr(755,root,root) %{_bindir}/crlutil
275 %attr(755,root,root) %{_bindir}/crmftest
276 %attr(755,root,root) %{_bindir}/dbtest
277 %attr(755,root,root) %{_bindir}/derdump
278 %attr(755,root,root) %{_bindir}/dertimetest
279 %attr(755,root,root) %{_bindir}/digest
280 %attr(755,root,root) %{_bindir}/ecperf
281 %attr(755,root,root) %{_bindir}/encodeinttest
282 %attr(755,root,root) %{_bindir}/fipstest
283 %attr(755,root,root) %{_bindir}/httpserv
284 %attr(755,root,root) %{_bindir}/listsuites
285 %attr(755,root,root) %{_bindir}/lowhashtest
286 %attr(755,root,root) %{_bindir}/makepqg
287 %attr(755,root,root) %{_bindir}/mangle
288 %attr(755,root,root) %{_bindir}/modutil
289 %attr(755,root,root) %{_bindir}/multinit
290 %attr(755,root,root) %{_bindir}/nonspr10
291 %attr(755,root,root) %{_bindir}/ocspclnt
292 %attr(755,root,root) %{_bindir}/ocspresp
293 %attr(755,root,root) %{_bindir}/oidcalc
294 %attr(755,root,root) %{_bindir}/p7content
295 %attr(755,root,root) %{_bindir}/p7env
296 %attr(755,root,root) %{_bindir}/p7sign
297 %attr(755,root,root) %{_bindir}/p7verify
298 %attr(755,root,root) %{_bindir}/pk11gcmtest
299 %attr(755,root,root) %{_bindir}/pk11mode
300 %attr(755,root,root) %{_bindir}/pk12util
301 %attr(755,root,root) %{_bindir}/pk1sign
302 %attr(755,root,root) %{_bindir}/pkix-errcodes
303 %attr(755,root,root) %{_bindir}/pp
304 %attr(755,root,root) %{_bindir}/pwdecrypt
305 %attr(755,root,root) %{_bindir}/remtest
306 %attr(755,root,root) %{_bindir}/rsaperf
307 %attr(755,root,root) %{_bindir}/sdrtest
308 %attr(755,root,root) %{_bindir}/secmodtest
309 %attr(755,root,root) %{_bindir}/selfserv
310 %attr(755,root,root) %{_bindir}/shlibsign
311 %attr(755,root,root) %{_bindir}/signtool
312 %attr(755,root,root) %{_bindir}/signver
313 %attr(755,root,root) %{_bindir}/ssltap
314 %attr(755,root,root) %{_bindir}/strsclnt
315 %attr(755,root,root) %{_bindir}/symkeyutil
316 %attr(755,root,root) %{_bindir}/tstclnt
317 %attr(755,root,root) %{_bindir}/vfychain
318 %attr(755,root,root) %{_bindir}/vfyserv
319 %{_mandir}/man1/certutil.1*
320 %{_mandir}/man1/cmsutil.1*
321 %{_mandir}/man1/crlutil.1*
322 %{_mandir}/man1/derdump.1*
323 %{_mandir}/man1/modutil.1*
324 %{_mandir}/man1/pk12util.1*
325 %{_mandir}/man1/pp.1*
326 %{_mandir}/man1/signtool.1*
327 %{_mandir}/man1/signver.1*
328 %{_mandir}/man1/ssltap.1*
329 %{_mandir}/man1/vfychain.1*
330 %{_mandir}/man1/vfyserv.1*
333 %defattr(644,root,root,755)
334 %{_libdir}/libcertdb.a
335 %{_libdir}/libcerthi.a
336 %{_libdir}/libcryptohi.a
341 %{_libdir}/libnssckfw.a
342 %{_libdir}/libnssdbm.a
343 %{_libdir}/libnssdev.a
344 %{_libdir}/libnsspki.a
345 %{_libdir}/libnssutil.a
346 %{_libdir}/libpk11wrap.a
347 %{_libdir}/libpkcs12.a
348 %{_libdir}/libpkcs7.a
349 %{_libdir}/libpkixcertsel.a
350 %{_libdir}/libpkixchecker.a
351 %{_libdir}/libpkixcrlsel.a
352 %{_libdir}/libpkixmodule.a
353 %{_libdir}/libpkixparams.a
354 %{_libdir}/libpkixpki.a
355 %{_libdir}/libpkixresults.a
356 %{_libdir}/libpkixstore.a
357 %{_libdir}/libpkixsystem.a
358 %{_libdir}/libpkixtop.a
359 %{_libdir}/libpkixutil.a
360 %{_libdir}/libsectool.a
361 %{_libdir}/libsmime.a
362 %{_libdir}/libsoftokn.a
365 %files softokn-freebl
366 %defattr(644,root,root,755)
367 %attr(755,root,root) /%{_lib}/libfreebl3.so
368 %attr(755,root,root) /%{_lib}/libfreeblpriv3.so
369 /%{_lib}/libfreebl3.chk
370 /%{_lib}/libfreeblpriv3.chk