diff options
-rw-r--r-- | mozilla-670719.patch | 53 | ||||
-rw-r--r-- | mozilla-696393.patch | 133 | ||||
-rw-r--r-- | mozilla-build-s390.patch | 11 | ||||
-rw-r--r-- | mozilla-missing-cflags.patch | 9 | ||||
-rw-r--r-- | remove-static.patch | 11 | ||||
-rw-r--r-- | thunderbird.spec | 45 | ||||
-rw-r--r-- | xulrunner-2.0-NetworkManager09.patch | 51 | ||||
-rw-r--r-- | xulrunner-2.0-network-link-service.patch | 274 | ||||
-rw-r--r-- | xulrunner-9.0-secondary-ipc.patch | 60 |
9 files changed, 27 insertions, 620 deletions
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/mozilla-missing-cflags.patch b/mozilla-missing-cflags.patch deleted file mode 100644 index fcef959..0000000 --- a/mozilla-missing-cflags.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff -up comm-1.9.2/mozilla/toolkit/system/gnome/Makefile.in.mozcflags comm-1.9.2/mozilla/toolkit/system/gnome/Makefile.in ---- comm-1.9.2/mozilla/toolkit/system/gnome/Makefile.in.mozcflags 2010-07-26 12:52:38.000000000 +0200 -+++ comm-1.9.2/mozilla/toolkit/system/gnome/Makefile.in 2010-07-26 12:39:34.000000000 +0200 -@@ -93,4 +93,5 @@ CXXFLAGS += \ - $(MOZ_GNOMEVFS_CFLAGS) \ - $(GLIB_CFLAGS) \ - $(MOZ_LIBNOTIFY_CFLAGS) \ -+ $(MOZ_GTK2_CFLAGS) \ - $(NULL) diff --git a/remove-static.patch b/remove-static.patch deleted file mode 100644 index 9cc94fb..0000000 --- a/remove-static.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in.static comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in ---- comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in.static 2010-06-23 19:47:11.000000000 +0200 -+++ comm-1.9.2/mozilla/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in 2010-07-12 15:51:41.000000000 +0200 -@@ -64,6 +64,6 @@ FORCE_USE_PIC = 1 - - #XXX: bug 554854 causes us to be unable to run binaries on the build slaves - # due to them having an older libstdc++ --HOST_LDFLAGS += -static -+#HOST_LDFLAGS += -static - - include $(topsrcdir)/config/rules.mk diff --git a/thunderbird.spec b/thunderbird.spec index 56a595b..ca1ec55 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -1,5 +1,3 @@ -### TODO use system nss when 3.13.1 pushed to stable (f >= 15) - %define nspr_version 4.8.8 %define nss_version 3.13.1 %define cairo_version 1.10.0 @@ -31,7 +29,7 @@ Summary: Mozilla Thunderbird mail/newsgroup client Name: thunderbird -Version: 9.0 +Version: 10.0 Release: 1%{?dist} URL: http://www.mozilla.org/projects/thunderbird/ License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -43,7 +41,7 @@ Group: Applications/Internet %endif Source0: %{tarball} %if %{build_langpacks} -Source1: thunderbird-langpacks-%{version}-20111221.tar.bz2 +Source1: thunderbird-langpacks-%{version}-20120131.tar.bz2 %endif Source10: thunderbird-mozconfig @@ -57,12 +55,12 @@ Source100: find-external-requires # 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 @@ -79,7 +77,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 @@ -120,7 +118,7 @@ Requires: mozilla-filesystem %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6 Requires: nspr >= %{nspr_version} %endif -%if 0%{?fedora} >= 17 +%if 0%{?fedora} >= 15 Requires: nss >= %{nss_version} %endif %if %{?system_sqlite} @@ -171,10 +169,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 @@ -190,7 +189,7 @@ cd .. %{__rm} -f .mozconfig #{__cp} %{SOURCE10} .mozconfig cat %{SOURCE10} \ -%if 0%{?fedora} < 17 +%if 0%{?fedora} < 15 | grep -v system-nss \ %endif %if 0%{?fedora} < 14 && 0%{?rhel} < 6 @@ -212,6 +211,11 @@ echo "ac_add_options --disable-libjpeg-turbo" >> .mozconfig %{__cat} %{SOURCE13} >> .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 @@ -401,7 +405,7 @@ fi %{mozappdir}/components/binary.manifest %{mozappdir}/components/libdbusservice.so %{mozappdir}/components/libmozgnome.so -%{mozappdir}/omni.jar +%{mozappdir}/omni.ja %{mozappdir}/plugin-container %{mozappdir}/defaults %{mozappdir}/dictionaries @@ -427,7 +431,6 @@ fi %{_datadir}/icons/hicolor/256x256/apps/thunderbird.png %{_datadir}/icons/hicolor/32x32/apps/thunderbird.png %{_datadir}/icons/hicolor/48x48/apps/thunderbird.png -%{mozappdir}/hyphenation %if %{enable_mozilla_crashreporter} %{mozappdir}/crashreporter %{mozappdir}/crashreporter.ini @@ -437,11 +440,17 @@ fi %exclude %{_includedir}/%{name}-%{version} %exclude %{_libdir}/%{name}-devel-%{version} %{mozappdir}/chrome.manifest -%{mozappdir}/distribution/extensions +%{mozappdir}/searchplugins #=============================================================================== %changelog +* Tue Jan 31 2012 Remi Collet <rpms@famillecollet.com> 10.0-1 +- Thunderbird 10.0, sync with rawhide + +* Tue Jan 31 2012 Jan Horak <jhorak@redhat.com> - 10.0-1 +- Update to 10.0 + * Wed Dec 21 2011 Remi Collet <rpms@famillecollet.com> 9.0-1 - Thunderbird 9.0, sync with rawhide 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-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> { |