[SCM] Qt 4 packaging branch, master, updated. debian/4.6.3-3-9-g8e699ef

Modestas Vainius modax at alioth.debian.org
Sat Oct 16 08:03:10 UTC 2010


The following commit has been merged in the master branch:
commit f128332eae070294cd46d358e022529b720421dd
Author: Modestas Vainius <modestas at vainius.eu>
Date:   Sat Oct 16 04:03:33 2010 +0300

    Permit loading plugins built with future major Qt releases (4.x)
    
    Add 23_permit_plugins_built_with_future_qt.diff patch to permit loading plugins
    built with future version of Qt. This should restore full compatibility with
    symbol files. (Closes: #586831)
    
    This check is too paranoid for us because it prevents from using symbol files
    in full potential. Fine-grained package level dependencies should ensure that
    the required version of the Qt Library is installed which might not necessarily
    be the latest Qt 4.x the plugin was built against because the plugin actually
    did not use any of new symbols in the Qt Library.
    
    However, removal of this check might still increase likelihood of crashes when:
    
    1) loading a new incompatible version of plugin into a running process still
    using an old Qt Library. This might happen right after upgrade;
    
    2) user tries to load incompatible non-packaged plugin;
    
    but it's an acceptable compromise. Here we trade more bullet proof protection
    from rare user faults or weird system misconfigurations for more flexibility,
    installability and expand of forward binary compatibility beyond the same Qt
    4.x whenever possible.
---
 debian/changelog                                   |    3 ++
 .../23_permit_plugins_built_with_future_qt.diff    |   34 ++++++++++++++++++++
 debian/patches/series                              |    1 +
 3 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 9196062..0ebae08 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,9 @@ qt4-x11 (4:4.6.3-4) UNRELEASED; urgency=low
   * Backport 22_fix_disappearing_cursor.diff patch from 4.7.1 to fix a bug
     with mouse cursor disappearing randomly on various widgets (QTreeView,
     QListView etc.).
+  * Add 23_permit_plugins_built_with_future_qt.diff patch to permit loading
+    plugins built with future version of Qt. This should restore full
+    compatibility with symbol files. (Closes: #586831)
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Tue, 12 Oct 2010 17:04:43 +0200
 
diff --git a/debian/patches/23_permit_plugins_built_with_future_qt.diff b/debian/patches/23_permit_plugins_built_with_future_qt.diff
new file mode 100644
index 0000000..df168f5
--- /dev/null
+++ b/debian/patches/23_permit_plugins_built_with_future_qt.diff
@@ -0,0 +1,34 @@
+From: Modestas Vainius <modax at debian.org>
+Subject: Permit loading plugins built with future major Qt releases (4.x)
+Origin: vendor
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586831
+
+This check is too paranoid for us because it prevents from using symbol files
+in full potential. Fine-grained package level dependencies should ensure that
+the required version of the Qt Library is installed which might not necessarily
+be the latest Qt 4.x the plugin was built against because the plugin actually
+did not use any of new symbols in the Qt Library.
+
+However, removal of this check might still increase likelihood of crashes when:
+
+1) loading a new incompatible version of plugin into a running process still
+using an old Qt Library. This might happen right after upgrade;
+
+2) user tries to load incompatible non-packaged plugin;
+
+but it's an acceptable compromise. Here we trade more bullet proof protection
+from rare user faults or weird system misconfigurations for more flexibility,
+installability and expand of forward binary compatibility beyond the same Qt
+4.x whenever possible.
+
+--- a/src/corelib/plugin/qlibrary.cpp
++++ b/src/corelib/plugin/qlibrary.cpp
+@@ -745,7 +745,7 @@ bool QLibraryPrivate::isPlugin(QSettings
+ 
+     pluginState = IsNotAPlugin; // be pessimistic
+ 
+-    if ((qt_version & 0x00ff00) > (QT_VERSION & 0x00ff00) || (qt_version & 0xff0000) != (QT_VERSION & 0xff0000)) {
++    if ((qt_version & 0xff0000) != (QT_VERSION & 0xff0000)) {
+         if (qt_debug_component()) {
+             qWarning("In %s:\n"
+                  "  Plugin uses incompatible Qt library (%d.%d.%d) [%s]",
diff --git a/debian/patches/series b/debian/patches/series
index 3140ad7..2c90b91 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -30,6 +30,7 @@
 20_install_qvfb.diff
 21_qt_ia32_library_path.diff
 22_fix_disappearing_cursor.diff
+23_permit_plugins_built_with_future_qt.diff
 30_webkit_unaligned_access.diff
 40_alpha_ice.diff
 41_disable_opengl_visibility.diff

-- 
Qt 4 packaging



More information about the pkg-kde-commits mailing list