diff options
author | Hans-Joachim Lankenau <hjs@openoffice.org> | 2010-01-26 18:35:38 +0100 |
---|---|---|
committer | Hans-Joachim Lankenau <hjs@openoffice.org> | 2010-01-26 18:35:38 +0100 |
commit | 8437b1f3ec0718b66f54530ae8dfcb699e9dcb6c (patch) | |
tree | 1f4453dfdfa769eeb9c94f8fd00877a702ec0a56 /nss | |
parent | 7d0a7273deb66cb529226a17d3f470d70c779c6c (diff) | |
parent | 48699169a2d6da38e95bf887f8ef4bc78db2416d (diff) |
ause110: update to DEV300m70
Diffstat (limited to 'nss')
-rw-r--r-- | nss/makefile.mk | 14 | ||||
-rw-r--r-- | nss/nss.patch | 21 | ||||
-rw-r--r-- | nss/nss_macosx.patch | 12 | ||||
-rwxr-xr-x | nss/prj/d.lst | 23 | ||||
-rwxr-xr-x | nss/readme.txt | 131 |
5 files changed, 143 insertions, 58 deletions
diff --git a/nss/makefile.mk b/nss/makefile.mk index a07ef63ae524..f7298740b416 100644 --- a/nss/makefile.mk +++ b/nss/makefile.mk @@ -50,6 +50,10 @@ TARFILE_MD5=6244eb0b6e2647ee50470951fa6efb47 TARFILE_ROOTDIR=mozilla PATCH_FILES=nss.patch +.IF "$(OS)"=="MACOSX" +PATCH_FILES+=nss_macosx.patch +.ENDIF # "$(OS)"=="MACOSX" + .IF "$(debug)" != "" .ELSE BUILD_OPT=1 @@ -65,13 +69,21 @@ USE_64:=1 .ENDIF # "$(CPU)"=="X" .ENDIF # "$(OS)$(COM)"=="LINUXGCC" +.IF "$(OS)$(COM)"=="FREEBSDGCC" +.IF "$(CPU)"=="X" +# force 64-bit buildmode +USE_64:=1 +.EXPORT : USE_64 +.ENDIF # "$(CPU)"=="X" +.ENDIF # "$(OS)$(COM)"=="LINUXGCC" .IF "$(OS)"=="MACOSX" .IF "$(EXTRA_CFLAGS)"!="" CPP:=gcc -E $(EXTRA_CFLAGS) CXX:=g++ $(EXTRA_CFLAGS) CC:=gcc $(EXTRA_CFLAGS) -.EXPORT : CPP +MACOS_SDK_DIR*=$(MACDEVSDK) +.EXPORT : CPP MACOS_SDK_DIR .ENDIF # "$(EXTRA_CFLAGS)"!="" .ENDIF # "$(OS)"=="MACOSX" diff --git a/nss/nss.patch b/nss/nss.patch index 9605e0d64b1e..a6ce16071919 100644 --- a/nss/nss.patch +++ b/nss/nss.patch @@ -169,3 +169,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/nss_macosx.patch b/nss/nss_macosx.patch new file mode 100644 index 000000000000..d6ce6ff4f8d0 --- /dev/null +++ b/nss/nss_macosx.patch @@ -0,0 +1,12 @@ +--- misc/mozilla/security/nss/Makefile 2008-12-03 00:24:39.000000000 +0100 ++++ misc/build/mozilla/security/nss/Makefile 2009-11-27 13:36:22.662753328 +0100 +@@ -104,6 +104,9 @@ + ifeq ($(OS_TARGET),WIN95) + NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95 + endif ++ifdef MACOS_SDK_DIR ++NSPR_CONFIGURE_OPTS += --with-macos-sdk=$(MACOS_SDK_DIR) ++endif + ifdef USE_DEBUG_RTL + NSPR_CONFIGURE_OPTS += --enable-debug-rtl + endif diff --git a/nss/prj/d.lst b/nss/prj/d.lst index 891eb7739b1c..f1090ca8d91e 100755 --- a/nss/prj/d.lst +++ b/nss/prj/d.lst @@ -1,10 +1,31 @@ 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%\lib\*.lib %_DEST%\lib%_EXT% + ..\%__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 |