From e1e079806989cd1d7ee5c696b2cc88dc0ee6c9a3 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 21 Dec 2011 21:01:24 +0100 Subject: Enigmail 1.3.4 --- mozilla-696393.patch | 133 ++++++++++++++++++++++++++++++++++++ thunderbird-8.0-enable-addons.patch | 26 +++++++ thunderbird-enigmail.spec | 60 +++++++++------- thunderbird-mozconfig | 3 +- xulrunner-6.0-secondary-ipc.patch | 60 ---------------- xulrunner-9.0-secondary-ipc.patch | 60 ++++++++++++++++ xulrunner-install.patch | 12 ---- 7 files changed, 256 insertions(+), 98 deletions(-) create mode 100644 mozilla-696393.patch create mode 100644 thunderbird-8.0-enable-addons.patch delete mode 100644 xulrunner-6.0-secondary-ipc.patch create mode 100644 xulrunner-9.0-secondary-ipc.patch delete mode 100644 xulrunner-install.patch diff --git a/mozilla-696393.patch b/mozilla-696393.patch new file mode 100644 index 0000000..8859d97 --- /dev/null +++ b/mozilla-696393.patch @@ -0,0 +1,133 @@ +diff -up xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp.696393 xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp +--- xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp.696393 2011-12-07 07:28:08.000000000 +0100 ++++ xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp 2011-12-09 15:06:10.584998410 +0100 +@@ -200,52 +200,21 @@ invoke_copy_to_stack(PRUint32 paramCount + } + } + ++typedef nsresult (*vtable_func)(nsISupports *, PRUint32, PRUint32, PRUint32, PRUint32, double, double); ++ + EXPORT_XPCOM_API(nsresult) + NS_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, + PRUint32 paramCount, nsXPTCVariant* params) + { +- PRUint32 *vtable = *(PRUint32 **)that; +- PRUint32 method = vtable[methodIndex]; ++ vtable_func *vtable = *reinterpret_cast(that); ++ vtable_func method = vtable[methodIndex]; + PRUint32 overflow = invoke_count_words (paramCount, params); +- PRUint32 result; +- +- __asm__ __volatile__ +- ( +- "lr 7,15\n\t" +- "ahi 7,-32\n\t" +- +- "lr 3,%3\n\t" +- "sll 3,2\n\t" +- "lcr 3,3\n\t" +- "l 2,0(15)\n\t" +- "la 15,0(3,7)\n\t" +- "st 2,0(15)\n\t" ++ PRUint32 *stack_space = reinterpret_cast(__builtin_alloca((overflow + 8 /* 4 32-bits gpr + 2 64-bits fpr */) * 4)); + +- "lr 2,%1\n\t" +- "lr 3,%2\n\t" +- "la 4,96(15)\n\t" +- "lr 5,%3\n\t" +- "basr 14,%4\n\t" ++ invoke_copy_to_stack(paramCount, params, stack_space, overflow); + +- "lr 2,%5\n\t" +- "ld 0,112(7)\n\t" +- "ld 2,120(7)\n\t" +- "lm 3,6,96(7)\n\t" +- "basr 14,%6\n\t" ++ PRUint32 *d_gpr = stack_space + overflow; ++ double *d_fpr = reinterpret_cast(d_gpr + 4); + +- "la 15,32(7)\n\t" +- +- "lr %0,2\n\t" +- : "=r" (result) +- : "r" (paramCount), +- "r" (params), +- "r" (overflow), +- "a" (invoke_copy_to_stack), +- "a" (that), +- "a" (method) +- : "2", "3", "4", "5", "6", "7", "14", "cc", "memory", "%f0", "%f2" +- ); +- +- return result; ++ return method(that, d_gpr[0], d_gpr[1], d_gpr[2], d_gpr[3], d_fpr[0], d_fpr[1]); + } +- +diff -up xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp.696393 xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp +--- xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp.696393 2011-12-07 07:28:08.000000000 +0100 ++++ xulrunner-9.0/mozilla-beta/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp 2011-12-09 15:07:07.609097348 +0100 +@@ -194,55 +194,22 @@ invoke_copy_to_stack(PRUint32 paramCount + } + } + ++typedef nsresult (*vtable_func)(nsISupports *, PRUint64, PRUint64, PRUint64, PRUint64, double, double, double, double); ++ + EXPORT_XPCOM_API(nsresult) + NS_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, + PRUint32 paramCount, nsXPTCVariant* params) + { +- PRUint64 *vtable = *(PRUint64 **)that; +- PRUint64 method = vtable[methodIndex]; ++ vtable_func *vtable = *reinterpret_cast(that); ++ vtable_func method = vtable[methodIndex]; + PRUint64 overflow = invoke_count_words (paramCount, params); ++ PRUint64 *stack_space = reinterpret_cast(__builtin_alloca((overflow + 8 /* 4 64-bits gpr + 4 64-bits fpr */) * 8)); + PRUint64 result; + +- __asm__ __volatile__ +- ( +- "lgr 7,15\n\t" +- "aghi 7,-64\n\t" +- +- "lgr 3,%3\n\t" +- "sllg 3,3,3\n\t" +- "lcgr 3,3\n\t" +- "lg 2,0(15)\n\t" +- "la 15,0(3,7)\n\t" +- "stg 2,0(15)\n\t" +- +- "lgr 2,%1\n\t" +- "lgr 3,%2\n\t" +- "la 4,160(15)\n\t" +- "lgr 5,%3\n\t" +- "basr 14,%4\n\t" ++ invoke_copy_to_stack(paramCount, params, stack_space, overflow); + +- "lgr 2,%5\n\t" +- "ld 0,192(7)\n\t" +- "ld 2,200(7)\n\t" +- "ld 4,208(7)\n\t" +- "ld 6,216(7)\n\t" +- "lmg 3,6,160(7)\n\t" +- "basr 14,%6\n\t" ++ PRUint64 *d_gpr = stack_space + overflow; ++ double *d_fpr = reinterpret_cast(d_gpr + 4); + +- "la 15,64(7)\n\t" +- +- "lgr %0,2\n\t" +- : "=r" (result) +- : "r" ((PRUint64)paramCount), +- "r" (params), +- "r" (overflow), +- "a" (invoke_copy_to_stack), +- "a" (that), +- "a" (method) +- : "2", "3", "4", "5", "6", "7", "14", "cc", "memory", +- "%f0", "%f1", "%f2", "%f3", "%f4", "%f5", "%f6", "%f7" +- ); +- +- return result; ++ return method(that, d_gpr[0], d_gpr[1], d_gpr[2], d_gpr[3], d_fpr[0], d_fpr[1], d_fpr[2], d_fpr[3]); + } +- diff --git a/thunderbird-8.0-enable-addons.patch b/thunderbird-8.0-enable-addons.patch new file mode 100644 index 0000000..7b040df --- /dev/null +++ b/thunderbird-8.0-enable-addons.patch @@ -0,0 +1,26 @@ +diff -up comm-release/mail/app/profile/all-thunderbird.js.addons comm-release/mail/app/profile/all-thunderbird.js +--- comm-release/mail/app/profile/all-thunderbird.js.addons 2011-11-15 10:36:03.868551158 +0100 ++++ comm-release/mail/app/profile/all-thunderbird.js 2011-11-15 10:36:20.555397903 +0100 +@@ -138,7 +138,7 @@ pref("extensions.update.autoUpdateDefaul + // Disable add-ons installed into the shared user and shared system areas by + // default. This does not include the application directory. See the SCOPE + // constants in AddonManager.jsm for values to use here +-pref("extensions.autoDisableScopes", 15); ++pref("extensions.autoDisableScopes", 0); + + // Preferences for AMO integration + pref("extensions.getAddons.cache.enabled", true); +diff -up comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm.addons comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm +--- comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm.addons 2011-11-15 11:15:06.518905245 +0100 ++++ comm-release/mozilla/toolkit/mozapps/extensions/XPIProvider.jsm 2011-11-15 11:15:40.399934236 +0100 +@@ -1591,8 +1591,8 @@ var XPIProvider = { + this.showUpgradeUI(); + flushCaches = true; + } +- else if (aAppChanged === undefined) { +- // For new profiles we will never need to show the add-on selection UI ++ else { ++ // For all profiles we will never need to show the add-on selection UI + Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true); + } + diff --git a/thunderbird-enigmail.spec b/thunderbird-enigmail.spec index d998cee..ce533e0 100644 --- a/thunderbird-enigmail.spec +++ b/thunderbird-enigmail.spec @@ -1,14 +1,20 @@ %define nspr_version 4.8.8 -%define nss_version 3.12.10 +%define nss_version 3.13.1 %define cairo_version 1.10.0 %define freetype_version 2.1.9 %define lcms_version 1.19 -%define sqlite_version 3.6.22 +%define sqlite_version 3.7.7.1 %define libnotify_version 0.4 %define build_langpacks 1 %define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\} -%global thunver 8.0 +%if 0%{?fedora} <= 15 +%define system_sqlite 0 +%else +%define system_sqlite 1 +%endif + +%global thunver 9.0 # The tarball is pretty inconsistent with directory structure. # Sometimes there is a top level directory. That goes here. @@ -26,7 +32,7 @@ Summary: Authentication and encryption extension for Mozilla Thunderbird Name: thunderbird-enigmail -Version: 1.3.3 +Version: 1.3.4 %if 0%{?prever:1} Release: 0.1.%{prever}%{?dist} %else @@ -59,13 +65,15 @@ Source101: enigmail-fixlang.php # Mozilla (XULRunner) patches Patch0: thunderbird-install-dir.patch Patch7: crashreporter-remove-static.patch -Patch8: xulrunner-6.0-secondary-ipc.patch -Patch9: mozilla-670719.patch +Patch8: xulrunner-9.0-secondary-ipc.patch Patch10: xulrunner-2.0-network-link-service.patch Patch11: xulrunner-2.0-NetworkManager09.patch +Patch12: mozilla-696393.patch # Build patches -Patch100: xulrunner-install.patch + +# Linux specific +Patch200: thunderbird-8.0-enable-addons.patch # Enigmail patch @@ -79,8 +87,10 @@ Patch100: xulrunner-install.patch %endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -%if 0%{?fedora} >= 14 +%if 0%{?fedora} >= 14 || 0%{?rhel} >= 6 BuildRequires: nspr-devel >= %{nspr_version} +%endif +%if 0%{?fedora} >= 17 BuildRequires: nss-devel >= %{nss_version} %endif %if 0%{?fedora} >= 15 @@ -104,8 +114,7 @@ BuildRequires: freetype-devel >= %{freetype_version} BuildRequires: libXt-devel BuildRequires: libXrender-devel BuildRequires: hunspell-devel -%if 0%{?fedora} >= 15 -# Need SQLITE_SECURE_DELETE option +%if %{?system_sqlite} BuildRequires: sqlite-devel >= %{sqlite_version} %endif BuildRequires: startup-notification-devel @@ -148,12 +157,13 @@ cd %{tarballdir} cd mozilla %patch7 -p2 -b .static %patch8 -p2 -b .secondary-ipc -%patch9 -p1 -b .moz670719 %patch10 -p1 -b .link-service %patch11 -p1 -b .NetworkManager09 -%patch100 -p2 -b .install +%patch12 -p2 -b .696393 cd .. +%patch200 -p1 -b .addons + %if %{official_branding} # Required by Mozilla Corporation @@ -165,11 +175,10 @@ cd .. %{__rm} -f .mozconfig cat %{SOURCE10} \ -%if 0%{?fedora} < 15 && 0%{?rhel} <= 6 - | grep -v system-sqlite \ -%endif -%if 0%{?fedora} < 14 && 0%{?rhel} <= 6 +%if 0%{?fedora} < 17 | grep -v system-nss \ +%endif +%if 0%{?fedora} < 14 && 0%{?rhel} < 6 | grep -v system-nspr \ %endif %if 0%{?fedora} < 15 && 0%{?rhel} <= 6 @@ -177,22 +186,20 @@ cat %{SOURCE10} \ %endif | tee .mozconfig -cat <= 15 -#ac_add_options --enable-system-sqlite -%endif %if 0%{?fedora} < 14 && 0%{?rhel} <= 6 -ac_add_options --disable-libjpeg-turbo +echo "ac_add_options --disable-libjpeg-turbo" >> .mozconfig %endif -EOF %if %{official_branding} %{__cat} %{SOURCE11} >> .mozconfig %endif +%if %{?system_sqlite} +echo "ac_add_options --enable-system-sqlite" >> .mozconfig +%else +echo "ac_add_options --disable-system-sqlite" >> .mozconfig +%endif + # ===== Enigmail work ===== %if 0%{?CVS} mkdir mailnews/extensions/enigmail @@ -288,6 +295,9 @@ cd %{tarballdir} #=============================================================================== %changelog +* Wed Dec 21 2011 Remi Collet 1.3.4-1 +- Enigmail 1.3.4 for Thunderbird 9.0 + * Sat Nov 12 2011 Remi Collet 1.3.3-1 - Enigmail 1.3.3 for Thunderbird 8.0 diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig index 6745396..552f532 100644 --- a/thunderbird-mozconfig +++ b/thunderbird-mozconfig @@ -29,8 +29,9 @@ ac_add_options --enable-system-hunspell ac_add_options --disable-crashreporter ac_add_options --disable-necko-wifi ac_add_options --disable-updater -#ac_add_options --enable-static ac_add_options --enable-startup-notification +ac_add_options --enable-gio +ac_add_options --disable-gnomevfs export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 diff --git a/xulrunner-6.0-secondary-ipc.patch b/xulrunner-6.0-secondary-ipc.patch deleted file mode 100644 index ed09f25..0000000 --- a/xulrunner-6.0-secondary-ipc.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff -up xulrunner-6.0/mozilla-release/ipc/chromium/src/base/data_pack.cc.secondary-ipc xulrunner-6.0/mozilla-release/ipc/chromium/src/base/data_pack.cc ---- xulrunner-6.0/mozilla-release/ipc/chromium/src/base/data_pack.cc.secondary-ipc 2011-08-11 23:41:01.000000000 +0200 -+++ xulrunner-6.0/mozilla-release/ipc/chromium/src/base/data_pack.cc 2011-08-16 10:05:26.325449386 +0200 -@@ -91,14 +91,7 @@ bool DataPack::Load(const FilePath& path - bool DataPack::Get(uint32_t resource_id, StringPiece* data) { - // It won't be hard to make this endian-agnostic, but it's not worth - // bothering to do right now. --#if defined(__BYTE_ORDER) -- // Linux check -- COMPILE_ASSERT(__BYTE_ORDER == __LITTLE_ENDIAN, -- datapack_assumes_little_endian); --#elif defined(__BIG_ENDIAN__) -- // Mac check -- #error DataPack assumes little endian --#endif -+#warning DoTheRightThingMakingThisEndianAgnostic! - - DataPackEntry* target = reinterpret_cast( - bsearch(&resource_id, mmap_->data() + kHeaderLength, resource_count_, -diff -up xulrunner-6.0/mozilla-release/ipc/chromium/src/build/build_config.h.secondary-ipc xulrunner-6.0/mozilla-release/ipc/chromium/src/build/build_config.h ---- xulrunner-6.0/mozilla-release/ipc/chromium/src/build/build_config.h.secondary-ipc 2011-08-11 23:41:01.000000000 +0200 -+++ xulrunner-6.0/mozilla-release/ipc/chromium/src/build/build_config.h 2011-08-16 10:07:23.093899409 +0200 -@@ -57,9 +57,24 @@ - #define ARCH_CPU_ARMEL 1 - #define ARCH_CPU_32_BITS 1 - #define WCHAR_T_IS_UNSIGNED 1 -+#elif defined(__powerpc64__) -+#define ARCH_CPU_PPC64 1 -+#define ARCH_CPU_64_BITS 1 - #elif defined(__ppc__) || defined(__powerpc__) - #define ARCH_CPU_PPC 1 - #define ARCH_CPU_32_BITS 1 -+#elif defined(__s390x__) -+#define ARCH_CPU_S390X 1 -+#define ARCH_CPU_64_BITS 1 -+#elif defined(__s390__) -+#define ARCH_CPU_S390 1 -+#define ARCH_CPU_32_BITS 1 -+#elif defined(__sparc__) && !defined(__arch64) -+#define ARCH_CPU_SPARC 1 -+#define ARCH_CPU_32_BITS 1 -+#elif defined(__sparc__) && defined(__arch64) -+#define ARCH_CPU_SPARC64 1 -+#define ARCH_CPU_64_BITS 1 - #else - #error Please add support for your architecture in build/build_config.h - #endif -diff -up xulrunner-6.0/mozilla-release/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc xulrunner-6.0/mozilla-release/ipc/chromium/src/chrome/common/ipc_message_utils.h ---- xulrunner-6.0/mozilla-release/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc 2011-08-11 23:41:01.000000000 +0200 -+++ xulrunner-6.0/mozilla-release/ipc/chromium/src/chrome/common/ipc_message_utils.h 2011-08-16 10:05:26.326449206 +0200 -@@ -219,7 +219,8 @@ struct ParamTraits { - } - }; - --#if !(defined(OS_MACOSX) || defined(OS_WIN) || (defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && defined(ARCH_CPU_64_BITS))) -+// Although s390 is a 32-bit system it defines size_t as unsigned long -+#if !(defined(OS_MACOSX) || defined(OS_WIN) || (defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && (defined(ARCH_CPU_64_BITS) || defined(ARCH_CPU_S390)))) - // There size_t is a synonym for |unsigned long| ... - template <> - struct ParamTraits { diff --git a/xulrunner-9.0-secondary-ipc.patch b/xulrunner-9.0-secondary-ipc.patch new file mode 100644 index 0000000..40ecfd5 --- /dev/null +++ b/xulrunner-9.0-secondary-ipc.patch @@ -0,0 +1,60 @@ +diff -up xulrunner-9.0/mozilla-beta/ipc/chromium/src/base/data_pack.cc.secondary-ipc xulrunner-9.0/mozilla-beta/ipc/chromium/src/base/data_pack.cc +--- xulrunner-9.0/mozilla-beta/ipc/chromium/src/base/data_pack.cc.secondary-ipc 2011-12-07 07:27:43.000000000 +0100 ++++ xulrunner-9.0/mozilla-beta/ipc/chromium/src/base/data_pack.cc 2011-12-09 14:35:50.397220865 +0100 +@@ -91,14 +91,7 @@ bool DataPack::Load(const FilePath& path + bool DataPack::Get(uint32_t resource_id, StringPiece* data) { + // It won't be hard to make this endian-agnostic, but it's not worth + // bothering to do right now. +-#if defined(__BYTE_ORDER) +- // Linux check +- COMPILE_ASSERT(__BYTE_ORDER == __LITTLE_ENDIAN, +- datapack_assumes_little_endian); +-#elif defined(__BIG_ENDIAN__) +- // Mac check +- #error DataPack assumes little endian +-#endif ++#warning DoTheRightThingMakingThisEndianAgnostic! + + DataPackEntry* target = reinterpret_cast( + bsearch(&resource_id, mmap_->data() + kHeaderLength, resource_count_, +diff -up xulrunner-9.0/mozilla-beta/ipc/chromium/src/build/build_config.h.secondary-ipc xulrunner-9.0/mozilla-beta/ipc/chromium/src/build/build_config.h +--- xulrunner-9.0/mozilla-beta/ipc/chromium/src/build/build_config.h.secondary-ipc 2011-12-07 07:27:43.000000000 +0100 ++++ xulrunner-9.0/mozilla-beta/ipc/chromium/src/build/build_config.h 2011-12-09 14:39:44.922231601 +0100 +@@ -59,11 +59,23 @@ + #define ARCH_CPU_ARMEL 1 + #define ARCH_CPU_32_BITS 1 + #define WCHAR_T_IS_UNSIGNED 1 ++#elif defined(__powerpc64__) ++#define ARCH_CPU_PPC64 1 ++#define ARCH_CPU_64_BITS 1 + #elif defined(__ppc__) || defined(__powerpc__) + #define ARCH_CPU_PPC 1 + #define ARCH_CPU_32_BITS 1 +-#elif defined(__sparc64__) ++#elif defined(__s390x__) ++#define ARCH_CPU_S390X 1 ++#define ARCH_CPU_64_BITS 1 ++#elif defined(__s390__) ++#define ARCH_CPU_S390 1 ++#define ARCH_CPU_32_BITS 1 ++#elif defined(__sparc__) && !defined(__arch64) + #define ARCH_CPU_SPARC 1 ++#define ARCH_CPU_32_BITS 1 ++#elif defined(__sparc__) && defined(__arch64) ++#define ARCH_CPU_SPARC64 1 + #define ARCH_CPU_64_BITS 1 + #else + #error Please add support for your architecture in build/build_config.h +diff -up xulrunner-9.0/mozilla-beta/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc xulrunner-9.0/mozilla-beta/ipc/chromium/src/chrome/common/ipc_message_utils.h +--- xulrunner-9.0/mozilla-beta/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc 2011-12-07 07:27:43.000000000 +0100 ++++ xulrunner-9.0/mozilla-beta/ipc/chromium/src/chrome/common/ipc_message_utils.h 2011-12-09 14:40:59.602679278 +0100 +@@ -195,7 +195,8 @@ struct ParamTraits { + }; + #endif + +-#if !(defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_WIN) || (defined(OS_LINUX) && defined(ARCH_CPU_64_BITS))) ++// Although s390 is a 32-bit system it defines size_t as unsigned long ++#if !(defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_WIN) || (defined(OS_LINUX) && (defined(ARCH_CPU_64_BITS) || defined(ARCH_CPU_S390)))) + // There size_t is a synonym for |unsigned long| ... + template <> + struct ParamTraits { diff --git a/xulrunner-install.patch b/xulrunner-install.patch deleted file mode 100644 index c1393ef..0000000 --- a/xulrunner-install.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up comm-release/mozilla/toolkit/mozapps/installer/packager.mk.install comm-release/mozilla/toolkit/mozapps/installer/packager.mk ---- comm-release/mozilla/toolkit/mozapps/installer/packager.mk.install 2011-11-05 10:21:10.000000000 +0100 -+++ comm-release/mozilla/toolkit/mozapps/installer/packager.mk 2011-11-08 18:48:08.674042803 +0100 -@@ -401,7 +401,7 @@ PRECOMPILE_GRE=$$PWD - endif - - GENERATE_CACHE = \ -- $(_ABS_RUN_TEST_PROGRAM) $(LIBXUL_DIST)/bin/xpcshell$(BIN_SUFFIX) -g "$(PRECOMPILE_GRE)" -a "$$PWD" -f $(MOZILLA_DIR)/toolkit/mozapps/installer/precompile_cache.js -e "populate_startupcache('$(PRECOMPILE_DIR)', 'omni.jar', 'startupCache.zip');" && \ -+ $(_ABS_RUN_TEST_PROGRAM) $(LIBXUL_DIST)/bin/xpcshell$(BIN_SUFFIX) -g "$(PRECOMPILE_GRE)" -a "$$PWD" -f $(call core_abspath,$(MOZILLA_DIR)/toolkit/mozapps/installer/precompile_cache.js) -e "populate_startupcache('$(PRECOMPILE_DIR)', 'omni.jar', 'startupCache.zip');" && \ - rm -rf jsloader && \ - $(UNZIP) startupCache.zip && \ - rm startupCache.zip && \ -- cgit