]> git.pld-linux.org Git - packages/nss.git/blobdiff - nss.spec
up to 3.62
[packages/nss.git] / nss.spec
index 6c89cededa42e49f3167bc0f8419cd1998230d0c..30faaec241e57c96f16e9b633bbb387ca517346e 100644 (file)
--- a/nss.spec
+++ b/nss.spec
@@ -1,25 +1,28 @@
-%define        nspr_ver        1:4.10.7
+# Conditional build:
+%bcond_with    bootstrap       # avoid dependency on nss-tools
+%bcond_with    tests           # enable tests
+
+%define        nspr_ver        1:4.29
 %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:       2
+Version:       3.62
+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:       http://ftp.mozilla.org/pub/security/nss/releases/NSS_%{foover}_RTM/src/%{name}-%{version}.tar.gz
+# Source0-md5: 00573eaf97be1580c32ad967ed221784
 Source1:       %{name}-mozilla-nss.pc
 Source2:       %{name}-config.in
 Source3:       http://www.cacert.org/certs/root.der
 # Source3-md5: a61b375e390d9c3654eebd2031461f6b
-Patch0:                %{name}-Makefile.patch
+Source4:       nss-softokn.pc.in
 # Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1083900
-Patch1:                tls12.patch
-URL:           http://www.mozilla.org/projects/security/pki/nss/
+URL:           https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
 BuildRequires: nspr-devel >= %{nspr_ver}
-BuildRequires: nss-tools
+%{!?with_bootstrap:BuildRequires:      nss-tools}
 BuildRequires: perl-base
 BuildRequires: sqlite3-devel
 BuildRequires: zlib-devel
@@ -27,6 +30,12 @@ BuildConflicts:      mozilla < 0.9.6-3
 Requires:      %{name}-softokn-freebl = %{epoch}:%{version}-%{release}
 Requires:      nspr >= %{nspr_ver}
 Obsoletes:     libnss3
+# needs http2 code update: https://bugzilla.mozilla.org/show_bug.cgi?id=1323209
+Conflicts:     firefox < 50.1.0-2
+Conflicts:     iceape < 2.46-1
+Conflicts:     iceweasel < 51
+Conflicts:     mozilla-firefox < 51
+Conflicts:     seamonkey < 2.47
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                specflags       -fno-strict-aliasing
@@ -97,10 +106,6 @@ Biblioteka kryptograficzna freebl dla bibliotek NSS.
 
 %prep
 %setup -q
-%patch0 -p1
-cd nss
-%patch1 -p1
-cd ..
 
 %if 0%{!?debug:1}
 # strip before signing
@@ -108,47 +113,69 @@ cd ..
 %endif
 
 %build
-cd nss
-
+%if %{without bootstrap}
 # http://wiki.cacert.org/wiki/NSSLib
-addbuiltin -n "CAcert Inc." -t "CT,C,C" < %{SOURCE3} >> lib/ckfw/builtins/certdata.txt
+addbuiltin -n "CAcert Inc." -t "CT,C,C" < %{SOURCE3} >> nss/lib/ckfw/builtins/certdata.txt
+%endif
 
-%ifarch %{x8664} ppc64 sparc64
+%ifarch %{x8664} ppc64 sparc64 aarch64
 export USE_64=1
 %endif
 
-%{__make} -C coreconf -j1 \
-       NSDISTMODE=copy \
-       NS_USE_GCC=1 \
-       MOZILLA_CLIENT=1 \
-       NO_MDUPDATE=1 \
-       USE_PTHREADS=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_ENABLE_WERROR=0
+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
+%{!?with_tests:export NSS_DISABLE_GTESTS=1}
+
+# 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} -C ecc/nss all \
+       NSS_ECC_MORE_THAN_SUITE_B=1 \
        CC="%{__cc}" \
-       OPTIMIZER="%{rpmcflags}"
-
-%{__make} -j1 \
-       NSDISTMODE=copy \
-       NS_USE_GCC=1 \
-       MOZILLA_CLIENT=1 \
-       NO_MDUPDATE=1 \
-       USE_PTHREADS=1 \
-       USE_SYSTEM_ZLIB=1 \
-       ZLIB_LIBS="-lz" \
-       BUILD_OPT=1 \
+       OPTIMIZER="%{rpmcflags} %{rpmcppflags}" \
+       OS_TEST="%{_target_cpu}" \
+       NS_USE_GCC=1
+
+%{__make} -C noecc/nss all \
        CC="%{__cc}" \
