[thunderbird] Revert to 17.0.8

Jan Horak xhorak at fedoraproject.org
Mon Sep 23 08:08:51 UTC 2013


commit 88b9e56cf4fd6385ebcd995ad0237b35432e628e
Author: Jan Horak <jhorak at redhat.com>
Date:   Mon Sep 23 10:08:37 2013 +0200

    Revert to 17.0.8

 .gitignore                        |    2 -
 mozilla-746112.patch              |   86 +++++++++++++++++++++++++++++++++++++
 mozilla-791626.patch              |   46 ++++++++++++++++++++
 mozilla-build-arm.patch           |   12 -----
 rhbz-855923.patch                 |   19 ++++++++
 rhbz-966424.patch                 |    6 +-
 sources                           |    4 +-
 thunderbird-mozconfig             |    1 -
 thunderbird.spec                  |   35 +++++++--------
 xulrunner-16.0-jemalloc-ppc.patch |   14 ++++++
 xulrunner-24.0-jemalloc-ppc.patch |   12 -----
 11 files changed, 187 insertions(+), 50 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 7adf552..6e69342 100644
--- a/.gitignore
+++ b/.gitignore
@@ -77,5 +77,3 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
 /thunderbird-langpacks-17.0.7-20130625.tar.xz
 /thunderbird-17.0.8.source.tar.bz2
 /thunderbird-langpacks-17.0.8-20130805.tar.xz
