X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=nss.spec;h=3d93519d42836d22073a7b2e9b97a38384de0226;hb=e193c86f2b78b1e9926a365307dda297930350e2;hp=6bcac442e7fe9f5dc761872825d967902b572f5d;hpb=36f51713291bcc14104321a049f35696c08e0041;p=packages%2Fnss.git diff --git a/nss.spec b/nss.spec index 6bcac44..3d93519 100644 --- a/nss.spec +++ b/nss.spec @@ -1,23 +1,22 @@ -%define nspr_ver 1:4.10.7 +%define nspr_ver 1:4.12 %define foover %(echo %{version} | tr . _) Summary: NSS - Network Security Services Summary(pl.UTF-8): NSS - Network Security Services Name: nss -Version: 3.17.2 -Release: 4 +Version: 3.22.1 +Release: 1 Epoch: 1 License: MPL v2.0 Group: Libraries Source0: http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_%{foover}_RTM/src/%{name}-%{version}.tar.gz -# Source0-md5: d3edb6f6c3688b2fde67ec9c9a8c1214 +# Source0-md5: 66175367b13bbe41295d62fce4efb88b Source1: %{name}-mozilla-nss.pc Source2: %{name}-config.in Source3: http://www.cacert.org/certs/root.der # Source3-md5: a61b375e390d9c3654eebd2031461f6b Source4: nss-softokn.pc.in -Patch0: %{name}-Makefile.patch # Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1083900 -Patch1: tls12.patch +Patch0: x32.patch URL: http://www.mozilla.org/projects/security/pki/nss/ BuildRequires: nspr-devel >= %{nspr_ver} BuildRequires: nss-tools @@ -99,9 +98,6 @@ Biblioteka kryptograficzna freebl dla bibliotek NSS. %prep %setup -q %patch0 -p1 -cd nss -%patch1 -p1 -cd .. %if 0%{!?debug:1} # strip before signing @@ -116,17 +112,36 @@ addbuiltin -n "CAcert Inc." -t "CT,C,C" < %{SOURCE3} >> nss/lib/ckfw/builtins/ce export USE_64=1 %endif -%{__make} -C nss -j1 all \ - NSDISTMODE=copy \ - NS_USE_GCC=1 \ - MOZILLA_CLIENT=1 \ - NO_MDUPDATE=1 \ - USE_PTHREADS=1 \ - USE_SYSTEM_ZLIB=1 \ - ZLIB_LIBS="-lz" \ - NSS_USE_SYSTEM_SQLITE=1 \ - NSS_ENABLE_ECC=1 \ - BUILD_OPT=1 \ +# http://pki.fedoraproject.org/wiki/ECC_Capable_NSS +for dir in ecc noecc; do + install -d $dir + cp -a nss $dir/nss +done + +export BUILD_OPT=1 +export MOZILLA_CLIENT=1 +export NSDISTMODE=copy +export NSPR_INCLUDE_DIR=/usr/include/nspr +export NSS_USE_SYSTEM_SQLITE=1 +export USE_PTHREADS=1 +export USE_SYSTEM_ZLIB=1 +export ZLIB_LIBS="-lz" +%ifarch x32 +export USE_X32=1 +%endif + +# https://bugzilla.mozilla.org/show_bug.cgi?id=1084623 + +# Forcing ecc with this hack would produce broken librares (softoken, freebl etc). +# Thus we also build noecc version (which doesn't require hack) and use these +# libs from there. +%{__sed} -i -e 's|#error|//error|g' ecc/nss/lib/freebl/ecl/ecl-curve.h +%{__make} -j1 -C ecc/nss \ + NSS_ECC_MORE_THAN_SUITE_B=1 \ + CC="%{__cc}" \ + OPTIMIZER="%{rpmcflags} %{rpmcppflags}" \ + +%{__make} -j1 -C noecc/nss \ CC="%{__cc}" \ OPTIMIZER="%{rpmcflags} %{rpmcppflags}" @@ -134,11 +149,19 @@ export USE_64=1 rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_includedir}/nss,/%{_lib},%{_libdir},%{_pkgconfigdir}} -install dist/private/nss/* $RPM_BUILD_ROOT%{_includedir}/nss -install dist/public/dbm/* $RPM_BUILD_ROOT%{_includedir}/nss -install dist/public/nss/* $RPM_BUILD_ROOT%{_includedir}/nss -install dist/*/bin/* $RPM_BUILD_ROOT%{_bindir} -install dist/*/lib/* $RPM_BUILD_ROOT%{_libdir} +cp -p ecc/dist/private/nss/* $RPM_BUILD_ROOT%{_includedir}/nss +cp -p ecc/dist/public/dbm/* $RPM_BUILD_ROOT%{_includedir}/nss +cp -p ecc/dist/public/nss/* $RPM_BUILD_ROOT%{_includedir}/nss +install -p ecc/dist/Linux*/bin/* $RPM_BUILD_ROOT%{_bindir} +install -p ecc/dist/Linux*/lib/* $RPM_BUILD_ROOT%{_libdir} +# exclude unit tests +%{__rm} $RPM_BUILD_ROOT{%{_bindir}/ssl_gtest,%{_libdir}/libgtest*} + +# non-ECC version, we need only libnssdbm3, libsoftokn3, libfreebl3 +install -p noecc/dist/Linux*/lib/libnssdbm3.* $RPM_BUILD_ROOT%{_libdir} +install -p noecc/dist/Linux*/lib/libsoftokn3.* $RPM_BUILD_ROOT%{_libdir} +install -p noecc/dist/Linux*/lib/libfreebl3.* $RPM_BUILD_ROOT%{_libdir} + cp -p nss/doc/nroff/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 %{__sed} -e ' @@ -174,13 +197,16 @@ NSS_VPATCH=$(awk '/#define.*NSS_VPATCH/ {print $3}' nss/lib/nss/nss.h) " %{SOURCE2} > $RPM_BUILD_ROOT%{_bindir}/nss-config chmod +x $RPM_BUILD_ROOT%{_bindir}/nss-config -mv $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so $RPM_BUILD_ROOT/%{_lib} +%{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so $RPM_BUILD_ROOT/%{_lib} ln -s /%{_lib}/libfreebl3.so $RPM_BUILD_ROOT%{_libdir}/libfreebl3.so -mv $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk $RPM_BUILD_ROOT/%{_lib} +%{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk $RPM_BUILD_ROOT/%{_lib} ln -s /%{_lib}/libfreebl3.chk $RPM_BUILD_ROOT%{_libdir}/libfreebl3.chk +# conflict with openssl-static +%{__mv} $RPM_BUILD_ROOT%{_libdir}/libssl{,3}.a + if [ ! -f "$RPM_BUILD_ROOT%{_includedir}/nss/nsslowhash.h" ]; then - echo "ERROR: %{_includedir}/nss/nsslowhash.h not installed. Needed by glibc" >&2 + echo >&2 "ERROR: %{_includedir}/nss/nsslowhash.h not installed. Needed by glibc" exit 1 fi @@ -210,6 +236,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/nss-config %{_libdir}/libcrmf.a +%{_libdir}/libfreebl.a %{_includedir}/nss %{_pkgconfigdir}/mozilla-nss.pc %{_pkgconfigdir}/nss.pc @@ -224,7 +251,6 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/btoa %attr(755,root,root) %{_bindir}/certcgi %attr(755,root,root) %{_bindir}/certutil -%attr(755,root,root) %{_bindir}/checkcert %attr(755,root,root) %{_bindir}/chktest %attr(755,root,root) %{_bindir}/cmsutil %attr(755,root,root) %{_bindir}/conflict @@ -251,6 +277,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/p7env %attr(755,root,root) %{_bindir}/p7sign %attr(755,root,root) %{_bindir}/p7verify +%attr(755,root,root) %{_bindir}/pk11_gtest %attr(755,root,root) %{_bindir}/pk11gcmtest %attr(755,root,root) %{_bindir}/pk11mode %attr(755,root,root) %{_bindir}/pk12util @@ -291,16 +318,15 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libcerthi.a %{_libdir}/libcryptohi.a %{_libdir}/libdbm.a -%{_libdir}/libfreebl3.a %{_libdir}/libjar.a -%{_libdir}/libnss3.a +%{_libdir}/libnss.a %{_libdir}/libnssb.a %{_libdir}/libnssckfw.a -%{_libdir}/libnssdbm3.a +%{_libdir}/libnssdbm.a %{_libdir}/libnssdev.a -%{_libdir}/libnsspki3.a -%{_libdir}/libnssutil3.a -%{_libdir}/libpk11wrap3.a +%{_libdir}/libnsspki.a +%{_libdir}/libnssutil.a +%{_libdir}/libpk11wrap.a %{_libdir}/libpkcs12.a %{_libdir}/libpkcs7.a %{_libdir}/libpkixcertsel.a @@ -315,8 +341,8 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libpkixtop.a %{_libdir}/libpkixutil.a %{_libdir}/libsectool.a -%{_libdir}/libsmime3.a -%{_libdir}/libsoftokn3.a +%{_libdir}/libsmime.a +%{_libdir}/libsoftokn.a %{_libdir}/libssl3.a %files softokn-freebl