-       OPTIMIZER="%{rpmcflags}" \
-       PLATFORM="pld"
+       OPTIMIZER="%{rpmcflags} %{rpmcppflags}" \
+       OS_TEST="%{_target_cpu}" \
+       NS_USE_GCC=1
 
 %install
 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/pld/bin/*         $RPM_BUILD_ROOT%{_bindir}
-install dist/pld/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}
+
+# 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 '
@@ -159,6 +186,16 @@ cp -p nss/doc/nroff/*.1            $RPM_BUILD_ROOT%{_mandir}/man1
 # compatibility symlink
 ln -s nss.pc $RPM_BUILD_ROOT%{_pkgconfigdir}/mozilla-nss.pc
 
+cat %{SOURCE4} | \
+sed -e "s,%%libdir%%,%{_libdir},g" \
+       -e "s,%%prefix%%,%{_prefix},g" \
+       -e "s,%%exec_prefix%%,%{_prefix},g" \
+       -e "s,%%includedir%%,%{_includedir}/nss,g" \
+       -e "s,%%NSPR_VERSION%%,$(echo %{nspr_ver} | sed -e 's#.*:##g'),g" \
+       -e "s,%%NSS_VERSION%%,%{version},g" \
+       -e "s,%%SOFTOKEN_VERSION%%,%{version},g" > \
+       $RPM_BUILD_ROOT%{_pkgconfigdir}/nss-softokn.pc
+
 NSS_VMAJOR=$(awk '/#define.*NSS_VMAJOR/ {print $3}' nss/lib/nss/nss.h)
 NSS_VMINOR=$(awk '/#define.*NSS_VMINOR/ {print $3}' nss/lib/nss/nss.h)
 NSS_VPATCH=$(awk '/#define.*NSS_VPATCH/ {print $3}' nss/lib/nss/nss.h)
@@ -173,13 +210,34 @@ 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
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.so $RPM_BUILD_ROOT/%{_lib}
+ln -s /%{_lib}/libfreeblpriv3.so $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.so
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.chk $RPM_BUILD_ROOT/%{_lib}
+ln -s /%{_lib}/libfreeblpriv3.chk $RPM_BUILD_ROOT%{_libdir}/libfreeblpriv3.chk
+
+# conflict with openssl-static
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libssl{,3}.a
+
+# unit tests
+%if %{with tests}
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/{certdb,certhigh,cryptohi,der,pk11,softoken,smime,ssl,util}_gtest
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/nss_bogo_shim
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libgtest*
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libpkcs11testmodule.*
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libcpputil.*
+%endif
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/fbectest
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/pk11ectest
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/pk11importtest
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/rsapoptst
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libnss*-testlib.so
 
 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
 
@@ -194,6 +252,7 @@ rm -rf $RPM_BUILD_ROOT
 # COPYING beside MPL v2.0 text contains GPL/LGPL compatibility notes
 %doc nss/{COPYING,trademarks.txt}
 %attr(755,root,root) %{_libdir}/libfreebl3.so
+%attr(755,root,root) %{_libdir}/libfreeblpriv3.so
 %attr(755,root,root) %{_libdir}/libnss3.so
 %attr(755,root,root) %{_libdir}/libnssckbi.so
 %attr(755,root,root) %{_libdir}/libnssdbm3.so
@@ -202,6 +261,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libsoftokn3.so
 %attr(755,root,root) %{_libdir}/libssl3.so
 %{_libdir}/libfreebl3.chk
+%{_libdir}/libfreeblpriv3.chk
 %{_libdir}/libnssdbm3.chk
 %{_libdir}/libsoftokn3.chk
 
@@ -209,9 +269,11 @@ 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
+%{_pkgconfigdir}/nss-softokn.pc
 
 %files tools
 %defattr(644,root,root,755)
@@ -220,9 +282,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/baddbdir
 %attr(755,root,root) %{_bindir}/bltest
 %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
@@ -232,6 +292,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/derdump
 %attr(755,root,root) %{_bindir}/dertimetest
 %attr(755,root,root) %{_bindir}/digest
+%attr(755,root,root) %{_bindir}/ecperf
 %attr(755,root,root) %{_bindir}/encodeinttest
 %attr(755,root,root) %{_bindir}/fipstest
 %attr(755,root,root) %{_bindir}/httpserv
@@ -242,6 +303,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/modutil
 %attr(755,root,root) %{_bindir}/multinit
 %attr(755,root,root) %{_bindir}/nonspr10
+%attr(755,root,root) %{_bindir}/nss-policy-check
 %attr(755,root,root) %{_bindir}/ocspclnt
 %attr(755,root,root) %{_bindir}/ocspresp
 %attr(755,root,root) %{_bindir}/oidcalc
@@ -289,16 +351,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
@@ -313,11 +374,13 @@ 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
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/libfreebl3.so
+%attr(755,root,root) /%{_lib}/libfreeblpriv3.so
 /%{_lib}/libfreebl3.chk
+/%{_lib}/libfreeblpriv3.chk
This page took 0.050659 seconds and 4 git commands to generate.