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