1 %global nss_softokn_fips_version 3.12.4
5 BuildRequires: nspr-devel
6 BuildRequires: pkg-config
7 BuildRequires: sqlite3-devel
8 BuildRequires: zlib-devel
11 Summary: Network Security Services
12 License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
13 Group: System/Libraries
14 Url: http://www.mozilla.org/projects/security/pki/nss/
15 # cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -r <RTM_TAG> NSS
16 Source: nss-%{version}.tar.bz2
18 Source3: nss-config.in
19 Source4: %{name}-rpmlintrc
20 Source5: baselibs.conf
21 Source6: setup-nsssysinit.sh
26 Patch2: system-nspr.patch
28 Patch4: nss-no-rpath.patch
29 Patch5: renegotiate-transitional.patch
31 %define nspr_ver %(rpm -q --queryformat '%{VERSION}' nspr)
32 Requires(pre): nspr >= %nspr_ver
33 Requires(pre): libfreebl3 >= %{nss_softokn_fips_version}
34 Requires(pre): libsoftokn3 >= %{nss_softokn_fips_version}
36 BuildRoot: %{_tmppath}/%{name}-%{version}-build
37 %define nssdbdir %{_sysconfdir}/pki/nssdb
38 %define run_testsuite 0
41 Network Security Services (NSS) is a set of libraries designed to
42 support cross-platform development of security-enabled server
43 applications. Applications built with NSS can support SSL v2 and v3,
44 TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3
45 certificates, and other security standards.
49 Summary: Network (Netscape) Security Services development files
50 Group: Development/Libraries/Other
54 Requires: nss = %{version}-%{release}
57 Network Security Services (NSS) is a set of libraries designed to
58 support cross-platform development of security-enabled server
59 applications. Applications built with NSS can support SSL v2 and v3,
60 TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3
61 certificates, and other security standards.
65 Summary: Tools for developing, debugging, and managing applications that use NSS
66 Group: System/Management
67 Requires(pre): nss >= %{version}
70 The NSS Security Tools allow developers to test, debug, and manage
71 applications that use NSS.
75 Summary: System NSS Initialization
76 Group: System/Management
77 Requires: nss >= %{version}
78 Requires(post): coreutils
81 Default Operation System module that manages applications loading
82 NSS globally on the system. This module loads the system defined
83 PKCS #11 modules for NSS and chains with other NSS modules to load
84 any system or user configured modules.
87 %package -n libfreebl3
88 Summary: Freebl library for the Network Security Services
89 Group: System/Libraries
91 %description -n libfreebl3
92 Network Security Services (NSS) is a set of libraries designed to
93 support cross-platform development of security-enabled server
94 applications. Applications built with NSS can support SSL v2 and v3,
95 TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3
96 certificates, and other security standards.
98 This package installs the freebl library from NSS.
101 %package -n libsoftokn3
102 Summary: Network Security Services Softoken Module
103 Group: System/Libraries
104 Requires: libfreebl3 = %{version}-%{release}
106 %description -n libsoftokn3
107 Network Security Services (NSS) is a set of libraries designed to
108 support cross-platform development of security-enabled server
109 applications. Applications built with NSS can support SSL v2 and v3,
110 TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3
111 certificates, and other security standards.
113 Network Security Services Softoken Cryptographic Module
117 Summary: CA certificates for NSS
118 Group: Productivity/Networking/Security
121 This package contains the integrated CA root certificates from the
126 %setup -n nss-%{version} -q
136 modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
137 DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
138 TIME="\"$(date -d "${modified}" "+%%R")\""
139 find . -name '*.[ch]' -print -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
141 cd mozilla/security/nss
142 export FREEBL_NO_DEPEND=1
143 export NSPR_INCLUDE_DIR=`nspr-config --includedir`
144 export NSPR_LIB_DIR=`nspr-config --libdir`
145 export OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
146 export LIBDIR=%{_libdir}
147 %ifarch x86_64 s390x ppc64 ia64
150 export NSS_USE_SYSTEM_SQLITE=1
151 MAKE_FLAGS="BUILD_OPT=1 NSS_ENABLE_ECC=1"
152 make nss_build_all $MAKE_FLAGS
154 %if 0%{?run_testsuite}
156 export HOST="localhost"
159 export IP_ADDRESS="127.0.0.1"
162 if grep "FAILED" ../../../tests_results/security/localhost.1/output.log ; then
163 echo "Testsuite FAILED"
169 mkdir -p $RPM_BUILD_ROOT%{_libdir}
170 mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/nss
171 mkdir -p $RPM_BUILD_ROOT%{_includedir}/nss3
172 mkdir -p $RPM_BUILD_ROOT%{_bindir}
173 mkdir -p $RPM_BUILD_ROOT%{_sbindir}
174 mkdir -p $RPM_BUILD_ROOT/%{_lib}
175 mkdir -p $RPM_BUILD_ROOT%{nssdbdir}
176 pushd mozilla/dist/Linux*
178 cp -rL ../public/nss/*.h $RPM_BUILD_ROOT%{_includedir}/nss3
180 cp -L lib/libnss3.so \
185 lib/libnsssysinit.so \
188 lib/libsoftokn3.chk \
190 $RPM_BUILD_ROOT%{_libdir}
191 cp -L lib/libfreebl3.so \
193 $RPM_BUILD_ROOT/%{_lib}
195 cp -L lib/libcrmf.a \
198 $RPM_BUILD_ROOT%{_libdir}
208 $RPM_BUILD_ROOT%{_bindir}
209 # copy unsupported tools
222 $RPM_BUILD_ROOT%{_libexecdir}/nss
223 # prepare pkgconfig file
224 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig/
225 sed "s:%%LIBDIR%%:%{_libdir}:g
226 s:%%VERSION%%:%{version}:g
227 s:%%NSPR_VERSION%%:%{nspr_ver}:g" \
228 %{SOURCE1} > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/nss.pc
229 # prepare nss-config file
231 NSS_VMAJOR=`cat mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMAJOR" | awk '{print $3}'`
232 NSS_VMINOR=`cat mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VMINOR" | awk '{print $3}'`
233 NSS_VPATCH=`cat mozilla/security/nss/lib/nss/nss.h | grep "#define.*NSS_VPATCH" | awk '{print $3}'`
234 cat %{SOURCE3} | sed -e "s,@libdir@,%{_libdir},g" \
235 -e "s,@prefix@,%{_prefix},g" \
236 -e "s,@exec_prefix@,%{_prefix},g" \
237 -e "s,@includedir@,%{_includedir}/nss3,g" \
238 -e "s,@MOD_MAJOR_VERSION@,$NSS_VMAJOR,g" \
239 -e "s,@MOD_MINOR_VERSION@,$NSS_VMINOR,g" \
240 -e "s,@MOD_PATCH_VERSION@,$NSS_VPATCH,g" \
241 > $RPM_BUILD_ROOT/%{_bindir}/nss-config
242 chmod 755 $RPM_BUILD_ROOT/%{_bindir}/nss-config
243 # setup-nsssysinfo.sh
244 install -m 744 %{SOURCE6} $RPM_BUILD_ROOT%{_sbindir}/
245 # create empty NSS database
246 #LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib}:$RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_bindir}/modutil -force -dbdir "sql:$RPM_BUILD_ROOT%{nssdbdir}" -create
247 #LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib}:$RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_bindir}/certutil -N -d "sql:$RPM_BUILD_ROOT%{nssdbdir}" -f /dev/null 2>&1 > /dev/null
248 #chmod 644 "$RPM_BUILD_ROOT%{nssdbdir}"/*
249 #sed "s:%{buildroot}::g
250 #s/^library=$/library=libnsssysinit.so/
251 #/^NSS/s/\(Flags=internal\)\(,[^m]\)/\1,moduleDBOnly\2/" \
252 # $RPM_BUILD_ROOT%{nssdbdir}/pkcs11.txt > $RPM_BUILD_ROOT%{nssdbdir}/pkcs11.txt.sed
253 # mv $RPM_BUILD_ROOT%{nssdbdir}/pkcs11.txt{.sed,}
254 # copy empty NSS database
255 install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{nssdbdir}
256 install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{nssdbdir}
257 install -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{nssdbdir}
258 # create shlib sigs after extracting debuginfo
259 %define __spec_install_post \
260 %{?__debug_package:%{__debug_install_post}} \
261 %{__arch_install_post} \
262 %{__os_install_post} \
263 LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib}:$RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_libexecdir}/nss/shlibsign -i $RPM_BUILD_ROOT%{_libdir}/libsoftokn3.so \
264 LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib}:$RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_libexecdir}/nss/shlibsign -i $RPM_BUILD_ROOT%{_libdir}/libnssdbm3.so \
265 LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib}:$RPM_BUILD_ROOT%{_libdir} $RPM_BUILD_ROOT%{_libexecdir}/nss/shlibsign -i $RPM_BUILD_ROOT/%{_lib}/libfreebl3.so \
268 %post -p /sbin/ldconfig
270 %postun -p /sbin/ldconfig
272 %post -n libfreebl3 -p /sbin/ldconfig
274 %postun -n libfreebl3 -p /sbin/ldconfig
276 %post -n libsoftokn3 -p /sbin/ldconfig
278 %postun -n libsoftokn3 -p /sbin/ldconfig
282 # make sure the current config is enabled
283 %{_sbindir}/setup-nsssysinit.sh on
287 %{_sbindir}/setup-nsssysinit.sh off
290 %postun sysinit -p /sbin/ldconfig
293 rm -rf $RPM_BUILD_ROOT
296 %defattr(-, root, root)
297 %{_libdir}/libnss3.so
298 %{_libdir}/libnssutil3.so
299 %{_libdir}/libsmime3.so
300 %{_libdir}/libssl3.so
303 %defattr(644, root, root, 755)
306 %{_libdir}/pkgconfig/*
307 %attr(755,root,root) %{_bindir}/nss-config
310 %defattr(-, root, root)
312 %exclude %{_sbindir}/setup-nsssysinit.sh
314 %exclude %{_bindir}/nss-config
317 %defattr(-, root, root)
318 %dir %{_sysconfdir}/pki
319 %dir %{_sysconfdir}/pki/nssdb
320 %config(noreplace) %{_sysconfdir}/pki/nssdb/*
321 %{_libdir}/libnsssysinit.so
322 %{_sbindir}/setup-nsssysinit.sh
325 %defattr(-, root, root)
326 /%{_lib}/libfreebl3.so
327 /%{_lib}/libfreebl3.chk
329 %files -n libsoftokn3
330 %defattr(-, root, root)
331 %{_libdir}/libsoftokn3.so
332 %{_libdir}/libsoftokn3.chk
333 %{_libdir}/libnssdbm3.so
334 %{_libdir}/libnssdbm3.chk
337 %defattr(-, root, root)
338 %{_libdir}/libnssckbi.so