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