summaryrefslogtreecommitdiff
path: root/nss
diff options
context:
space:
mode:
authorJoachim Lingner <jl@openoffice.org>2009-11-30 13:50:49 +0100
committerJoachim Lingner <jl@openoffice.org>2009-11-30 13:50:49 +0100
commit09bc28fb7b998f56b481fb07eb576f00ce72c26f (patch)
treeb1660d06edd52fa4901a63feae30cc93d4cbee51 /nss
parenta297f034210313dbf8ba6e47c94e795cac9c1481 (diff)
jl144: #i106132# nss does not build on MacOS 10.6 because of libsqlite3
Diffstat (limited to 'nss')
-rw-r--r--nss/nss.patch56
-rwxr-xr-xnss/prj/d.lst22
-rwxr-xr-xnss/readme.txt131
3 files changed, 135 insertions, 74 deletions
diff --git a/nss/nss.patch b/nss/nss.patch
index d37d892dd6b8..6fb42951b44e 100644
--- a/nss/nss.patch
+++ b/nss/nss.patch
@@ -1,5 +1,5 @@
---- misc/mozilla/nsprpub/config/rules.mk 2009-05-02 01:08:01.000000000 +0200
-+++ misc/build/mozilla/nsprpub/config/rules.mk 2009-09-17 10:29:39.823155149 +0200
+--- misc/mozilla/nsprpub/config/rules.mk Sat May 2 01:08:01 2009
++++ misc/build/mozilla/nsprpub/config/rules.mk Fri Nov 27 13:07:24 2009
@@ -350,7 +350,12 @@
ifdef NS_USE_GCC
$(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
@@ -14,8 +14,8 @@
endif # GCC
@echo $(RES) finished
endif
---- misc/mozilla/nsprpub/configure 2009-05-08 15:12:31.000000000 +0200
-+++ misc/build/mozilla/nsprpub/configure 2009-09-17 10:31:55.064081763 +0200
+--- misc/mozilla/nsprpub/configure Fri May 8 15:12:31 2009
++++ misc/build/mozilla/nsprpub/configure Fri Nov 27 13:07:24 2009
@@ -3898,7 +3898,7 @@
PR_MD_CSRCS=linux.c
MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
@@ -25,8 +25,8 @@
_OPTIMIZE_FLAGS=-O2
_DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that
# combo is not yet good at debugging inlined
---- misc/mozilla/security/coreconf/Darwin.mk 2009-07-30 23:36:02.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/Darwin.mk 2009-09-17 11:11:36.442683705 +0200
+--- misc/mozilla/security/coreconf/Darwin.mk Thu Jul 30 23:36:02 2009
++++ misc/build/mozilla/security/coreconf/Darwin.mk Fri Nov 27 13:07:24 2009
@@ -39,8 +39,12 @@
DEFAULT_COMPILER = cc
@@ -42,8 +42,8 @@
RANLIB = ranlib
ifndef CPU_ARCH
---- misc/mozilla/security/coreconf/Linux.mk 2009-07-30 01:43:41.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/Linux.mk 2009-09-17 10:39:40.372245066 +0200
+--- misc/mozilla/security/coreconf/Linux.mk Thu Jul 30 01:43:41 2009
++++ misc/build/mozilla/security/coreconf/Linux.mk Fri Nov 27 13:07:24 2009
@@ -46,8 +46,11 @@
IMPL_STRATEGY = _PTH
endif
@@ -67,8 +67,8 @@
DSO_LDFLAGS =
LDFLAGS += $(ARCHFLAG)
---- misc/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/SunOS5.mk 2009-09-17 10:42:17.845459669 +0200
+--- misc/mozilla/security/coreconf/SunOS5.mk Thu Jun 11 02:55:32 2009
++++ misc/build/mozilla/security/coreconf/SunOS5.mk Fri Nov 27 13:07:24 2009
@@ -89,8 +89,12 @@
# OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer
endif
@@ -84,8 +84,8 @@
ASFLAGS += -Wa,-P
OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
ifndef BUILD_OPT
---- misc/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/arch.mk 2009-09-17 10:45:27.710858021 +0200
+--- misc/mozilla/security/coreconf/arch.mk Fri Jun 5 04:14:49 2009
++++ misc/build/mozilla/security/coreconf/arch.mk Fri Nov 27 13:07:24 2009
@@ -324,7 +324,12 @@
# IMPL_STRATEGY may be defined too.
#
@@ -100,8 +100,8 @@
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifndef BUILD_OPT
---- misc/mozilla/security/coreconf/rules.mk 2009-08-11 05:23:39.000000000 +0200
-+++ misc/build/mozilla/security/coreconf/rules.mk 2009-09-17 10:48:07.361462582 +0200
+--- misc/mozilla/security/coreconf/rules.mk Tue Aug 11 05:23:39 2009
++++ misc/build/mozilla/security/coreconf/rules.mk Fri Nov 27 13:07:24 2009
@@ -355,7 +355,12 @@
ifdef NS_USE_GCC
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
@@ -116,9 +116,9 @@
endif
@echo $(RES) finished
endif
---- misc/mozilla/security/nss/cmd/platlibs.mk 2009-06-18 01:01:48.000000000 +0200
-+++ misc/build/mozilla/security/nss/cmd/platlibs.mk 2009-09-17 11:08:16.697236076 +0200
-@@ -41,27 +41,28 @@
+--- misc/mozilla/security/nss/cmd/platlibs.mk Thu Jun 18 01:01:48 2009
++++ misc/build/mozilla/security/nss/cmd/platlibs.mk Fri Nov 27 13:07:24 2009
+@@ -41,12 +41,13 @@
ifeq ($(OS_ARCH), SunOS)
ifeq ($(BUILD_SUN_PKG), 1)
ifeq ($(USE_64), 1)
@@ -135,6 +135,7 @@
endif
endif
+@@ -53,15 +54,15 @@
ifeq ($(OS_ARCH), Linux)
ifeq ($(BUILD_SUN_PKG), 1)
ifeq ($(USE_64), 1)
@@ -154,3 +155,24 @@
endif
endif
endif
+--- misc/mozilla/security/nss/cmd/shlibsign/Makefile Fri Aug 7 21:06:37 2009
++++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile Fri Nov 27 13:07:52 2009
+@@ -78,10 +78,15 @@
+
+ # sign any and all shared libraries that contain the word freebl
+
+-CHECKLIBS = $(DIST)/lib/$(DLL_PREFIX)softokn3.$(DLL_SUFFIX)
+-CHECKLIBS += $(wildcard $(DIST)/lib/$(DLL_PREFIX)freebl*3.$(DLL_SUFFIX))
++# Signing causes loading of some system library which in turn loads
++# libsqlite3. Then it loads libsqulite3 from nss, which does not have the proper
++# version. Therefore signing fails.
++# We cannot build with the system sqlite3, because it is too old (SDK
++# 10.4). Otherwise one could set NSS_USE_SYSTEM_SQLITE=1 and use the system lib.
++#CHECKLIBS = $(DIST)/lib/$(DLL_PREFIX)softokn3.$(DLL_SUFFIX)
++#CHECKLIBS += $(wildcard $(DIST)/lib/$(DLL_PREFIX)freebl*3.$(DLL_SUFFIX))
+ ifndef NSS_DISABLE_DBM
+-CHECKLIBS += $(DIST)/lib/$(DLL_PREFIX)nssdbm3.$(DLL_SUFFIX)
++#CHECKLIBS += $(DIST)/lib/$(DLL_PREFIX)nssdbm3.$(DLL_SUFFIX)
+ endif
+ CHECKLOC = $(CHECKLIBS:.$(DLL_SUFFIX)=.chk)
+
diff --git a/nss/prj/d.lst b/nss/prj/d.lst
index 891eb7739b1c..d70484ceab28 100755
--- a/nss/prj/d.lst
+++ b/nss/prj/d.lst
@@ -1,10 +1,30 @@
mkdir: %_DEST%\inc%_EXT%\mozilla\nspr
mkdir: %_DEST%\inc%_EXT%\mozilla\nspr\obsolete
mkdir: %_DEST%\inc%_EXT%\mozilla\nss
+mkdir: %_DEST%\lib%_EXT%\sqlite
..\%__SRC%\inc\include\* %_DEST%\inc%_EXT%\mozilla\nspr
..\%__SRC%\inc\include\obsolete\protypes.h %_DEST%\inc%_EXT%\mozilla\nspr\obsolete\protypes.h
..\%__SRC%\inc\nss\*.h %_DEST%\inc%_EXT%\mozilla\nss
-..\%__SRC%\lib\* %_DEST%\lib%_EXT%
+
+..\%__SRC%\lib\libfreebl3.* %_DEST%\lib%_EXT%\libfreebl.*
+..\%__SRC%\lib\libfreebl_32fpu_3.* %_DEST%\lib%_EXT%\libfreebl_32fpu_3.*
+..\%__SRC%\lib\libfreebl_32int64_3.* %_DEST%\lib%_EXT%\libfreebl_32int64_3.*
+..\%__SRC%\lib\libfreebl_32int_3.* %_DEST%\lib%_EXT%\libfreebl_32int_3.*
+..\%__SRC%\lib\libfreebl_64int_3.* %_DEST%\lib%_EXT%\libfreebl_64int_3.*
+..\%__SRC%\lib\libfreebl_64fpu_3.* %_DEST%\lib%_EXT%\libfreebl_64fpu_3.*
+..\%__SRC%\lib\libnspr4.* %_DEST%\lib%_EXT%\libnspr4.*
+..\%__SRC%\lib\libnss3.* %_DEST%\lib%_EXT%\libnss3.*
+..\%__SRC%\lib\libnssckbi.* %_DEST%\lib%_EXT%\libnssckbi.*
+..\%__SRC%\lib\libnssdbm3.* %_DEST%\lib%_EXT%\libnssdbm3.*
+..\%__SRC%\lib\libnssutil3.* %_DEST%\lib%_EXT%\libnssutil3.*
+..\%__SRC%\lib\libplc4.* %_DEST%\lib%_EXT%\libplc4.*
+..\%__SRC%\lib\libplds4.* %_DEST%\lib%_EXT%\libplds4.*
+..\%__SRC%\lib\libsmime3.* %_DEST%\lib%_EXT%\libsmime3.*
+..\%__SRC%\lib\libsoftokn3.* %_DEST%\lib%_EXT%\libsoftokn3.*
+..\%__SRC%\lib\libssl3.* %_DEST%\lib%_EXT%\libssl3.*
+
+..\%__SRC%\lib\libsqlite3.* %_DEST%\lib%_EXT%\sqlite\libsqlite3.*
+
..\%__SRC%\bin\* %_DEST%\bin%_EXT%
diff --git a/nss/readme.txt b/nss/readme.txt
index de23a264c179..df65908204c4 100755
--- a/nss/readme.txt
+++ b/nss/readme.txt
@@ -1,56 +1,75 @@
-Relation between nss, moz, moz_prebuilt
----------------------------------------
-nss containes the security libraries which are also part of moz. However nss is
-meant to be more current, that is it to be updated more often. This should be
-easier than doing this with moz.
-
-If nss is build depends on an environment variable (ENABLE_NSS_MODULE=YES) which
-is per default set to YES. In this case nss is build before moz. The nss
-libraries/lib files/headers built in moz are then not delivered. Otherwise they
-would overwrite those from nss. That is, the nss libraries build in moz are
-removed from mozruntime.zip (build in moz/solver/bin), they are removed from the
-lib directory (for example moz/unxlngi6.pro/lib), and the nss and nspr headers
-are also removed (inc/nss and inc/nspr). The nss libraries from the nss module
-are then added to mozruntime.zip.
-
-This also applies for moz_prebuilt. Therefore moz and moz_prebuilt must be build
-again after changes have been made to the libraries in the nss module.
-
-Also when moz was updated to use a newer version of mozilla, then one must make
-sure that new files which also belong to nss are not delivered and are removed
-from mozruntime.zip.
-
-Fips 140 and signed libraries
--------------------------------
-Fips 140 mode is not supported. That is, the *.chk files containing the
-checksums for the cryptographic module are not delivered into solver and will
-not be part of the OOo installation sets.
-
-The *chk files do not match the libraries because we change the rpatch.
-
-libfreebl3
-----------
-Porting to other platforms may require to deliver other variants of
-libfreebl*. The library name varies according to the platform. Changes need to
-be made to
-ooo/moz/extractfiles.mk
-ooo/moz/zipped/makefile.mk
-sun/moz_prebuilt/zipped/makefile.mk
-
-
-See also
-http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
-
-
-Windows builds of nss
----------------------
-To build mozilla on windows you'll need the mozilla build tools
-
-Build requirements containing the link to the build tools:
-https://developer.mozilla.org/en/Windows_Build_Prerequisites#ss2.2
-
-The direct link:
-
-http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.3.exe
-
-
+Relation between nss, moz, moz_prebuilt
+---------------------------------------
+nss containes the security libraries which are also part of moz. However nss is
+meant to be more current, that is it to be updated more often. This should be
+easier than doing this with moz.
+
+If nss is build depends on an environment variable (ENABLE_NSS_MODULE=YES) which
+is per default set to YES. In this case nss is build before moz. The nss
+libraries/lib files/headers built in moz are then not delivered. Otherwise they
+would overwrite those from nss. That is, the nss libraries build in moz are
+removed from mozruntime.zip (build in moz/solver/bin), they are removed from the
+lib directory (for example moz/unxlngi6.pro/lib), and the nss and nspr headers
+are also removed (inc/nss and inc/nspr). The nss libraries from the nss module
+are then added to mozruntime.zip.
+
+This also applies for moz_prebuilt. Therefore moz and moz_prebuilt must be build
+again after changes have been made to the libraries in the nss module.
+
+Also when moz was updated to use a newer version of mozilla, then one must make
+sure that new files which also belong to nss are not delivered and are removed
+from mozruntime.zip.
+
+Fips 140 and signed libraries
+-------------------------------
+Fips 140 mode is not supported. That is, the *.chk files containing the
+checksums for the cryptographic module are not delivered into solver and will
+not be part of the OOo installation sets.
+
+Signing has been turned off because
+- we change the rpath (install names) after signing which breaks the signatures
+(Mac)
+- sqlite conflicts with the system sqlite when signing which breaks the build
+
+
+libfreebl3
+----------
+Porting to other platforms may require to deliver other variants of
+libfreebl*. The library name varies according to the platform. Changes need to
+be made to
+ooo/moz/extractfiles.mk
+ooo/moz/zipped/makefile.mk
+sun/moz_prebuilt/zipped/makefile.mk
+
+See also
+http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+
+
+Windows builds of nss
+---------------------
+To build mozilla on windows you'll need the mozilla build tools
+
+Build requirements containing the link to the build tools:
+https://developer.mozilla.org/en/Windows_Build_Prerequisites#ss2.2
+
+The direct link:
+
+http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.3.exe
+
+libsqlite3
+----------
+The problem described here was found on Mac with OS 10.6
+NSS cannot use the system sqlite on Mac because the base line is still MacOS
+10.4. That system sqlite is incompatible with the softokn3 in nss which requires
+a later version of sqlite.
+When we used a more current Mac SDK then we could set
+NSS_USE_SYSTEM_SQLITE=1
+to build using the system sqlite.
+
+We cannot deliver sqlite in the lib directory of the solver. This directory is
+used by tools of the build environment. Using the sqlite from NSS breaks the
+tools if they use system libraries which are linked with the system
+sqlite. Therefore we deliver it into lib/sqlite on unix systems.
+
+See also issue
+http://qa.openoffice.org/issues/show_bug.cgi?id=106132