[SCM] QtWebKit packaging branch, qt5, updated. debian/2.2.1-5-6-g1df84c0

Timo Jyrinki timo at alioth.debian.org
Tue Jan 29 08:23:19 UTC 2013


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtwebkit.git;a=commitdiff;h=1df84c0

The following commit has been merged in the qt5 branch:
commit 1df84c0a2b4b040684ee38cea8152a52a006a483
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date:   Tue Jan 29 08:22:36 2013 +0000

    Restore and refresh some of the patches needed for eg. ARM debug build.
---
 debian/changelog                              |   19 +++++++++++-
 debian/patches/05_sparc_unaligned_access.diff |   40 +++++++++++++++++++++++++
 debian/patches/hurd.diff                      |   33 ++++++++++++++++++++
 debian/patches/no_gc_sections.diff            |   25 +++++++++++++++
 debian/patches/series                         |    6 ++++
 debian/patches/stabs_format_debug_info.diff   |   38 +++++++++++++++++++++++
 debian/patches/webkit_qt_hide_symbols.diff    |   28 +++++++++++++++++
 7 files changed, 188 insertions(+), 1 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index ec6f3fd..21df905 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,6 @@
 qtwebkit-opensource-src (5.0.0-1) UNRELEASED; urgency=low
 
-  * Initial new upstream release. (Closes: #697509)
+  * New upstream release. (Closes: #697509)
   * debian/control:
     - Add missing Pre-Depends for xz compression
     - Rename packages by appending the major version
@@ -12,6 +12,23 @@ qtwebkit-opensource-src (5.0.0-1) UNRELEASED; urgency=low
     - Remove rpath from QtWebProcess/QtWebPluginProcess
   * debian/copyright:
     - Fix invalid UTF-8
+  * Drop patches:
+    - 01_lflags_as-needed.diff
+    - 02_add_nostrip_for_debug_packages.diff
+    - 03_hide_std_symbols.diff
+    - 04_enable_debug_information.diff
+    - Fix_build_with_GLib_2.31_changeset_r97269.patch
+    - defines_qt_webkit.diff
+    - glibc_hurd_mkspecs.diff
+    - linux_amd64_no_overcommit.diff
+    - upstream_changeset_r113848.diff
+    - upstream_changeset_r93631.diff
+  * Update patches:
+    - 05_sparc_unaligned_access.diff
+    - hurd.diff
+    - no_gc_sections.diff
+    - stabs_format_debug_info.diff
+    - webkit_qt_hide_symbols.diff
 
  -- Timo Jyrinki <timo at debian.org>  Thu, 10 Jan 2013 05:55:52 +0000
 
diff --git a/debian/patches/05_sparc_unaligned_access.diff b/debian/patches/05_sparc_unaligned_access.diff
new file mode 100644
index 0000000..ba7720d
--- /dev/null
+++ b/debian/patches/05_sparc_unaligned_access.diff
@@ -0,0 +1,40 @@
+Description: fix some alignment problems on sparc.
+Author: Mike Hommey <glandium at debian.org>
+Author: Timo Jyrinki <timo at debian.org>
+
+---
+ Source/JavaScriptCore/wtf/ListHashSet.h |    9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+--- a/Source/WTF/wtf/ListHashSet.h
++++ b/Source/WTF/wtf/ListHashSet.h
+@@ -145,7 +145,7 @@ namespace WTF {
+             : m_freeList(pool())
+             , m_isDoneWithInitialFreeList(false)
+         { 
+-            memset(m_pool.pool, 0, sizeof(m_pool.pool));
++            memset(m_pool, 0, sizeof(m_pool));
+         }
+ 
+         Node* allocate()
+@@ -189,7 +189,7 @@ namespace WTF {
+         }
+ 
+     private:
+-        Node* pool() { return reinterpret_cast_ptr<Node*>(m_pool.pool); }
++        Node* pool() { return reinterpret_cast_ptr<Node*>(m_pool); }
+         Node* pastPool() { return pool() + m_poolSize; }
+ 
+         Node* m_freeList;
+@@ -200,10 +200,7 @@ namespace WTF {
+         Node* m_freeList;
+         bool m_isDoneWithInitialFreeList;
+         static const size_t m_poolSize = inlineCapacity;
+-        union {
+-            char pool[sizeof(Node) * m_poolSize];
+-            double forAlignment;
+-        } m_pool;
++        uint32_t m_pool[(sizeof(Node) * m_poolSize + sizeof(uint32_t) - 1) / sizeof(uint32_t)];
+     };
+ 
+     template<typename ValueArg, size_t inlineCapacity> struct ListHashSetNode {
diff --git a/debian/patches/hurd.diff b/debian/patches/hurd.diff
new file mode 100644
index 0000000..e0b4153
--- /dev/null
+++ b/debian/patches/hurd.diff
@@ -0,0 +1,33 @@
+Author: Pino Toscano <pino at debian.org>
+Description: fix (workaround) build on GNU/Hurd
+ Apparently PTHREAD_MUTEX_NORMAL and PTHREAD_MUTEX_DEFAULT cannot be used
+ in preprocessor expressions, so temporarly use directly the code which would
+ be used on GNU/Hurd.
+Origin: vendor
+Forwarded: not-needed
+Last-Update: 2011-12-30
+
+---
+ Source/JavaScriptCore/wtf/FastMalloc.cpp |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/Source/WTF/wtf/FastMalloc.cpp
++++ b/Source/WTF/wtf/FastMalloc.cpp
+@@ -1595,6 +1595,9 @@ ALWAYS_INLINE void TCMalloc_PageHeap::su
+ void TCMalloc_PageHeap::initializeScavenger()
+ {
+     // Create a non-recursive mutex.
++#if defined(__GNU__)
++    pthread_mutex_init(&m_scavengeMutex, 0);
++#else
+ #if !defined(PTHREAD_MUTEX_NORMAL) || PTHREAD_MUTEX_NORMAL == PTHREAD_MUTEX_DEFAULT
+     pthread_mutex_init(&m_scavengeMutex, 0);
+ #else
+@@ -1606,6 +1609,7 @@ void TCMalloc_PageHeap::initializeScaven
+ 
+     pthread_mutexattr_destroy(&attr);
+ #endif
++#endif
+ 
+     pthread_cond_init(&m_scavengeCondition, 0);
+     m_scavengeThreadActive = true;
diff --git a/debian/patches/no_gc_sections.diff b/debian/patches/no_gc_sections.diff
new file mode 100644
index 0000000..f4bd8fa
--- /dev/null
+++ b/debian/patches/no_gc_sections.diff
@@ -0,0 +1,25 @@
+Description: do not pass -Wl,--gc-sections on powerpc, s390, arm* and mips* when building
+             libQtWebKit.so; works around a binutils bug that results in a
+             segfault on powerpc, internal link error on s390 and OOM on armel/mipsel.
+Author: Steve Langasek <vorlon at debian.org>
+Author: Modestas Vainius <modax at debian.org>
+Author: Timo Jyrinki <timo at debian.org>
+Origin: vendor
+Forwarded: no
+Last-Update: 2013-01-28 (Qt 5)
+
+---
+ Source/WebCore/WebCore.pri |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Source/WebCore/WebCore.pri
++++ b/Source/WebCore/WebCore.pri
+@@ -326,7 +326,7 @@ mac {
+     unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections
+ }
+ unix:!mac:*-g++*:QMAKE_CXXFLAGS += -fdata-sections
+-unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
++unix:!mac:*-g++*:!equals(QT_ARCH, powerpc):!equals(QT_ARCH, s390):!equals(QT_ARCH, mips):!equals(QT_ARCH, arm):QMAKE_LFLAGS += -Wl,--gc-sections
+ linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+ 
+ unix|win32-g++* {
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..68f3936
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,6 @@
+# debian patches
+05_sparc_unaligned_access.diff
+stabs_format_debug_info.diff
+no_gc_sections.diff
+hurd.diff
+webkit_qt_hide_symbols.diff
diff --git a/debian/patches/stabs_format_debug_info.diff b/debian/patches/stabs_format_debug_info.diff
new file mode 100644
index 0000000..2e5666e
--- /dev/null
+++ b/debian/patches/stabs_format_debug_info.diff
@@ -0,0 +1,38 @@
+Description: build s390, armel, mips* debugging symbols with -gstabs
+ -g exhausts memory on these arches. Thanks to Oswald Buddenhagen for the hint.
+Author: Sune Vuorela <sune at debian.org>
+Author: Modestas Vainius <modax at debian.org>
+Author: Timo Jyrinki <timo at debian.org>
+Bug-Debian: http://bugs.debian.org/528485
+Bug-Debian: http://bugs.debian.org/618325
+Last-Update: 2013-01-28 (Qt 5)
+ 
+--- a/Source/WebKit/WebKit1.pri.old	2012-12-18 19:04:41.000000000 +0000
++++ b/Source/WebKit/WebKit1.pri	2013-01-25 06:51:32.133738485 +0000
+@@ -8,5 +8,11 @@
+ SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/WebKit
+ 
++equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips) {
++    message("s390, armel, armhf, mipsel workaround for QtWebkit: do not build with -g, but with -gstabs")
++    QMAKE_CXXFLAGS -= -g
++    QMAKE_CXXFLAGS += -gstabs
++}
++
+ INCLUDEPATH += \
+     $$SOURCE_DIR/qt/Api \
+     $$SOURCE_DIR/qt/WebCoreSupport \
+--- a/Source/WebKit2/WebKit2.pri.old	2012-12-18 19:04:26.000000000 +0000
++++ b/Source/WebKit2/WebKit2.pri	2013-01-25 06:52:07.301737594 +0000
+@@ -9,6 +9,12 @@
+ 
+ WEBKIT2_GENERATED_SOURCES_DIR = $${ROOT_BUILD_DIR}/Source/WebKit2/$${GENERATED_SOURCES_DESTDIR}
+ 
++equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips) {
++    message("s390, armel, armhf, mipsel workaround for QtWebkit: do not build with -g, but with -gstabs")
++    QMAKE_CXXFLAGS -= -g
++    QMAKE_CXXFLAGS += -gstabs
++}
++
+ INCLUDEPATH += \
+     $$SOURCE_DIR \
+     $$SOURCE_DIR/Platform \
diff --git a/debian/patches/webkit_qt_hide_symbols.diff b/debian/patches/webkit_qt_hide_symbols.diff
new file mode 100644
index 0000000..b881ac7
--- /dev/null
+++ b/debian/patches/webkit_qt_hide_symbols.diff
@@ -0,0 +1,28 @@
+From: Modestas Vainius <modax at debian.org>
+SUbject: Make hide_symbols to cover all QtWebKit portions
+Origin: vendor
+Author: Timo Jyrinki <timo at debian.org>
+Last-Update: 2013-01-28 (use a similar patch on Qt 5)
+Forwarded: no
+
+Almost everything in Source/WebCore/generated was not build with
+-fvisibility=hidden resulting into redundantly polluted and huge dynamic symbol
+list in libQtWebKit.so.
+
+Therefore, move +hide_symbols configuration parameter upwards in order for it
+to cover everything including the offending Source/WebCore/CodeGenerators.pri
+
+--- a/Source/QtWebKit.pro	2012-12-18 19:04:43.000000000 +0000
++++ b/Source/QtWebKit.pro	2013-01-28 08:25:56.342911517 +0000
+@@ -7,6 +7,11 @@
+ TEMPLATE = subdirs
+ CONFIG += ordered
+ 
++CONFIG(release):!CONFIG(standalone_package) {
++    contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
++    unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
++}
++
+ api.file = api.pri
+ SUBDIRS += api
+ 

-- 
QtWebKit packaging



More information about the pkg-kde-commits mailing list