summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2012-01-31 17:53:51 +0100
committerRemi Collet <fedora@famillecollet.com>2012-01-31 17:53:51 +0100
commit1b118c49eeaed60571788022f462194e91924dc0 (patch)
tree9a912271b9665855fed145a667cba6ad991a62ab
parente1e079806989cd1d7ee5c696b2cc88dc0ee6c9a3 (diff)
Enigmail 1.3.5 for Thunderbird 10.0
-rw-r--r--enigmail-rdf.patch17
-rw-r--r--mozilla-670719.patch53
-rw-r--r--mozilla-696393.patch133
-rw-r--r--mozilla-build-s390.patch11
-rw-r--r--thunderbird-enigmail.spec40
-rw-r--r--xulrunner-10.0-gcc47.patch25
-rw-r--r--xulrunner-10.0-secondary-ipc.patch36
-rw-r--r--xulrunner-2.0-NetworkManager09.patch51
-rw-r--r--xulrunner-2.0-network-link-service.patch274
-rw-r--r--xulrunner-9.0-secondary-build-fix.patch11
-rw-r--r--xulrunner-9.0-secondary-ipc.patch60
11 files changed, 98 insertions, 613 deletions
diff --git a/enigmail-rdf.patch b/enigmail-rdf.patch
deleted file mode 100644
index f886158..0000000
--- a/enigmail-rdf.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- enigmail/package/install.rdf.orig 2011-08-13 18:08:54.000000000 +0200
-+++ enigmail/package/install.rdf 2011-08-17 14:53:43.454176196 +0200
-@@ -27,14 +27,6 @@
- <em:maxVersion>2.3.*</em:maxVersion>
- </Description>
- </em:targetApplication>
-- <!-- em:targetApplication>
-- < ! - - Spicebird - - >
-- <Description>
-- <em:id>{ee53ece0-255c-4cc6-8a7e-81a8b6e5ba2c}</em:id>
-- <em:minVersion>0.7</em:minVersion>
-- <em:maxVersion>0.8</em:maxVersion>
-- </Description>
-- </em:targetApplication -->
-
- <!-- targetPlatform placeholder -->
-
diff --git a/mozilla-670719.patch b/mozilla-670719.patch
deleted file mode 100644
index afae907..0000000
--- a/mozilla-670719.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-# HG changeset patch
-# User Mike Hommey <mh+mozilla@glandium.org>
-# Date 1313846520 -7200
-# Node ID fdc3b63938f5a76d99c1e2bb12fd448465debc94
-# Parent 07a5a618ebe3f67b23100ceb1b51e92bb79be0cd
-Bug 670719 - Only add -DENABLE_JIT=1 to CXXFLAGS if any of trace/method/yarr jit is enabled.
-
-diff --git a/js/src/Makefile.in b/js/src/Makefile.in
---- a/js/src/Makefile.in
-+++ b/js/src/Makefile.in
-@@ -433,16 +433,19 @@ CPPSRCS += \
- YarrPattern.cpp \
- YarrSyntaxChecker.cpp \
- $(NULL)
- else
-
- ###############################################
- # BEGIN include sources for the Nitro assembler
- #
-+
-+ENABLE_YARR_JIT = 1
-+
- VPATH += $(srcdir)/assembler \
- $(srcdir)/assembler/wtf \
- $(srcdir)/assembler/jit \
- $(srcdir)/assembler/assembler \
- $(srcdir)/methodjit \
- $(srcdir)/yarr \
- $(NONE)
-
-@@ -1070,17 +1073,21 @@ endif
-
- ###############################################
- # BEGIN kludges for the Nitro assembler
- #
-
- # Needed to "configure" it correctly. Unfortunately these
- # flags wind up being applied to all code in js/src, not just
- # the code in js/src/assembler.
--CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1
-+CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1
-+
-+ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_TRACEJIT)$(ENABLE_METHODJIT))
-+CXXFLAGS += -DENABLE_JIT=1
-+endif
-
- INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
-
- ifdef ENABLE_METHODJIT
- # Build a standalone test program that exercises the assembler
- # sources a bit.
- TESTMAIN_OBJS = \
- Assertions.$(OBJ_SUFFIX) \
diff --git a/mozilla-696393.patch b/mozilla-696393.patch
deleted file mode 100644
index 8859d97..0000000
--- a/mozilla-696393.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-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<vtable_func **>(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<PRUint32 *>(__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<double *>(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<vtable_func **>(that);
-+ vtable_func method = vtable[methodIndex];
- PRUint64 overflow = invoke_count_words (paramCount, params);
-+ PRUint64 *stack_space = reinterpret_cast<PRUint64 *>(__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<double *>(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/mozilla-build-s390.patch b/mozilla-build-s390.patch
deleted file mode 100644
index 2bfe1d5..0000000
--- a/mozilla-build-s390.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up mozilla-1.9.2/js/src/jstl.h.s390 mozilla-1.9.2/js/src/jstl.h
---- mozilla-1.9.2/js/src/jstl.h.s390 2011-02-18 19:33:24.000000000 +0100
-+++ mozilla-1.9.2/js/src/jstl.h 2011-03-07 08:41:29.000000000 +0100
-@@ -195,7 +195,6 @@ class ReentrancyGuard
- JS_ALWAYS_INLINE size_t
- RoundUpPow2(size_t x)
- {
-- typedef tl::StaticAssert<tl::IsSameType<size_t,JSUword>::result>::result _;
- size_t log2 = JS_CEILING_LOG2W(x);
- JS_ASSERT(log2 < tl::BitSize<size_t>::result);
- size_t result = size_t(1) << log2;
diff --git a/thunderbird-enigmail.spec b/thunderbird-enigmail.spec
index ce533e0..8180637 100644
--- a/thunderbird-enigmail.spec
+++ b/thunderbird-enigmail.spec
@@ -14,7 +14,8 @@
%define system_sqlite 1
%endif
-%global thunver 9.0
+%global thunver 10.0
+%global thunmax 11.0
# The tarball is pretty inconsistent with directory structure.
# Sometimes there is a top level directory. That goes here.
@@ -32,7 +33,7 @@
Summary: Authentication and encryption extension for Mozilla Thunderbird
Name: thunderbird-enigmail
-Version: 1.3.4
+Version: 1.3.5
%if 0%{?prever:1}
Release: 0.1.%{prever}%{?dist}
%else
@@ -65,12 +66,12 @@ Source101: enigmail-fixlang.php
# Mozilla (XULRunner) patches
Patch0: thunderbird-install-dir.patch
Patch7: crashreporter-remove-static.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
+Patch8: xulrunner-10.0-secondary-ipc.patch
+# # cherry-picked from 13afcd4c097c
+Patch13: xulrunner-9.0-secondary-build-fix.patch
# Build patches
+Patch100: xulrunner-10.0-gcc47.patch
# Linux specific
Patch200: thunderbird-8.0-enable-addons.patch
@@ -90,7 +91,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
BuildRequires: nspr-devel >= %{nspr_version}
%endif
-%if 0%{?fedora} >= 17
+%if 0%{?fedora} >= 15
BuildRequires: nss-devel >= %{nss_version}
%endif
%if 0%{?fedora} >= 15
@@ -135,7 +136,9 @@ BuildRequires: dos2unix, php-cli
# because provided by xulrunner).
AutoReq: 0
# All others deps already required by thunderbird
-Requires: gnupg, thunderbird >= %{thunver}
+Requires: gnupg
+Requires: thunderbird >= %{thunver}
+Requires: thunderbird < %{thunmax}
# Nothing usefull provided
AutoProv: 0
@@ -156,10 +159,11 @@ cd %{tarballdir}
# Mozilla (XULRunner) patches
cd mozilla
%patch7 -p2 -b .static
-%patch8 -p2 -b .secondary-ipc
-%patch10 -p1 -b .link-service
-%patch11 -p1 -b .NetworkManager09
-%patch12 -p2 -b .696393
+%patch8 -p3 -b .secondary-ipc
+%patch13 -p2 -b .secondary-build
+%if 0%{?fedora} >= 17
+%patch100 -p1 -b .gcc47
+%endif
cd ..
%patch200 -p1 -b .addons
@@ -175,7 +179,7 @@ cd ..
%{__rm} -f .mozconfig
cat %{SOURCE10} \
-%if 0%{?fedora} < 17
+%if 0%{?fedora} < 15
| grep -v system-nss \
%endif
%if 0%{?fedora} < 14 && 0%{?rhel} < 6
@@ -194,6 +198,11 @@ echo "ac_add_options --disable-libjpeg-turbo" >> .mozconfig
%{__cat} %{SOURCE11} >> .mozconfig
%endif
+# s390(x) fails to start with jemalloc enabled
+%ifarch s390 s390x
+echo "ac_add_options --disable-jemalloc" >> .mozconfig
+%endif
+
%if %{?system_sqlite}
echo "ac_add_options --enable-system-sqlite" >> .mozconfig
%else
@@ -212,7 +221,7 @@ pushd mailnews/extensions/enigmail
# All tarballs (as well as CVS) will *always* report as 1.4a1pre (or whatever
# the next major version would be). This is because I create builds from trunk
# and simply label the result as 1.3.x.
-sed -i -e '/em:version/s/1.4a1pre/%{version}/' package/install.rdf
+# sed -i -e '/em:version/s/1.4a1pre/%{version}/' package/install.rdf
grep '<em:version>%{version}</em:version>' package/install.rdf || exit 1
# Apply Enigmail patch here
popd
@@ -295,6 +304,9 @@ cd %{tarballdir}
#===============================================================================
%changelog
+* Tue Jan 31 2012 Remi Collet <remi@fedoraproject.org> 1.3.5-1
+- Enigmail 1.3.5 for Thunderbird 10.0
+
* Wed Dec 21 2011 Remi Collet <remi@fedoraproject.org> 1.3.4-1
- Enigmail 1.3.4 for Thunderbird 9.0
diff --git a/xulrunner-10.0-gcc47.patch b/xulrunner-10.0-gcc47.patch
new file mode 100644
index 0000000..91a948a
--- /dev/null
+++ b/xulrunner-10.0-gcc47.patch
@@ -0,0 +1,25 @@
+diff -up mozilla-beta/ipc/chromium/src/base/time_posix.cc.gcc47 mozilla-beta/ipc/chromium/src/base/time_posix.cc
+--- mozilla-beta/ipc/chromium/src/base/time_posix.cc.gcc47 2012-01-24 03:00:00.000000000 -0500
++++ mozilla-beta/ipc/chromium/src/base/time_posix.cc 2012-01-30 14:12:49.198472212 -0500
+@@ -14,6 +14,8 @@
+ #include <time.h>
+ #endif
+
++#include <unistd.h>
++
+ #include <limits>
+
+ #include "base/basictypes.h"
+diff -up mozilla-beta/toolkit/crashreporter/client/Makefile.in.gcc47 mozilla-beta/toolkit/crashreporter/client/Makefile.in
+--- mozilla-beta/toolkit/crashreporter/client/Makefile.in.gcc47 2012-01-30 14:41:14.475441039 -0500
++++ mozilla-beta/toolkit/crashreporter/client/Makefile.in 2012-01-30 14:43:03.587646656 -0500
+@@ -69,6 +69,9 @@ CPPSRCS = \
+ $(STDCXX_COMPAT) \
+ $(NULL)
+
++# Needed for moz_free
++LIBS += -L$(LIBXUL_DIST)/lib -lmozalloc
++
+ ifeq ($(OS_ARCH),WINNT)
+ CPPSRCS += crashreporter_win.cpp
+ LIBS += \
diff --git a/xulrunner-10.0-secondary-ipc.patch b/xulrunner-10.0-secondary-ipc.patch
new file mode 100644
index 0000000..67ee863
--- /dev/null
+++ b/xulrunner-10.0-secondary-ipc.patch
@@ -0,0 +1,36 @@
+diff -up thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/base/data_pack.cc.secondary-ipc thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/base/data_pack.cc
+--- thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/base/data_pack.cc.secondary-ipc 2012-01-29 15:44:23.000000000 +0100
++++ thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/base/data_pack.cc 2012-01-31 10:45:57.784248018 +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<DataPackEntry*>(
+ bsearch(&resource_id, mmap_->data() + kHeaderLength, resource_count_,
+diff -up thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/build/build_config.h.secondary-ipc thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/build/build_config.h
+--- thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/build/build_config.h.secondary-ipc 2012-01-29 15:44:23.000000000 +0100
++++ thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/build/build_config.h 2012-01-31 10:53:24.409935119 +0100
+@@ -65,10 +65,10 @@
+ #elif defined(__ppc__) || defined(__powerpc__)
+ #define ARCH_CPU_PPC 1
+ #define ARCH_CPU_32_BITS 1
+-#elif defined(__sparc64__)
++#elif defined(__sparc__) && !defined(__arch64)
+ #define ARCH_CPU_SPARC 1
+ #define ARCH_CPU_64_BITS 1
+-#elif defined(__sparc__)
++#elif defined(__sparc__) && defined(__arch64)
+ #define ARCH_CPU_SPARC 1
+ #define ARCH_CPU_32_BITS 1
+ #elif defined(__mips__)
+diff -up thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h.secondary-ipc thunderbird-10.0/comm-release/mozilla/ipc/chromium/src/chrome/common/ipc_message_utils.h
diff --git a/xulrunner-2.0-NetworkManager09.patch b/xulrunner-2.0-NetworkManager09.patch
deleted file mode 100644
index 317a1b4..0000000
--- a/xulrunner-2.0-NetworkManager09.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-https://bugzilla.mozilla.org/show_bug.cgi?id=639959
-
---- source/toolkit/system/dbus/nsNetworkManagerListener.cpp.foo 2011-03-08 14:26:28.167074923 -0600
-+++ source/toolkit/system/dbus/nsNetworkManagerListener.cpp 2011-03-08 14:30:54.260748294 -0600
-@@ -51,15 +51,13 @@
- #define NM_DBUS_SERVICE "org.freedesktop.NetworkManager"
- #define NM_DBUS_PATH "/org/freedesktop/NetworkManager"
- #define NM_DBUS_INTERFACE "org.freedesktop.NetworkManager"
--#define NM_DBUS_SIGNAL_STATE_CHANGE "StateChange"
--typedef enum NMState
--{
-- NM_STATE_UNKNOWN = 0,
-- NM_STATE_ASLEEP,
-- NM_STATE_CONNECTING,
-- NM_STATE_CONNECTED,
-- NM_STATE_DISCONNECTED
--} NMState;
-+#define NM_DBUS_SIGNAL_STATE_CHANGE "StateChange" /* Deprecated in 0.7.x */
-+#define NM_DBUS_SIGNAL_STATE_CHANGED "StateChanged"
-+
-+#define NM_STATE_CONNECTED_OLD 3
-+#define NM_STATE_CONNECTED_LOCAL 50
-+#define NM_STATE_CONNECTED_SITE 60
-+#define NM_STATE_CONNECTED_GLOBAL 70
-
- nsNetworkManagerListener::nsNetworkManagerListener() :
- mLinkUp(PR_TRUE), mNetworkManagerActive(PR_FALSE),
-@@ -174,7 +172,9 @@
- PRBool
- nsNetworkManagerListener::HandleMessage(DBusMessage* message) {
- if (dbus_message_is_signal(message, NM_DBUS_INTERFACE,
-- NM_DBUS_SIGNAL_STATE_CHANGE)) {
-+ NM_DBUS_SIGNAL_STATE_CHANGE) ||
-+ dbus_message_is_signal(message, NM_DBUS_INTERFACE,
-+ NM_DBUS_SIGNAL_STATE_CHANGED)) {
- UpdateNetworkStatus(message);
- return PR_TRUE;
- }
-@@ -191,7 +191,10 @@
- mNetworkManagerActive = PR_TRUE;
-
- PRBool wasUp = mLinkUp;
-- mLinkUp = result == NM_STATE_CONNECTED;
-+ mLinkUp = (result == NM_STATE_CONNECTED_OLD) ||
-+ (result == NM_STATE_CONNECTED_LOCAL) ||
-+ (result == NM_STATE_CONNECTED_SITE) ||
-+ (result == NM_STATE_CONNECTED_GLOBAL);
- if (wasUp == mLinkUp)
- return;
-
-
diff --git a/xulrunner-2.0-network-link-service.patch b/xulrunner-2.0-network-link-service.patch
deleted file mode 100644
index b3243a9..0000000
--- a/xulrunner-2.0-network-link-service.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-# HG changeset patch
-# Parent 31879b88cc82c1f44e6a6c25a05aa2c70af22d7e
-# User Martin Stransky <stransky@redhat.com>
-Bug 627672 - XPCOM component (libdbusservice.so) is not registered although it should be; r=cbiesinger
-
-
-
-diff --git a/netwerk/base/src/nsIOService.cpp b/netwerk/base/src/nsIOService.cpp
---- a/netwerk/base/src/nsIOService.cpp
-+++ b/netwerk/base/src/nsIOService.cpp
-@@ -160,31 +160,33 @@ PRInt16 gBadPortList[] = {
- 2049, // nfs
- 4045, // lockd
- 6000, // x11
- 0, // This MUST be zero so that we can populating the array
- };
-
- static const char kProfileChangeNetTeardownTopic[] = "profile-change-net-teardown";
- static const char kProfileChangeNetRestoreTopic[] = "profile-change-net-restore";
-+static const char kStartupTopic[] = "profile-after-change";
-
- // Necko buffer cache
- nsIMemory* nsIOService::gBufferCache = nsnull;
- PRUint32 nsIOService::gDefaultSegmentSize = 4096;
- PRUint32 nsIOService::gDefaultSegmentCount = 24;
-
- ////////////////////////////////////////////////////////////////////////////////
-
- nsIOService::nsIOService()
- : mOffline(PR_TRUE)
- , mOfflineForProfileChange(PR_FALSE)
- , mManageOfflineStatus(PR_TRUE)
- , mSettingOffline(PR_FALSE)
- , mSetOfflineValue(PR_FALSE)
- , mShutdown(PR_FALSE)
-+ , mNetworkLinkServiceInitialized(PR_FALSE)
- , mChannelEventSinks(NS_CHANNEL_EVENT_SINK_CATEGORY)
- , mContentSniffers(NS_CONTENT_SNIFFER_CATEGORY)
- , mAutoDialEnabled(PR_FALSE)
- {
- }
-
- nsresult
- nsIOService::Init()
-@@ -230,16 +232,17 @@ nsIOService::Init()
- }
-
- // Register for profile change notifications
- nsCOMPtr<nsIObserverService> observerService =
- mozilla::services::GetObserverService();
- if (observerService) {
- observerService->AddObserver(this, kProfileChangeNetTeardownTopic, PR_TRUE);
- observerService->AddObserver(this, kProfileChangeNetRestoreTopic, PR_TRUE);
-+ observerService->AddObserver(this, kStartupTopic, PR_TRUE);
- observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, PR_TRUE);
- observerService->AddObserver(this, NS_NETWORK_LINK_TOPIC, PR_TRUE);
- }
- else
- NS_WARNING("failed to get observer service");
-
- NS_TIME_FUNCTION_MARK("Registered observers");
-
-@@ -258,29 +261,19 @@ nsIOService::Init()
- NS_WARN_IF_FALSE(NS_SUCCEEDED(rv), "Was unable to allocate. No gBufferCache.");
- CallQueryInterface(recyclingAllocator, &gBufferCache);
- }
-
- NS_TIME_FUNCTION_MARK("Set up the recycling allocator");
-
- gIOService = this;
-
-- // go into managed mode if we can, and chrome process
-- if (XRE_GetProcessType() == GeckoProcessType_Default)
-- mNetworkLinkService = do_GetService(NS_NETWORK_LINK_SERVICE_CONTRACTID);
--
-- if (!mNetworkLinkService)
-- // We can't really determine if the machine has a usable network connection,
-- // so let's cross our fingers!
-- mManageOfflineStatus = PR_FALSE;
--
-- if (mManageOfflineStatus)
-- TrackNetworkLinkStatusForOffline();
-- else
-- SetOffline(PR_FALSE);
-+ // We can't really determine if the machine has a usable network connection,
-+ // (mNetworkLinkService will be initialized later) so let's cross our fingers!
-+ SetOffline(PR_FALSE);
-
- NS_TIME_FUNCTION_MARK("Set up network link service");
-
- return NS_OK;
- }
-
-
- nsIOService::~nsIOService()
-@@ -306,16 +299,57 @@ nsIOService::InitializeSocketTransportSe
- rv = mSocketTransportService->Init();
- NS_ASSERTION(NS_SUCCEEDED(rv), "socket transport service init failed");
- mSocketTransportService->SetAutodialEnabled(mAutoDialEnabled);
- }
-
- return rv;
- }
-
-+nsresult
-+nsIOService::InitializeNetworkLinkService()
-+{
-+ NS_TIME_FUNCTION;
-+
-+ nsresult rv = NS_OK;
-+
-+ if (mNetworkLinkServiceInitialized)
-+ return rv;
-+
-+#if defined(MOZ_PLATFORM_MAEMO)
-+ // libdbusservice fails to initialize on Maemo platform, see Bug 627672
-+ mNetworkLinkService = NULL;
-+#else
-+ // go into managed mode if we can, and chrome process
-+ if (XRE_GetProcessType() == GeckoProcessType_Default)
-+ {
-+ mNetworkLinkService = do_GetService(NS_NETWORK_LINK_SERVICE_CONTRACTID, &rv);
-+ if (NS_FAILED(rv)) {
-+ NS_WARNING("failed to get network link service");
-+ return rv;
-+ }
-+ }
-+#endif
-+
-+ mNetworkLinkServiceInitialized = PR_TRUE;
-+
-+ if (!mNetworkLinkService) {
-+ // We can't really determine if the machine has a usable network connection,
-+ // so let's cross our fingers!
-+ mManageOfflineStatus = PR_FALSE;
-+ }
-+
-+ if (mManageOfflineStatus)
-+ TrackNetworkLinkStatusForOffline();
-+ else
-+ SetOffline(PR_FALSE);
-+
-+ return rv;
-+}
-+
- nsIOService*
- nsIOService::GetInstance() {
- if (!gIOService) {
- gIOService = new nsIOService();
- if (!gIOService)
- return nsnull;
- NS_ADDREF(gIOService);
-
-@@ -689,16 +723,19 @@ nsIOService::NewChannel(const nsACString
- if (NS_FAILED(rv)) return rv;
-
- return NewChannelFromURI(uri, result);
- }
-
- PRBool
- nsIOService::IsLinkUp()
- {
-+ NS_ASSERTION(mNetworkLinkServiceInitialized,
-+ "network link service should be initialized");
-+
- if (!mNetworkLinkService) {
- // We cannot decide, assume the link is up
- return PR_TRUE;
- }
-
- PRBool isLinkUp;
- nsresult rv;
- rv = mNetworkLinkService->GetIsLinkUp(&isLinkUp);
-@@ -968,16 +1005,20 @@ nsIOService::Observe(nsISupports *subjec
- if (mOfflineForProfileChange) {
- mOfflineForProfileChange = PR_FALSE;
- if (!mManageOfflineStatus ||
- NS_FAILED(TrackNetworkLinkStatusForOffline())) {
- SetOffline(PR_FALSE);
- }
- }
- }
-+ else if (!strcmp(topic, kStartupTopic)) {
-+ // Lazy initialization of network link service (see bug 620472)
-+ InitializeNetworkLinkService();
-+ }
- else if (!strcmp(topic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) {
- // Remember we passed XPCOM shutdown notification to prevent any
- // changes of the offline status from now. We must not allow going
- // online after this point.
- mShutdown = PR_TRUE;
-
- SetOffline(PR_TRUE);
-
-@@ -1085,32 +1126,40 @@ nsIOService::NewSimpleNestedURI(nsIURI*
- NS_IF_ADDREF(*aResult = new nsSimpleNestedURI(safeURI));
- return *aResult ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
- }
-
- NS_IMETHODIMP
- nsIOService::SetManageOfflineStatus(PRBool aManage) {
- PRBool wasManaged = mManageOfflineStatus;
- mManageOfflineStatus = aManage;
-+
-+ if (!mNetworkLinkServiceInitialized) {
-+ InitializeNetworkLinkService();
-+ }
-+
- if (mManageOfflineStatus && !wasManaged)
- return TrackNetworkLinkStatusForOffline();
- return NS_OK;
- }
-
- NS_IMETHODIMP
- nsIOService::GetManageOfflineStatus(PRBool* aManage) {
- *aManage = mManageOfflineStatus;
- return NS_OK;
- }
-
- nsresult
- nsIOService::TrackNetworkLinkStatusForOffline()
- {
- NS_ASSERTION(mManageOfflineStatus,
- "Don't call this unless we're managing the offline status");
-+ NS_ASSERTION(mNetworkLinkServiceInitialized,
-+ "network link service should be set up");
-+
- if (!mNetworkLinkService)
- return NS_ERROR_FAILURE;
-
- if (mShutdown)
- return NS_ERROR_NOT_AVAILABLE;
-
- // check to make sure this won't collide with Autodial
- if (mSocketTransportService) {
-diff --git a/netwerk/base/src/nsIOService.h b/netwerk/base/src/nsIOService.h
---- a/netwerk/base/src/nsIOService.h
-+++ b/netwerk/base/src/nsIOService.h
-@@ -129,16 +129,17 @@ private:
- nsIProtocolHandler* hdlr);
-
- // Prefs wrangling
- NS_HIDDEN_(void) PrefsChanged(nsIPrefBranch *prefs, const char *pref = nsnull);
- NS_HIDDEN_(void) GetPrefBranch(nsIPrefBranch2 **);
- NS_HIDDEN_(void) ParsePortList(nsIPrefBranch *prefBranch, const char *pref, PRBool remove);
-
- nsresult InitializeSocketTransportService();
-+ nsresult InitializeNetworkLinkService();
-
- private:
- PRPackedBool mOffline;
- PRPackedBool mOfflineForProfileChange;
- PRPackedBool mManageOfflineStatus;
-
- // Used to handle SetOffline() reentrancy. See the comment in
- // SetOffline() for more details.
-@@ -146,16 +147,17 @@ private:
- PRPackedBool mSetOfflineValue;
-
- PRPackedBool mShutdown;
-
- nsCOMPtr<nsPISocketTransportService> mSocketTransportService;
- nsCOMPtr<nsPIDNSService> mDNSService;
- nsCOMPtr<nsIProtocolProxyService2> mProxyService;
- nsCOMPtr<nsINetworkLinkService> mNetworkLinkService;
-+ PRPackedBool mNetworkLinkServiceInitialized;
-
- // Cached protocol handlers
- nsWeakPtr mWeakHandler[NS_N(gScheme)];
-
- // cached categories
- nsCategoryCache<nsIChannelEventSink> mChannelEventSinks;
- nsCategoryCache<nsIContentSniffer> mContentSniffers;
-
diff --git a/xulrunner-9.0-secondary-build-fix.patch b/xulrunner-9.0-secondary-build-fix.patch
new file mode 100644
index 0000000..fc1c1db
--- /dev/null
+++ b/xulrunner-9.0-secondary-build-fix.patch
@@ -0,0 +1,11 @@
+diff -up xulrunner-9.0.1/mozilla-release/js/src/jscompartment.cpp.orig xulrunner-9.0.1/mozilla-release/js/src/jscompartment.cpp
+--- xulrunner-9.0.1/mozilla-release/js/src/jscompartment.cpp.orig 2012-01-04 11:06:39.000000000 +0100
++++ xulrunner-9.0.1/mozilla-release/js/src/jscompartment.cpp 2012-01-04 11:06:43.000000000 +0100
+@@ -50,7 +50,6 @@
+ #include "jswatchpoint.h"
+ #include "jswrapper.h"
+ #include "assembler/wtf/Platform.h"
+-#include "assembler/jit/ExecutableAllocator.h"
+ #include "yarr/BumpPointerAllocator.h"
+ #include "methodjit/MethodJIT.h"
+ #include "methodjit/PolyIC.h"
diff --git a/xulrunner-9.0-secondary-ipc.patch b/xulrunner-9.0-secondary-ipc.patch
deleted file mode 100644
index 40ecfd5..0000000
--- a/xulrunner-9.0-secondary-ipc.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-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<DataPackEntry*>(
- 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<unsigned long long> {
- };
- #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<size_t> {