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