-/thunderbird-24.0.source.tar.bz2
-/thunderbird-langpacks-24.0-20130916.tar.xz
diff --git a/mozilla-746112.patch b/mozilla-746112.patch
new file mode 100644
index 0000000..01f6e16
--- /dev/null
+++ b/mozilla-746112.patch
@@ -0,0 +1,86 @@
+diff -up xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h.746112 xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h
+--- xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h.746112	2012-10-17 16:32:43.000000000 +0200
++++ xulrunner-17.0/mozilla-beta/js/src/gc/Heap.h	2012-10-24 14:48:12.186640489 +0200
+@@ -103,26 +103,31 @@ struct Cell
+ };
+ 
+ /*
+- * Page size is 4096 by default, except for SPARC, where it is 8192.
++ * Page size must be static to support our arena pointer optimizations, so we
++ * are forced to support each platform with non-4096 pages as a special case.
++ * Note: The freelist supports a maximum arena shift of 15.
+  * Note: Do not use JS_CPU_SPARC here, this header is used outside JS.
+  * Bug 692267: Move page size definition to gc/Memory.h and include it
+  *             directly once jsgc.h is no longer an installed header.
+  */
+ #if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9))
+ const size_t PageShift = 13;
++const size_t ArenaShift = PageShift;
++#elif defined(__powerpc__)
++const size_t PageShift = 16;
++const size_t ArenaShift = 12;
+ #else
+ const size_t PageShift = 12;
++const size_t ArenaShift = PageShift;
+ #endif
+ const size_t PageSize = size_t(1) << PageShift;
++const size_t ArenaSize = size_t(1) << ArenaShift;
++const size_t ArenaMask = ArenaSize - 1;
+ 
+ const size_t ChunkShift = 20;
+ const size_t ChunkSize = size_t(1) << ChunkShift;
+ const size_t ChunkMask = ChunkSize - 1;
+ 
+-const size_t ArenaShift = PageShift;
+-const size_t ArenaSize = PageSize;
+-const size_t ArenaMask = ArenaSize - 1;
+-
+ /*
+  * This is the maximum number of arenas we allow in the FreeCommitted state
+  * before we trigger a GC_SHRINK to release free arenas to the OS.
+diff -up xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp.746112 xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp
+--- xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp.746112	2012-10-17 16:32:44.000000000 +0200
++++ xulrunner-17.0/mozilla-beta/js/src/jsgc.cpp	2012-10-24 14:46:28.253638095 +0200
+@@ -251,6 +251,13 @@ static const int BackgroundPhaseLength[]
+     sizeof(BackgroundPhaseStrings) / sizeof(AllocKind)
+ };
+ 
++/* Unused memory decommiting requires the arena size match the page size. */
++static bool
++DecommitEnabled()
++{
++    return PageSize == ArenaSize;
++}
++
+ #ifdef DEBUG
+ void
+ ArenaHeader::checkSynchronizedWithFreeList() const
+@@ -742,7 +749,8 @@ Chunk::fetchNextDecommittedArena()
+     decommittedArenas.unset(offset);
+ 
+     Arena *arena = &arenas[offset];
+-    MarkPagesInUse(arena, ArenaSize);
++    if (DecommitEnabled())
++        MarkPagesInUse(arena, ArenaSize);
+     arena->aheader.setAsNotAllocated();
+ 
+     return &arena->aheader;
+@@ -2731,7 +2739,7 @@ DecommitArenasFromAvailableList(JSRuntim
+                 chunk->removeFromAvailableList();
+ 
+             size_t arenaIndex = Chunk::arenaIndex(aheader->arenaAddress());
+-            bool ok;
++            bool ok = true;
+             {
+                 /*
+                  * If the main thread waits for the decommit to finish, skip
+@@ -2741,7 +2749,8 @@ DecommitArenasFromAvailableList(JSRuntim
+                 Maybe<AutoUnlockGC> maybeUnlock;
+                 if (!rt->isHeapBusy())
+                     maybeUnlock.construct(rt);
+-                ok = MarkPagesUnused(aheader->getArena(), ArenaSize);
++                if (DecommitEnabled())
++                    ok = MarkPagesUnused(aheader->getArena(), ArenaSize);
+             }
+ 
+             if (ok) {
diff --git a/mozilla-791626.patch b/mozilla-791626.patch
new file mode 100644
index 0000000..c2e77ab
--- /dev/null
+++ b/mozilla-791626.patch
@@ -0,0 +1,46 @@
+# HG changeset patch
+# Parent 3523e7f7a89d7933c5f1dc8f5f22559b48ec44c4
+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
+@@ -818,17 +818,18 @@ nsIOService::PrefsChanged(nsIPrefBranch 
+         if (NS_SUCCEEDED(rv)) {
+             if (mSocketTransportService)
+                 mSocketTransportService->SetAutodialEnabled(enableAutodial);
+         }
+     }
+ 
+     if (!pref || strcmp(pref, MANAGE_OFFLINE_STATUS_PREF) == 0) {
+         bool manage;
+-        if (NS_SUCCEEDED(prefs->GetBoolPref(MANAGE_OFFLINE_STATUS_PREF,
++        if (mNetworkLinkServiceInitialized &&
++            NS_SUCCEEDED(prefs->GetBoolPref(MANAGE_OFFLINE_STATUS_PREF,
+                                             &manage)))
+             SetManageOfflineStatus(manage);
+     }
+ 
+     if (!pref || strcmp(pref, NECKO_BUFFER_CACHE_COUNT_PREF) == 0) {
+         int32_t count;
+         if (NS_SUCCEEDED(prefs->GetIntPref(NECKO_BUFFER_CACHE_COUNT_PREF,
+                                            &count)))
+@@ -928,16 +929,20 @@ nsIOService::Observe(nsISupports *subjec
+     } 
+     else if (!strcmp(topic, kProfileDoChange)) { 
+         if (data && NS_LITERAL_STRING("startup").Equals(data)) {
+             // Lazy initialization of network link service (see bug 620472)
+             InitializeNetworkLinkService();
+             // Set up the initilization flag regardless the actuall result.
+             // If we fail here, we will fail always on.
+             mNetworkLinkServiceInitialized = true;
++            // And now reflect the preference setting
++            nsCOMPtr<nsIPrefBranch> prefBranch;
++            GetPrefBranch(getter_AddRefs(prefBranch));
++            PrefsChanged(prefBranch, MANAGE_OFFLINE_STATUS_PREF);
+         }
+     }
+     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 = true;
+ 
diff --git a/rhbz-855923.patch b/rhbz-855923.patch
new file mode 100644
index 0000000..c6282b0
--- /dev/null
+++ b/rhbz-855923.patch
@@ -0,0 +1,19 @@
+Index: comm-release/mozilla/js/src/gc/Memory.cpp
+===================================================================
+--- comm-release.orig/mozilla/js/src/gc/Memory.cpp
++++ comm-release/mozilla/js/src/gc/Memory.cpp
+@@ -348,9 +348,14 @@ UnmapPages(void *p, size_t size)
+ bool
+ MarkPagesUnused(void *p, size_t size)
+ {
++// A workaround for Bug 746112 - endless loop on ppc64
++#if !(defined(__powerpc__))
+     JS_ASSERT(uintptr_t(p) % PageSize == 0);
+     int result = madvise(p, size, MADV_DONTNEED);
+     return result != -1;
++#else
++    return true;
++#endif
+ }
+ 
+ bool
diff --git a/rhbz-966424.patch b/rhbz-966424.patch
index cfd6ca8..37ddc6e 100644
--- a/rhbz-966424.patch
+++ b/rhbz-966424.patch
@@ -1,6 +1,6 @@
-diff --git a/toolkit/module/CertUtils.jsm b/toolkit/toolkit/modules/CertUtils.jsm
---- a/toolkit/modules/CertUtils.jsm
-+++ b/toolkit/modules/CertUtils.jsm
+diff --git a/toolkit/mozapps/shared/CertUtils.jsm b/toolkit/toolkit/mozapps/shared/CertUtils.jsm
+--- a/toolkit/mozapps/shared/CertUtils.jsm
++++ b/toolkit/mozapps/shared/CertUtils.jsm
 @@ -170,17 +170,19 @@ this.checkCert =
    issuerCert = issuerCert.QueryInterface(Ci.nsIX509Cert3);
    var tokenNames = issuerCert.getAllTokenNames({});
diff --git a/sources b/sources
index bdbb88c..d146704 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-38f4b2e574751e4e6cbe36dc8b3bce20  thunderbird-24.0.source.tar.bz2
-137202a59008d2f2049740aa4482ad75  thunderbird-langpacks-24.0-20130916.tar.xz
+e4aee8852e94e455930bf482aecdbcd4  thunderbird-17.0.8.source.tar.bz2
+b5440071d2ba233081b4f53768baf3ce  thunderbird-langpacks-17.0.8-20130805.tar.xz
diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig
index 0d4916f..bd801a0 100644
--- a/thunderbird-mozconfig
+++ b/thunderbird-mozconfig
@@ -29,7 +29,6 @@ ac_add_options --disable-updater
 ac_add_options --enable-startup-notification
 ac_add_options --enable-gio
 ac_add_options --disable-gnomevfs
-ac_add_options --disable-gstreamer
 
 export BUILD_OFFICIAL=1
 export MOZILLA_OFFICIAL=1
diff --git a/thunderbird.spec b/thunderbird.spec
index 40af462..c05f69c 100644
--- a/thunderbird.spec
+++ b/thunderbird.spec
@@ -4,7 +4,7 @@
 # Build as a debug package?
 %define debug_build       0
 
-%if 0%{?fedora} <= 18
+%if 0%{?fedora} <= 17
 %define system_sqlite 0
 %else
 %define system_sqlite 1
@@ -23,7 +23,7 @@
 %define freetype_version 2.1.9
 
 %if %{?system_sqlite}
-%define sqlite_version 3.7.17
+%define sqlite_version 3.7.13
 # The actual sqlite version (see #480989):
 %global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536)
 %endif
@@ -39,7 +39,7 @@
 #
 # IMPORTANT: If there is no top level directory, this should be 
 # set to the cwd, ie: '.'
-%define tarballdir comm-esr24
+%define tarballdir comm-esr17
 
 %define official_branding 1
 # enable crash reporter only for iX86
@@ -53,15 +53,14 @@
 
 Summary:        Mozilla Thunderbird mail/newsgroup client
 Name:           thunderbird
-Version:        24.0
-Release:        2%{?dist}
+Version:        17.0.8
+Release:        1%{?dist}
 URL:            http://www.mozilla.org/projects/thunderbird/
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
 Group:          Applications/Internet
-ExcludeArch:    armv7hl
 Source0:        ftp://ftp.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.source.tar.bz2
 %if %{build_langpacks}
-Source1:        thunderbird-langpacks-%{version}-20130916.tar.xz
+Source1:        thunderbird-langpacks-%{version}-20130805.tar.xz
 %endif
 Source10:       thunderbird-mozconfig
 Source11:       thunderbird-mozconfig-branded
@@ -73,7 +72,7 @@ Source100:      find-external-requires
 # Mozilla (XULRunner) patches
 Patch0:         thunderbird-install-dir.patch
 Patch8:         xulrunner-10.0-secondary-ipc.patch
-Patch9:         mozilla-build-arm.patch
+Patch9:         mozilla-791626.patch
 
 # Build patches
 Patch104:       xulrunner-10.0-gcc47.patch
@@ -82,7 +81,9 @@ Patch104:       xulrunner-10.0-gcc47.patch
 Patch200:       thunderbird-8.0-enable-addons.patch
 
 # PPC fixes
-Patch300:       xulrunner-24.0-jemalloc-ppc.patch
+Patch300:       xulrunner-16.0-jemalloc-ppc.patch
+Patch301:       rhbz-855923.patch
+Patch302:       mozilla-746112.patch
 
 # Fedora specific patches
 Patch400:       rhbz-966424.patch
@@ -170,13 +171,15 @@ cd %{tarballdir}
 # Mozilla (XULRunner) patches
 cd mozilla
 %patch8 -p3 -b .secondary-ipc
-%patch9 -p2 -b .arm
+%patch9 -p1 -b .791626
 %patch104 -p1 -b .gcc47
-%patch300 -p2 -b .852698
+%patch302 -p2 -b .746112
 %patch400 -p1 -b .966424
 cd ..
 
 %patch200 -p1 -b .addons
+%patch300 -p1 -b .852698
+%patch301 -p1 -b .855923
 
 %if %{official_branding}
 # Required by Mozilla Corporation
@@ -387,6 +390,7 @@ fi
 gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
 #===============================================================================
+
 %files -f %{tarballdir}/%{name}.lang
 %defattr(-,root,root,-)
 %attr(755,root,root) %{_bindir}/thunderbird
@@ -399,7 +403,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %dir %{mozappdir}/components
 %ghost %{mozappdir}/components/compreg.dat
 %ghost %{mozappdir}/components/xpti.dat
-%{mozappdir}/components/components.manifest
+%{mozappdir}/components/binary.manifest
 %{mozappdir}/components/libdbusservice.so
 %{mozappdir}/components/libmozgnome.so
 %{mozappdir}/omni.ja
@@ -438,17 +442,12 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %exclude %{_includedir}/%{name}-%{version}
 %{mozappdir}/chrome.manifest
 %{mozappdir}/searchplugins
+%{mozappdir}/distribution/extensions
 %{mozappdir}/dependentlibs.list
 
 #===============================================================================
 
 %changelog
-* Wed Sep 18 2013 Martin Stransky <stransky at redhat.com> - 24.0-2
-- Added arm build fix
-
-* Mon Sep 16 2013 Jan Horak <jhorak at redhat.com> - 24.0-1
-- Update to 24.0
-
 * Mon Aug  5 2013 Jan Horak <jhorak at redhat.com> - 17.0.8-1
 - Update to 17.0.8
 
diff --git a/xulrunner-16.0-jemalloc-ppc.patch b/xulrunner-16.0-jemalloc-ppc.patch
new file mode 100644
index 0000000..e4fca79
--- /dev/null
+++ b/xulrunner-16.0-jemalloc-ppc.patch
@@ -0,0 +1,14 @@
+Index: xulrunner-11.0/mozilla-release/memory/jemalloc/jemalloc.c
+===================================================================
+--- a/mozilla/memory/mozjemalloc/jemalloc.c
++++ b/mozilla/memory/mozjemalloc/jemalloc.c
+@@ -1089,7 +1089,9 @@ static unsigned		ncpus;
+  * controlling the malloc behavior are defined as compile-time constants
+  * for best performance and cannot be altered at runtime.
+  */
++#if !(defined(__powerpc__))
+ #define MALLOC_STATIC_SIZES 1
++#endif
+ 
+ #ifdef MALLOC_STATIC_SIZES
+ 


More information about the scm-commits mailing list