From 26a377a50b30e275212c321e2991e35179fe5785 Mon Sep 17 00:00:00 2001 From: Jack Magne Date: Fri, 18 Aug 2006 15:47:05 +0000 Subject: [PATCH] auto-import esc-1.0.0-5 on branch devel from esc-1.0.0-5.src.rpm --- esc | 10 +- esc.spec | 33 +- firefox-1.1-nss-system-nspr.patch | 124 ++++++ firefox-1.5-with-system-nss.patch | 627 ++++++++++++++++++++++++++++++ 4 files changed, 784 insertions(+), 10 deletions(-) create mode 100644 firefox-1.1-nss-system-nspr.patch create mode 100644 firefox-1.5-with-system-nss.patch diff --git a/esc b/esc index 0fcaf37..c7c1fb3 100755 --- a/esc +++ b/esc @@ -1,5 +1,11 @@ #!/bin/sh -export NSPR_LOG_MODULES=tray:2,coolkey:2,netkey:2,coolKey:2 +export NSPR_LOG_MODULES=tray:2,coolKeyLib:2,coolKey:2,coolKeyNSS:2,coolKeySmart:2,coolKeyHandler:2 + +if [ ! -d ~/.redhat/esc ] +then +mkdir -p ~/.redhat/esc +fi + export NSPR_LOG_FILE=~/.redhat/esc/esc.log -cd /usr/lib/esc-1.0.0 +cd $LIBDIR/esc-1.0.0 ./esc diff --git a/esc.spec b/esc.spec index 6423dce..f346528 100644 --- a/esc.spec +++ b/esc.spec @@ -1,6 +1,6 @@ Name: esc Version: 1.0.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Enterprise Security Client Smart Card Client License: GPL URL: http://directory.fedora.redhat.com/wiki/CoolKey @@ -10,6 +10,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch1: firefox-1.5.0.1-dumpstack.patch Patch2: xulrunner-1.8.0.1-coreconf.patch +Patch3: firefox-1.5-with-system-nss.patch +Patch4: firefox-1.1-nss-system-nspr.patch +Patch5: esc-1.0.0-xul-sys-nss-nspr.patch +Patch6: esc-1.0.0-ui-enhance.patch + BuildRequires: doxygen fontconfig-devel freetype-devel >= 2.1 BuildRequires: glib2-devel libIDL-devel atk-devel gtk2-devel libjpeg-devel @@ -18,10 +23,9 @@ BuildRequires: nspr-devel nss-devel BuildRequires: autoconf213 libX11-devel libXt-devel BuildRequires: pcsc-lite-devel coolkey-devel -BuildRequires: desktop-file-utils zip binutils -Requires: pcsc-lite ifd-egate coolkey +BuildRequires: desktop-file-utils zip binutils libnotify-devel +Requires: pcsc-lite ifd-egate coolkey nss nspr Requires: zip -Requires: gtk2 libstdc++ # 390 does not have coolkey or smartCards # Xulrunner won't compile on ppc64 right now. @@ -58,6 +62,12 @@ cryptographic smartcards. %setup -q -c -n %{escname} +#patch esc to use system nss and nspr. + +%patch5 -p1 -b .fix5 +%patch6 -p1 -b .fix6 + + #Unpack xulrunner where esc expects it to be. %setup -T -D -a 3 -n %{escname}/esc/dist/src @@ -68,6 +78,9 @@ cd mozilla %patch1 -p1 -b .fix1 %patch2 -p1 -b .fix2 +%patch3 -p1 -b .fix3 +%patch4 -p1 -b .fix4 + %build @@ -81,7 +94,7 @@ export USE_64 cd ../.. -make BUILD_OPT=1 +make BUILD_OPT=1 HAVE_LIB_NOTIFY=1 %install @@ -94,7 +107,8 @@ mkdir -p $RPM_BUILD_ROOT/%{autostartdir} mkdir -p $RPM_BUILD_ROOT/%{pixmapdir} mkdir -p $RPM_BUILD_ROOT/%{docdir} -cp %{SOURCE1} $RPM_BUILD_ROOT/%{escbindir} +sed -e 's;\$LIBDIR;'%{_libdir}';g' %{SOURCE1} > $RPM_BUILD_ROOT/%{escbindir}/%{name} + chmod 755 $RPM_BUILD_ROOT/%{escbindir}/esc mkdir -p $RPM_BUILD_ROOT/%{escdir} @@ -160,8 +174,11 @@ if [ -x %{_bindir}/gtk-update-icon-cache ]; then fi %changelog -* Tue Aug 1 2006 Matthias Clasen - 1.0.0-4 -- Don't auto-generate requires either +* Tue Aug 17 2006 Jack Magne - 1.0.0-4 +- Build ESC's xulrunner component using system nss and nspr +- Build process creates run script based on {_libdir} variable, + accounting for differences on 64 bit machines. +- UI enhancements * Mon Jul 31 2006 Matthias Clasen - 1.0.0-3 - Don't provide mozilla libraries diff --git a/firefox-1.1-nss-system-nspr.patch b/firefox-1.1-nss-system-nspr.patch new file mode 100644 index 0000000..f92abe7 --- /dev/null +++ b/firefox-1.1-nss-system-nspr.patch @@ -0,0 +1,124 @@ +Index: mozilla/security/coreconf/location.mk +=================================================================== +RCS file: /cvsroot/mozilla/security/coreconf/location.mk,v +retrieving revision 1.9 +diff -u -r1.9 location.mk +--- mozilla/security/coreconf/location.mk 25 Apr 2004 15:02:17 -0000 1.9 ++++ mozilla/security/coreconf/location.mk 11 Apr 2005 20:21:57 -0000 +@@ -61,6 +61,8 @@ + + DIST = $(SOURCE_PREFIX)/$(PLATFORM) + ++NSPR_LIBDIR = $(DIST)/lib ++ + ifdef BUILD_DEBUG_GC + DEFINES += -DDEBUG_GC + endif +Index: mozilla/security/manager/Makefile.in +=================================================================== +RCS file: /cvsroot/mozilla/security/manager/Makefile.in,v +retrieving revision 1.56 +diff -u -r1.56 Makefile.in +--- mozilla/security/manager/Makefile.in 14 Mar 2005 10:00:58 -0000 1.56 ++++ mozilla/security/manager/Makefile.in 11 Apr 2005 20:21:57 -0000 +@@ -76,12 +76,23 @@ + endif + endif + ++ABS_DIST := $(shell cd $(DIST) && pwd) ++ifeq ($(OS_ARCH),WINNT) ++ABS_DIST := $(shell cygpath -w $(ABS_DIST) | sed -e 's|\\\\|/|g') ++endif ++NSPR_LIBDIR = $(firstword $(filter -L%,$(NSPR_LIBS))) ++ifneq (,$(strip $(NSPR_LIBDIR))) ++NSPR_LIBDIR := $(subst -L,,$(subst -L$(DIST),-L$(ABS_DIST),$(NSPR_LIBDIR))) ++else ++NSPR_LIBDIR = $(ABS_DIST)/lib ++endif + # NSS makefiles are not safe for parallel execution. + DEFAULT_GMAKE_FLAGS = MAKE="$(MAKE) -j1" -j1 + DEFAULT_GMAKE_FLAGS += CC="$(CC)" +-DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="-I$(MOZ_BUILD_ROOT)/dist/include/nspr -I$(MOZ_BUILD_ROOT)/dist/include/dbm" +-DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(MOZ_BUILD_ROOT)/dist +-DEFAULT_GMAKE_FLAGS += DIST=$(MOZ_BUILD_ROOT)/dist ++DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="$(subst -I$(DIST),-I$(ABS_DIST),$(NSPR_CFLAGS) -I$(DIST)/include/dbm)" ++DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(ABS_DIST) ++DEFAULT_GMAKE_FLAGS += DIST=$(ABS_DIST) ++DEFAULT_GMAKE_FLAGS += NSPR_LIBDIR=$(NSPR_LIBDIR) + DEFAULT_GMAKE_FLAGS += MOZILLA_CLIENT=1 + DEFAULT_GMAKE_FLAGS += NO_MDUPDATE=1 + ABS_topsrcdir := $(shell cd $(topsrcdir); pwd) +Index: mozilla/security/nss/lib/ckfw/builtins/Makefile +=================================================================== +RCS file: /cvsroot/mozilla/security/nss/lib/ckfw/builtins/Makefile,v +retrieving revision 1.14 +diff -u -r1.14 Makefile +--- mozilla/security/nss/lib/ckfw/builtins/Makefile 20 Jan 2005 02:25:46 -0000 1.14 ++++ mozilla/security/nss/lib/ckfw/builtins/Makefile 11 Apr 2005 20:21:57 -0000 +@@ -53,23 +53,23 @@ + # This is merely an expedient hack and not the right solution. + ifdef NS_USE_GCC + EXTRA_LIBS += \ +- -L$(DIST)/lib \ ++ -L$(NSPR_LIBDIR) \ + -lplc4 \ + -lplds4 \ + -lnspr4 \ + $(NULL) + else + EXTRA_LIBS += \ +- $(DIST)/lib/$(NSPR31_LIB_PREFIX)plc4_s.lib \ +- $(DIST)/lib/$(NSPR31_LIB_PREFIX)plds4_s.lib \ ++ $(NSPR_LIBDIR)/$(NSPR31_LIB_PREFIX)plc4_s.lib \ ++ $(NSPR_LIBDIR)/$(NSPR31_LIB_PREFIX)plds4_s.lib \ + $(NULL) + endif + + else + + EXTRA_LIBS += \ +- $(DIST)/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \ +- $(DIST)/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \ ++ $(NSPR_LIBDIR)/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \ ++ $(NSPR_LIBDIR)/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \ + $(NULL) + + endif +Index: mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile +=================================================================== +RCS file: /cvsroot/mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile,v +retrieving revision 1.18 +diff -u -r1.18 Makefile +--- mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile 25 Apr 2004 15:03:08 -0000 1.18 ++++ mozilla/security/nss/lib/fortcrypt/swfort/pkcs11/Makefile 11 Apr 2005 20:21:57 -0000 +@@ -63,7 +63,7 @@ + $(DIST)/lib/$(LIB_PREFIX)softokn.$(LIB_SUFFIX) \ + $(CRYPTO_LIB) \ + $(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \ +- -L$(DIST)/lib \ ++ -L$(NSPR_LIBDIR) \ + -lplc4 \ + -lplds4 \ + -lnspr4 \ +@@ -76,8 +76,8 @@ + $(DIST)/lib/softokn.lib \ + $(CRYPTO_LIB) \ + $(DIST)/lib/secutil.lib \ +- $(DIST)/lib/$(NSPR31_LIB_PREFIX)plc4_s.lib \ +- $(DIST)/lib/$(NSPR31_LIB_PREFIX)plds4_s.lib \ ++ $(NSPR_LIBDIR)/$(NSPR31_LIB_PREFIX)plc4_s.lib \ ++ $(NSPR_LIBDIR)/$(NSPR31_LIB_PREFIX)plds4_s.lib \ + wsock32.lib \ + winmm.lib \ + $(NULL) +@@ -98,8 +98,8 @@ + $(DIST)/lib/$(LIB_PREFIX)softokn.$(LIB_SUFFIX) \ + $(CRYPTO_LIB) \ + $(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \ +- $(DIST)/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \ +- $(DIST)/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \ ++ $(NSPR_LIBDIR)/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \ ++ $(NSPR_LIBDIR)/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \ + $(NULL) + + endif diff --git a/firefox-1.5-with-system-nss.patch b/firefox-1.5-with-system-nss.patch new file mode 100644 index 0000000..1e9c701 --- /dev/null +++ b/firefox-1.5-with-system-nss.patch @@ -0,0 +1,627 @@ +Index: mozilla/configure.in +=================================================================== +RCS file: /cvsroot/mozilla/configure.in,v +retrieving revision 1.1503.2.15 +diff -u -r1.1503.2.15 configure.in +--- mozilla/configure.in 4 Oct 2005 05:53:49 -0000 1.1503.2.15 ++++ mozilla/configure.in 15 Dec 2005 05:40:40 -0000 +@@ -86,6 +86,7 @@ + MOZPNG=10207 + MOZZLIB=1.2.3 + NSPR_VERSION=4 ++NSS_VERSION=3 + + dnl Set the minimum version of toolkit libs used by mozilla + dnl ======================================================== +@@ -3472,6 +3473,19 @@ + fi + fi + ++dnl ======================================================== ++dnl = If NSS was not detected in the system, ++dnl = use the one in the source tree (mozilla/security/nss) ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-nss, ++[ --with-system-nss Use system installed NSS], ++ _USE_SYSTEM_NSS=1 ) ++ ++if test -n "$_USE_SYSTEM_NSS"; then ++ AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=]) ++fi ++ + if test -z "$SKIP_LIBRARY_CHECKS"; then + dnl system JPEG support + dnl ======================================================== +@@ -6698,6 +6712,10 @@ + AC_SUBST(NSPR_LIBS) + AC_SUBST(MOZ_NATIVE_NSPR) + ++AC_SUBST(NSS_CFLAGS) ++AC_SUBST(NSS_LIBS) ++AC_SUBST(MOZ_NATIVE_NSS) ++ + AC_SUBST(CFLAGS) + AC_SUBST(CXXFLAGS) + AC_SUBST(CPPFLAGS) +Index: mozilla/configure +=================================================================== +RCS file: /cvsroot/mozilla/configure,v +retrieving revision 1.1492.2.17 +diff -u -r1.1492.2.17 configure +--- mozilla/configure 4 Oct 2005 06:01:48 -0000 1.1492.2.17 ++++ mozilla/configure 15 Dec 2005 05:40:53 -0000 +@@ -44,6 +44,13 @@ + --with-nspr-exec-prefix=PFX + Exec prefix where NSPR is installed" + ac_help="$ac_help ++ --with-system-nss Use system installed NSS" ++ac_help="$ac_help ++ --with-nss-prefix=PFX Prefix where NSS is installed" ++ac_help="$ac_help ++ --with-nss-exec-prefix=PFX ++ Exec prefix where NSS is installed" ++ac_help="$ac_help + --with-system-jpeg[=PFX] + Use system libjpeg [installed at prefix PFX]" + ac_help="$ac_help +@@ -1020,6 +1027,7 @@ + MOZPNG=10207 + MOZZLIB=1.2.3 + NSPR_VERSION=4 ++NSS_VERSION=3 + + GLIB_VERSION=1.2.0 + GTK_VERSION=1.2.0 +@@ -11300,6 +11308,123 @@ + fi + fi + ++ ++# Check whether --with-system-nss or --without-system-nss was given. ++if test "${with_system_nss+set}" = set; then ++ withval="$with_system_nss" ++ if test "$withval" = "yes"; then ++ _USE_SYSTEM_NSS=1 ++ elif test "$withval" = "no"; then ++ : ++ else ++ { echo "configure: error: Option, system-nss, does not take an argument ($withval)." 1>&2; exit 1; } ++ fi ++fi ++ ++ ++if test -n "$_USE_SYSTEM_NSS"; then ++ ++# Check whether --with-nss-prefix or --without-nss-prefix was given. ++if test "${with_nss_prefix+set}" = set; then ++ withval="$with_nss_prefix" ++ nss_config_prefix="$withval" ++else ++ nss_config_prefix="" ++fi ++ ++ ++# Check whether --with-nss-exec-prefix or --without-nss-exec-prefix was given. ++if test "${with_nss_exec_prefix+set}" = set; then ++ withval="$with_nss_exec_prefix" ++ nss_config_exec_prefix="$withval" ++else ++ nss_config_exec_prefix="" ++fi ++ ++ ++ if test -n "$nss_config_exec_prefix"; then ++ nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix" ++ if test -z "$NSS_CONFIG"; then ++ NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config ++ fi ++ fi ++ if test -n "$nss_config_prefix"; then ++ nss_config_args="$nss_config_args --prefix=$nss_config_prefix" ++ if test -z "$NSS_CONFIG"; then ++ NSS_CONFIG=$nss_config_prefix/bin/nss-config ++ fi ++ fi ++ ++ unset ac_cv_path_NSS_CONFIG ++ # Extract the first word of "nss-config", so it can be a program name with args. ++set dummy nss-config; ac_word=$2 ++echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ++echo "configure:11363: checking for $ac_word" >&5 ++if eval "test \"`echo '$''{'ac_cv_path_NSS_CONFIG'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++else ++ case "$NSS_CONFIG" in ++ /*) ++ ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a path. ++ ;; ++ ?:/*) ++ ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a dos path. ++ ;; ++ *) ++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ++ ac_dummy="$PATH" ++ for ac_dir in $ac_dummy; do ++ test -z "$ac_dir" && ac_dir=. ++ if test -f $ac_dir/$ac_word; then ++ ac_cv_path_NSS_CONFIG="$ac_dir/$ac_word" ++ break ++ fi ++ done ++ IFS="$ac_save_ifs" ++ test -z "$ac_cv_path_NSS_CONFIG" && ac_cv_path_NSS_CONFIG="no" ++ ;; ++esac ++fi ++NSS_CONFIG="$ac_cv_path_NSS_CONFIG" ++if test -n "$NSS_CONFIG"; then ++ echo "$ac_t""$NSS_CONFIG" 1>&6 ++else ++ echo "$ac_t""no" 1>&6 ++fi ++ ++ min_nss_version=3.0.0 ++ echo $ac_n "checking for NSS - version >= $min_nss_version (skipping)""... $ac_c" 1>&6 ++echo "configure:11398: checking for NSS - version >= $min_nss_version (skipping)" >&5 ++ ++ no_nss="" ++ if test "$NSS_CONFIG" = "no"; then ++ no_nss="yes" ++ else ++ NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags` ++ NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs` ++ ++ nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \ ++ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` ++ nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \ ++ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` ++ nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \ ++ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` ++ fi ++ ++ if test -z "$no_nss"; then ++ echo "$ac_t""yes" 1>&6 ++ MOZ_NATIVE_NSS=1 ++ else ++ echo "$ac_t""no" 1>&6 ++ fi ++ ++ ++ ++ ++ ++ ++fi ++ + if test -z "$SKIP_LIBRARY_CHECKS"; then + # Check whether --with-system-jpeg or --without-system-jpeg was given. + if test "${with_system_jpeg+set}" = set; then +@@ -19473,6 +19602,9 @@ + s%@NSPR_CONFIG@%$NSPR_CONFIG%g + s%@NSPR_CFLAGS@%$NSPR_CFLAGS%g + s%@NSPR_LIBS@%$NSPR_LIBS%g ++s%@NSS_CONFIG@%$NSS_CONFIG%g ++s%@NSS_CFLAGS@%$NSS_CFLAGS%g ++s%@NSS_LIBS@%$NSS_LIBS%g + s%@GTK_CONFIG@%$GTK_CONFIG%g + s%@GTK_CFLAGS@%$GTK_CFLAGS%g + s%@GTK_LIBS@%$GTK_LIBS%g +@@ -19753,6 +19885,7 @@ + s%@MOZ_PNG_CFLAGS@%$MOZ_PNG_CFLAGS%g + s%@MOZ_PNG_LIBS@%$MOZ_PNG_LIBS%g + s%@MOZ_NATIVE_NSPR@%$MOZ_NATIVE_NSPR%g ++s%@MOZ_NATIVE_NSS@%$MOZ_NATIVE_NSS%g + s%@COMPILE_CFLAGS@%$COMPILE_CFLAGS%g + s%@COMPILE_CXXFLAGS@%$COMPILE_CXXFLAGS%g + s%@CROSS_COMPILE@%$CROSS_COMPILE%g +Index: mozilla/aclocal.m4 +=================================================================== +RCS file: /cvsroot/mozilla/aclocal.m4,v +retrieving revision 1.14 +diff -u -r1.14 aclocal.m4 +--- mozilla/aclocal.m4 13 May 2004 03:12:47 -0000 1.14 ++++ mozilla/aclocal.m4 15 Dec 2005 05:40:53 -0000 +@@ -8,6 +8,7 @@ + builtin(include, build/autoconf/libIDL.m4)dnl + builtin(include, build/autoconf/libIDL-2.m4)dnl + builtin(include, build/autoconf/nspr.m4)dnl ++builtin(include, build/autoconf/nss.m4)dnl + builtin(include, build/autoconf/libart.m4)dnl + builtin(include, build/autoconf/pkg.m4)dnl + builtin(include, build/autoconf/freetype2.m4)dnl +Index: mozilla/config/autoconf.mk.in +=================================================================== +RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v +retrieving revision 3.363.2.1 +diff -u -r3.363.2.1 autoconf.mk.in +--- mozilla/config/autoconf.mk.in 17 Aug 2005 17:17:17 -0000 3.363.2.1 ++++ mozilla/config/autoconf.mk.in 15 Dec 2005 05:40:53 -0000 +@@ -229,6 +229,7 @@ + MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@ + + MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@ ++MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@ + + CROSS_COMPILE = @CROSS_COMPILE@ + +@@ -384,6 +385,48 @@ + NSPR_CFLAGS = @NSPR_CFLAGS@ + NSPR_LIBS = @NSPR_LIBS@ + ++NSS_CONFIG = @NSS_CONFIG@ ++NSS_CFLAGS = @NSS_CFLAGS@ ++NSS_LIBS = @NSS_LIBS@ ++ ++ifdef MOZ_NATIVE_NSS ++NSS_DEP_LIBS = \ ++ $(NULL) ++NSS_LIBS += \ ++ -lcrmf \ ++ $(NULL) ++else ++NSS_DEP_LIBS = \ ++ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ ++ $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \ ++ $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \ ++ $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \ ++ $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \ ++ $(NULL) ++NSS_LIBS = \ ++ $(LIBS_DIR) \ ++ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ ++ -lsmime3 \ ++ -lssl3 \ ++ -lnss3 \ ++ -lsoftokn3 \ ++ $(NULL) ++endif ++ ++ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH))) ++ifndef GNU_CC ++ifndef MOZ_NATIVE_NSS ++NSS_LIBS = \ ++ $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ ++ $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \ ++ $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \ ++ $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \ ++ $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \ ++ $(NULL) ++endif ++endif ++endif ++ + LDAP_CFLAGS = @LDAP_CFLAGS@ + LDAP_LIBS = @LDAP_LIBS@ + XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@ +Index: mozilla/config/config.mk +=================================================================== +RCS file: /cvsroot/mozilla/config/config.mk,v +retrieving revision 3.337 +diff -u -r3.337 config.mk +--- mozilla/config/config.mk 28 Jul 2005 19:48:11 -0000 3.337 ++++ mozilla/config/config.mk 15 Dec 2005 05:40:54 -0000 +@@ -138,39 +138,6 @@ + FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps + FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names + +-# +-# NSS libs needed for final link in static build +-# +- +-NSS_LIBS = \ +- $(LIBS_DIR) \ +- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ +- -lsmime3 \ +- -lssl3 \ +- -lnss3 \ +- -lsoftokn3 \ +- $(NULL) +- +-ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH))) +-ifndef GNU_CC +-NSS_LIBS = \ +- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ +- $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \ +- $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \ +- $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \ +- $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \ +- $(NULL) +-endif +-endif +- +-NSS_DEP_LIBS = \ +- $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \ +- $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \ +- $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \ +- $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \ +- $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \ +- $(NULL) +- + MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX) + MOZ_REGISTRY_LIBS = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX) + MOZ_WIDGET_SUPPORT_LIBS = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX) +Index: mozilla/build/autoconf/nss.m4 +=================================================================== +RCS file: mozilla/build/autoconf/nss.m4 +diff -N mozilla/build/autoconf/nss.m4 +--- /dev/null 1 Jan 1970 00:00:00 -0000 ++++ mozilla/build/autoconf/nss.m4 15 Dec 2005 05:40:54 -0000 +@@ -0,0 +1,67 @@ ++# -*- tab-width: 4; -*- ++# Configure paths for NSS ++# Public domain - Chris Seawood 2001-04-05 ++# Based upon gtk.m4 (also PD) by Owen Taylor ++ ++dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) ++dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS ++AC_DEFUN(AM_PATH_NSS, ++[dnl ++ ++AC_ARG_WITH(nss-prefix, ++ [ --with-nss-prefix=PFX Prefix where NSS is installed], ++ nss_config_prefix="$withval", ++ nss_config_prefix="") ++ ++AC_ARG_WITH(nss-exec-prefix, ++ [ --with-nss-exec-prefix=PFX ++ Exec prefix where NSS is installed], ++ nss_config_exec_prefix="$withval", ++ nss_config_exec_prefix="") ++ ++ if test -n "$nss_config_exec_prefix"; then ++ nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix" ++ if test -z "$NSS_CONFIG"; then ++ NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config ++ fi ++ fi ++ if test -n "$nss_config_prefix"; then ++ nss_config_args="$nss_config_args --prefix=$nss_config_prefix" ++ if test -z "$NSS_CONFIG"; then ++ NSS_CONFIG=$nss_config_prefix/bin/nss-config ++ fi ++ fi ++ ++ unset ac_cv_path_NSS_CONFIG ++ AC_PATH_PROG(NSS_CONFIG, nss-config, no) ++ min_nss_version=ifelse([$1], ,3.0.0,$1) ++ AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping)) ++ ++ no_nss="" ++ if test "$NSS_CONFIG" = "no"; then ++ no_nss="yes" ++ else ++ NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags` ++ NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs` ++ ++ dnl Skip version check for now ++ nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ++ nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ++ nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \ ++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` ++ fi ++ ++ if test -z "$no_nss"; then ++ AC_MSG_RESULT(yes) ++ ifelse([$2], , :, [$2]) ++ else ++ AC_MSG_RESULT(no) ++ fi ++ ++ ++ AC_SUBST(NSS_CFLAGS) ++ AC_SUBST(NSS_LIBS) ++ ++]) +Index: mozilla/security/manager/Makefile.in +=================================================================== +RCS file: /cvsroot/mozilla/security/manager/Makefile.in,v +retrieving revision 1.57 +diff -u -r1.57 Makefile.in +--- mozilla/security/manager/Makefile.in 2 Jun 2005 02:03:05 -0000 1.57 ++++ mozilla/security/manager/Makefile.in 15 Dec 2005 05:40:54 -0000 +@@ -46,6 +46,8 @@ + MODULE = psm + + PACKAGE_FILE = psm.pkg ++ ++ifndef MOZ_NATIVE_NSS + PACKAGE_VARS += \ + NSS3_LIB \ + SMIME3_LIB \ +@@ -57,6 +59,7 @@ + $(NULL) + + LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX) ++endif + + NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX) + SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX) +@@ -147,6 +150,7 @@ + export:: .nss.cleaned + + .nss.cleaned: .nss.checkout ++ifndef MOZ_NATIVE_NSS + $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean + ifndef SKIP_CHK +@@ -154,9 +158,12 @@ + $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean + endif + touch $@ ++endif + + .nss.checkout: ++ifndef MOZ_NATIVE_NSS + touch $(srcdir)/$@ ++endif + + dependclean export packages chrome:: + $(MAKE) -C boot $@ +@@ -167,12 +174,15 @@ + endif + + libs:: ++ifndef MOZ_NATIVE_NSS + $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) ++endif + ifeq ($(OS_ARCH),WINNT) + cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX) + else + cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX) + endif ++ifndef MOZ_NATIVE_NSS + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) + ifndef SKIP_CHK + $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) +@@ -210,6 +220,7 @@ + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin + endif + endif ++endif + $(MAKE) -C boot $@ + $(MAKE) -C ssl $@ + $(MAKE) -C locales $@ +@@ -218,6 +229,7 @@ + endif + + install:: ++ifndef MOZ_NATIVE_NSS + $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir) + ifndef SKIP_CHK + $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir) +@@ -232,6 +244,7 @@ + $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_HYBRID_CHK) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DESTDIR)$(mozappdir) + endif ++endif + $(MAKE) -C boot $@ + $(MAKE) -C ssl $@ + $(MAKE) -C locales $@ +@@ -246,15 +259,18 @@ + ifdef MOZ_XUL + $(MAKE) -C pki $@ + endif ++ifndef MOZ_NATIVE_NSS + $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean + ifndef SKIP_CHK + $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean + $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean + endif ++endif + + echo-requires-recursive:: + $(MAKE) -C boot $@ + $(MAKE) -C ssl $@ + $(MAKE) -C pki $@ + $(MAKE) -C locales $@ ++ +Index: mozilla/security/manager/ssl/src/Makefile.in +=================================================================== +RCS file: /cvsroot/mozilla/security/manager/ssl/src/Makefile.in,v +retrieving revision 1.67 +diff -u -r1.67 Makefile.in +--- mozilla/security/manager/ssl/src/Makefile.in 3 Aug 2005 05:24:18 -0000 1.67 ++++ mozilla/security/manager/ssl/src/Makefile.in 15 Dec 2005 05:40:56 -0000 +@@ -123,8 +123,13 @@ + + # Use local includes because they are inserted before INCLUDES + # so that Mozilla's nss.h is used, not glibc's ++ifdef MOZ_NATIVE_NSS ++LOCAL_INCLUDES += $(NSS_CFLAGS) \ ++ $(NULL) ++else + LOCAL_INCLUDES += -I$(DIST)/public/nss \ + $(NULL) ++endif + + EXTRA_DSO_LDOPTS += \ + $(MOZ_UNICHARUTIL_LIBS) \ +Index: mozilla/security/manager/ssl/src/nsNSSComponent.cpp +=================================================================== +RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSComponent.cpp,v +retrieving revision 1.126.2.1 +diff -u -r1.126.2.1 nsNSSComponent.cpp +--- mozilla/security/manager/ssl/src/nsNSSComponent.cpp 26 Aug 2005 06:41:50 -0000 1.126.2.1 ++++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp 15 Dec 2005 05:41:00 -0000 +@@ -488,14 +488,6 @@ + } + + +-#ifdef XP_MAC +-#ifdef DEBUG +-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb") +-#else +-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb") +-#endif /*DEBUG*/ +-#endif /*XP_MAC*/ +- + static void setOCSPOptions(nsIPrefBranch * pref); + + NS_IMETHODIMP +@@ -689,40 +681,40 @@ + + const char *possible_ckbi_locations[] = { + NS_GRE_DIR, +- NS_XPCOM_CURRENT_PROCESS_DIR ++ NS_XPCOM_CURRENT_PROCESS_DIR, ++ 0 + }; +- ++ + for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) { + nsCOMPtr mozFile; +- directoryService->Get( possible_ckbi_locations[il], +- NS_GET_IID(nsILocalFile), +- getter_AddRefs(mozFile)); ++ char *fullModuleName = nsnull; ++ ++ if (!possible_ckbi_locations[il]) ++ { ++ fullModuleName = PR_GetLibraryName(nsnull, "nssckbi"); ++ } ++ else ++ { ++ directoryService->Get( possible_ckbi_locations[il], ++ NS_GET_IID(nsILocalFile), ++ getter_AddRefs(mozFile)); + +- if (!mozFile) { +- continue; ++ if (!mozFile) { ++ continue; ++ } ++ ++ nsCAutoString processDir; ++ mozFile->GetNativePath(processDir); ++ fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi"); + } + +- char *fullModuleName = nsnull; +-#ifdef XP_MAC +- nsCAutoString nativePath; +- mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files")); +- mozFile->AppendNative(LOADABLE_CERTS_MODULE); +- mozFile->GetNativePath(nativePath); +- fullModuleName = (char *) nativePath.get(); +-#else +- nsCAutoString processDir; +- mozFile->GetNativePath(processDir); +- fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi"); +-#endif + /* If a module exists with the same name, delete it. */ + NS_ConvertUCS2toUTF8 modNameUTF8(modName); + int modType; + SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType); + SECStatus rv_add = + SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), fullModuleName, 0, 0); +-#ifndef XP_MAC +- PR_Free(fullModuleName); // allocated by NSPR +-#endif ++ PR_FreeLibraryName(fullModuleName); // allocated by NSPR + if (SECSuccess == rv_add) { + // found a module, no need to try other directories + break;