2 %define foover %(echo %{version} | tr . _)
3 Summary: NSS - Network Security Services
4 Summary(pl.UTF-8): NSS - Network Security Services
9 License: MPL v1.1 or GPL v2+ or LGPL v2.1+
11 # :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot mozilla/dbm -r DBM_1_61_RTM
12 # :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot mozilla/security/dbm -r DBM_1_61_RTM
13 # :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot mozilla/security/coreconf -r NSS_3_9_4_RTM
14 # :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot mozilla/security/nss -r NSS_3_9_4_RTM
15 #Source0: %{name}-%{version}.tar.bz2
16 Source0: http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_%{foover}_RTM/src/%{name}-%{version}.tar.gz
17 # Source0-md5: 40bf1bb0c7567827d3768d1fc6081100
18 Source1: %{name}-mozilla-nss.pc
19 Source2: %{name}-config.in
20 Source3: http://www.cacert.org/certs/root.der
21 # Source3-md5: a61b375e390d9c3654eebd2031461f6b
22 Patch0: %{name}-Makefile.patch
23 URL: http://www.mozilla.org/projects/security/pki/nss/
24 BuildRequires: nspr-devel >= 1:4.8.6
25 BuildRequires: nss-tools
26 BuildRequires: perl-base
27 BuildRequires: sqlite3-devel
28 BuildRequires: zlib-devel
29 BuildConflicts: mozilla < 0.9.6-3
30 Requires: nspr >= 1:4.8.6
31 Requires: %{name}-softokn-freebl = %{epoch}:%{version}-%{release}
33 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35 %define specflags -fno-strict-aliasing
36 # signed - stripped before signing
37 %define _noautostrip .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
38 %define _noautochrpath .*%{_libdir}/libfreebl3.so\\|.*%{_libdir}/libsoftokn3.so
41 NSS supports cross-platform development of security-enabled server
42 applications. Applications built with NSS can support PKCS #5,
43 PKCS #7, PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 and v3, X.509 v3
44 certificates, and other security standards.
46 %description -l pl.UTF-8
47 NSS wspomaga pisanie wieloplatformowych bezpiecznych serwerów.
48 Aplikacja używająca NSS jest w stanie obsłużyć PKCS #5, PKCS #7,
49 PKCS #11, PKCS #12, S/MIME, TLS, SSL v2 oraz v3, certyfikaty X.509 v3,
50 i wiele innych bezpiecznych standardów.
53 Summary: NSS command line tools and utilities
54 Summary(pl.UTF-8): Narzędzia NSS obsługiwane z linii poleceń
56 Requires: %{name} = %{epoch}:%{version}-%{release}
59 The NSS Toolkit command line tool.
61 %description tools -l pl.UTF-8
62 Narzędzia NSS obsługiwane z linii poleceń.
65 Summary: NSS - header files
66 Summary(pl.UTF-8): NSS - pliki nagłówkowe
67 Group: Development/Libraries
68 Requires: %{name} = %{epoch}:%{version}-%{release}
69 Requires: nspr-devel >= 1:4.8.6
70 Obsoletes: libnss3-devel
73 Development part of NSS library.
75 %description devel -l pl.UTF-8
76 Część biblioteki NSS przeznaczona dla programistów.
79 Summary: NSS - static library
80 Summary(pl.UTF-8): NSS - biblioteka statyczna
81 Group: Development/Libraries
82 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
85 Static NSS Toolkit libraries.
87 %description static -l pl.UTF-8
88 Statyczne wersje bibliotek z NSS.
90 %package softokn-freebl
91 Summary: Freebl library for the Network Security Services
92 Summary(pl.UTF-8): Biblioteka freebl dla bibliotek NSS
95 %description softokn-freebl
96 Freebl cryptographic library for the Network Security Services.
98 %description softokn-freebl -l pl.UTF-8
99 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}' mozilla/security/nss/cmd/shlibsign/sign.sh
111 cd mozilla/security/nss
113 # http://wiki.cacert.org/wiki/NSSLib
114 addbuiltin -n "CAcert Inc." -t "CT,C,C" < %{SOURCE3} >> lib/ckfw/builtins/certdata.txt
115 %{__make} -C lib/ckfw/builtins generate
117 %ifarch %{x8664} ppc64 sparc64
121 export FREEBL_NO_DEPEND=1
123 %{__make} -j1 build_coreconf \
131 OPTIMIZER="%{rpmcflags}"
133 %{__make} -j1 build_dbm \
141 OPTIMIZER="%{rpmcflags}" \
144 # NOTE: LOWHASH_EXPORTS is a hack for lib/freebl brokeness:
145 # - LOWHASH_EXPORTS is defined in config.mk
146 # - it's used in manifest.mn, which can use only variables passed by make, not in config or Makefile
147 # remove this hack when problem is fixed in sources
158 OPTIMIZER="%{rpmcflags}" \
160 LOWHASH_EXPORTS=nsslowhash.h
163 rm -rf $RPM_BUILD_ROOT
164 install -d $RPM_BUILD_ROOT{%{_bindir},%{_includedir}/nss,/%{_lib},%{_libdir},%{_pkgconfigdir}}
166 install mozilla/dist/private/nss/* $RPM_BUILD_ROOT%{_includedir}/nss
167 install mozilla/dist/public/dbm/* $RPM_BUILD_ROOT%{_includedir}/nss
168 install mozilla/dist/public/nss/* $RPM_BUILD_ROOT%{_includedir}/nss
169 install mozilla/dist/pld/bin/* $RPM_BUILD_ROOT%{_bindir}
170 install mozilla/dist/pld/lib/* $RPM_BUILD_ROOT%{_libdir}
173 s#libdir=.*#libdir=%{_libdir}#g
174 s#includedir=.*#includedir=%{_includedir}#g
175 s#VERSION#%{version}#g
176 ' %{SOURCE1} > $RPM_BUILD_ROOT%{_pkgconfigdir}/mozilla-nss.pc
177 ln -s mozilla-nss.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/nss.pc
179 NSS_VMAJOR=$(awk '/#define.*NSS_VMAJOR/ {print $3}' mozilla/security/nss/lib/nss/nss.h)
180 NSS_VMINOR=$(awk '/#define.*NSS_VMINOR/ {print $3}' mozilla/security/nss/lib/nss/nss.h)
181 NSS_VPATCH=$(awk '/#define.*NSS_VPATCH/ {print $3}' mozilla/security/nss/lib/nss/nss.h)
183 s,@libdir@,%{_libdir},g
184 s,@prefix@,%{_prefix},g
185 s,@exec_prefix@,%{_prefix},g
186 s,@includedir@,%{_includedir}/nss,g
187 s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g
188 s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g
189 s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g
190 " %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/nss-config
191 chmod +x $RPM_BUILD_ROOT%{_bindir}/nss-config
193 mv $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so $RPM_BUILD_ROOT/%{_lib}
194 ln -s /%{_lib}/libfreebl3.so $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so
195 mv $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk $RPM_BUILD_ROOT/%{_lib}
196 ln -s /%{_lib}/libfreebl3.chk $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk
198 if [ ! -f "$RPM_BUILD_ROOT%{_includedir}/nss/nsslowhash.h" ]; then
199 echo "ERROR: %{_includedir}/nss/nsslowhash.h not installed. Needed by glibc" >&2
204 rm -rf $RPM_BUILD_ROOT
206 %post -p /sbin/ldconfig
207 %postun -p /sbin/ldconfig
210 %defattr(644,root,root,755)
211 %attr(755,root,root) %{_libdir}/libfreebl3.so
212 %attr(755,root,root) %{_libdir}/libnss3.so
213 %attr(755,root,root) %{_libdir}/libnssckbi.so
214 %attr(755,root,root) %{_libdir}/libnssdbm3.so
215 %attr(755,root,root) %{_libdir}/libnssutil3.so
216 %attr(755,root,root) %{_libdir}/libsmime3.so
217 %attr(755,root,root) %{_libdir}/libsoftokn3.so
218 %attr(755,root,root) %{_libdir}/libssl3.so
219 %{_libdir}/libfreebl3.chk
220 %{_libdir}/libnssdbm3.chk
221 %{_libdir}/libsoftokn3.chk
224 %defattr(644,root,root,755)
225 %attr(755,root,root) %{_bindir}/nss-config
228 %{_pkgconfigdir}/mozilla-nss.pc
229 %{_pkgconfigdir}/nss.pc
232 %defattr(644,root,root,755)
233 %attr(755,root,root) %{_bindir}/*
234 %exclude %{_bindir}/nss-config
237 %defattr(644,root,root,755)
238 %{_libdir}/libcertdb.a
239 %{_libdir}/libcerthi.a
240 %{_libdir}/libcryptohi.a
242 %{_libdir}/libfreebl3.a
246 %{_libdir}/libnssckfw.a
247 %{_libdir}/libnssdbm3.a
248 %{_libdir}/libnssdev.a
249 %{_libdir}/libnsspki3.a
250 %{_libdir}/libnssutil3.a
251 %{_libdir}/libpk11wrap3.a
252 %{_libdir}/libpkcs12.a
253 %{_libdir}/libpkcs7.a
254 %{_libdir}/libpkixcertsel.a
255 %{_libdir}/libpkixchecker.a
256 %{_libdir}/libpkixcrlsel.a
257 %{_libdir}/libpkixmodule.a
258 %{_libdir}/libpkixparams.a
259 %{_libdir}/libpkixpki.a
260 %{_libdir}/libpkixresults.a
261 %{_libdir}/libpkixstore.a
262 %{_libdir}/libpkixsystem.a
263 %{_libdir}/libpkixtop.a
264 %{_libdir}/libpkixutil.a
265 %{_libdir}/libsectool.a
266 %{_libdir}/libsmime3.a
267 %{_libdir}/libsoftokn3.a
270 %files softokn-freebl
271 %defattr(644,root,root,755)
272 %attr(755,root,root) /%{_lib}/libfreebl3.so
273 /%{_lib}/libfreebl3.chk