[SCM] Qt 4 packaging branch, master, updated. debian/4.7.3-8-6-g8a98350

Fathi Boudra fabo at alioth.debian.org
Mon Sep 12 08:18:22 UTC 2011


The following commit has been merged in the master branch:
commit 8a98350baf8ca712444332858e5c54250071064b
Author: Fathi Boudra <fabo at debian.org>
Date:   Mon Sep 12 11:16:48 2011 +0300

    Multiarch support:
    * Add qt-multiarch-plugin-path-compat.diff - include legacy pre-multiarch
    plugin path.
    * Update debian/control: mark Qt libraries as Multi-Arch.
    * Update debian/rules: add DEB_HOST_MULTIARCH support for libdir/plugindir.
---
 debian/changelog                                   |    5 ++
 debian/control                                     |   46 ++++++++++++++++++++
 .../patches/qt-multiarch-plugin-path-compat.diff   |   38 ++++++++++++++++
 debian/patches/series                              |    1 +
 debian/rules                                       |    6 ++-
 5 files changed, 94 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 10a647b..38efe36 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,9 +12,14 @@ qt4-x11 (4:4.7.4-1) UNRELEASED; urgency=low
     - 21_qt_ia32_library_path.diff - interacts incompatibly with the multiarch
       path resolution and should be obsolete anyway now that multiarch is
       available: we should drop qt from the next ia32-libs upload.
+  * Add patches:
+    - qt-multiarch-plugin-path-compat.diff - include legacy pre-multiarch
+      plugin path.
   * Break qdbus out into a separate 'qdbus' package and make it a dependency of
     libqt4-dbus, because some things will use this at runtime. It makes
     libqt4-dbus genuinely multiarch-installable.
+  * Update debian/control: mark Qt libraries as Multi-Arch.
+  * Update debian/rules: add DEB_HOST_MULTIARCH support for libdir/plugindir.
 
  -- Fathi Boudra <fabo at debian.org>  Mon, 12 Sep 2011 08:52:33 +0300
 
diff --git a/debian/control b/debian/control
index 73e3d31..1750b89 100644
--- a/debian/control
+++ b/debian/control
@@ -60,6 +60,8 @@ Vcs-Browser: http://git.debian.org/?p=pkg-kde/qt/qt4-x11.git;a=summary
 
 Package: libqtcore4
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Replaces: libqt4-core (<< 4.4.0~beta1-1), libqt4-gui (<< 4.4.0~beta1-1)
 Breaks: libqt4-core (<< 4.4.0~beta1-1), libqt4-gui (<< 4.4.0~beta1-1)
@@ -87,6 +89,8 @@ Description: transitional package for Qt 4 core non-GUI runtime libraries
 
 Package: libqtgui4
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: fontconfig, ${misc:Depends}, ${shlibs:Depends}
 Recommends: libcups2
 Suggests: qt4-qtconfig
@@ -121,6 +125,8 @@ Description: transitional package for Qt 4 GUI runtime libraries
 
 Package: libqt4-network
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libqt4-core (<< 4.4.0~beta1-1)
 Replaces: libqt4-core (<< 4.4.0~beta1-1)
@@ -133,6 +139,8 @@ Description: Qt 4 network module
 
 Package: libqt4-opengl
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libqt4-gui (<< 4.4.0~beta1-1)
 Replaces: libqt4-gui (<< 4.4.0~beta1-1)
@@ -148,6 +156,8 @@ Description: Qt 4 OpenGL module
 
 Package: libqt4-script
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libqt4-core (<< 4.4.0~beta1-1)
 Replaces: libqt4-core (<< 4.4.0~beta1-1)
@@ -159,6 +169,8 @@ Description: Qt 4 script module
 
 Package: libqt4-scripttools
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Description: Qt 4 script tools module
  Qt is a cross-platform C++ application framework. Qt's primary feature
@@ -172,6 +184,8 @@ Description: Qt 4 script tools module
 
 Package: libqt4-sql
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Recommends: libqt4-sql-mysql | libqt4-sql-odbc | libqt4-sql-psql | libqt4-sql-sqlite | libqt4-sql-sqlite2 | libqt4-sql-ibase [amd64 armel i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sh4 sparc]
 Suggests: libqt4-dev
@@ -187,6 +201,8 @@ Description: Qt 4 SQL module
 
 Package: libqt4-sql-ibase
 Architecture: amd64 armel i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sh4 sparc
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: libqt4-dev
 Description: Qt 4 InterBase/FireBird database driver
@@ -197,6 +213,8 @@ Description: Qt 4 InterBase/FireBird database driver
 
 Package: libqt4-sql-mysql
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: libqt4-dev
 Description: Qt 4 MySQL database driver
@@ -207,6 +225,8 @@ Description: Qt 4 MySQL database driver
 
 Package: libqt4-sql-odbc
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: libqt4-dev
 Description: Qt 4 ODBC database driver
@@ -217,6 +237,8 @@ Description: Qt 4 ODBC database driver
 
 Package: libqt4-sql-psql
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: libqt4-dev
 Description: Qt 4 PostgreSQL database driver
@@ -227,6 +249,8 @@ Description: Qt 4 PostgreSQL database driver
 
 Package: libqt4-sql-sqlite
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: libqt4-dev
 Description: Qt 4 SQLite 3 database driver
@@ -237,6 +261,8 @@ Description: Qt 4 SQLite 3 database driver
 
 Package: libqt4-sql-sqlite2
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: libqt4-dev
 Description: Qt 4 SQLite 2 database driver
@@ -247,6 +273,8 @@ Description: Qt 4 SQLite 2 database driver
 
 Package: libqt4-sql-tds
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: libqt4-dev
 Description: Qt 4 FreeTDS database driver
@@ -257,6 +285,8 @@ Description: Qt 4 FreeTDS database driver
 
 Package: libqt4-svg
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libqt4-gui (<< 4.4.0~beta1-1)
 Replaces: libqt4-gui (<< 4.4.0~beta1-1)
@@ -281,6 +311,8 @@ Description: transitional package for Qt 4 WebKit module
 
 Package: libqt4-xml
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libqt4-core (<< 4.4.0~beta1-1)
 Replaces: libqt4-core (<< 4.4.0~beta1-1)
@@ -293,6 +325,8 @@ Description: Qt 4 XML module
 
 Package: libqt4-xmlpatterns
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Description: Qt 4 XML patterns module
  Qt is a cross-platform C++ application framework. Qt's primary feature
@@ -302,6 +336,8 @@ Description: Qt 4 XML patterns module
 
 Package: libqt4-dbus
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}, qdbus
 Replaces: libqt4-core (<< 4.4.0~beta1-1), libqt4-dev (<< 4:4.7.1)
 Breaks: libqt4-core (<< 4.4.0~beta1-1), libqt4-dev (<< 4:4.7.1)
@@ -318,6 +354,8 @@ Description: Qt 4 D-Bus module
 
 Package: libqt4-qt3support
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libqt4-gui (<< 4.2.1-1), qt4-designer (<< 4.4.0~beta1-1)
 Replaces: libqt4-gui (<< 4.2.1-1), qt4-designer (<< 4.4.0~beta1-1)
@@ -333,6 +371,8 @@ Description: Qt 3 compatibility library for Qt 4
 
 Package: libqt4-designer
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libqt4-gui (<< 4.4.0~beta1-1)
 Replaces: libqt4-gui (<< 4.4.0~beta1-1)
@@ -346,6 +386,8 @@ Description: Qt 4 designer module
 
 Package: libqt4-help
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Description: Qt 4 help module
  Qt is a cross-platform C++ application framework. Qt's primary feature
@@ -366,6 +408,8 @@ Description: transitional package for Qt 4 assistant module
 
 Package: libqt4-test
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Breaks: libqt4-core (<< 4.4.0~beta1-1)
 Replaces: libqt4-core (<< 4.4.0~beta1-1)
@@ -395,6 +439,8 @@ Description: Qt 4 Phonon module
 
 Package: libqt4-declarative
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Suggests: libqt4-declarative-folderlistmodel,
           libqt4-declarative-gestures,
diff --git a/debian/patches/qt-multiarch-plugin-path-compat.diff b/debian/patches/qt-multiarch-plugin-path-compat.diff
new file mode 100644
index 0000000..d88a4bc
--- /dev/null
+++ b/debian/patches/qt-multiarch-plugin-path-compat.diff
@@ -0,0 +1,38 @@
+Description: include legacy pre-multiarch plugin path
+ A full multiarch system requires an architecture-qualified plugin path for
+ Qt, but installed systems may still have plugins (e.g., from other
+ distribution packages) in another pre-multiarch directory.  When constructing
+ the plugin path, include both the configured plugin path and a plugin path
+ with the architecture triplet stripped out.
+Author: Steve Langasek <steve.langasek at ubuntu.com>
+
+---
+ src/corelib/kernel/qcoreapplication.cpp |   17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+--- a/src/corelib/kernel/qcoreapplication.cpp
++++ b/src/corelib/kernel/qcoreapplication.cpp
+@@ -2324,6 +2324,23 @@ QStringList QCoreApplication::libraryPat
+             if (!app_libpaths->contains(installPathPlugins))
+                 app_libpaths->append(installPathPlugins);
+         }
++        QString pathSep("/");
++        QStringList dirnames = QString(installPathPlugins).split(QLatin1Char('/'), QString::SkipEmptyParts);
++        if (dirnames[0] == QString("usr") && dirnames[1] == QString("lib") && dirnames[3] == "qt4")
++        {
++            QString legacyPathPlugins = pathSep;
++            int i = 0;
++            for (QStringList::const_iterator it = dirnames.constBegin(); it != dirnames.constEnd(); ++it) {
++                if (++i == 3)
++                    continue;
++                legacyPathPlugins = legacyPathPlugins + QString(*it) + pathSep;
++            }
++            if (QFile::exists(legacyPathPlugins)) {
++                legacyPathPlugins = QDir(legacyPathPlugins).canonicalPath();
++                if (!app_libpaths->contains(legacyPathPlugins))
++                    app_libpaths->append(legacyPathPlugins);
++            }
++        }
+ #endif
+ 
+         // If QCoreApplication is not yet instantiated,
diff --git a/debian/patches/series b/debian/patches/series
index d4af59c..861f066 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -48,5 +48,6 @@ kfreebsd_monotonic_clock.diff
 powerpc_designer_gstabs.diff
 armv6_Include_explicitly_IT_instructions.patch
 armv6_Add_support_for_ARMv7_atomic_operations.patch
+qt-multiarch-plugin-path-compat.diff
 s390x_jscore.diff
 blacklist-diginotar-cert.diff
diff --git a/debian/rules b/debian/rules
index 7e862a0..ac7248b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,6 +3,8 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
 export QTDIR := $(shell pwd)
 export PATH := $(QTDIR)/bin:$(PATH)
 export LDFLAGS := -Wl,--as-needed
@@ -95,11 +97,11 @@ endif
 	./configure -confirm-license \
 	            -prefix "/usr" \
 	            -bindir "/usr/bin" \
-	            -libdir "/usr/lib" \
+	            -libdir "/usr/lib/$(DEB_HOST_MULTIARCH)" \
 	            -docdir "/usr/share/qt4/doc" \
 	            -headerdir "/usr/include/qt4" \
 	            -datadir "/usr/share/qt4" \
-	            -plugindir "/usr/lib/qt4/plugins" \
+	            -plugindir "/usr/lib/$(DEB_HOST_MULTIARCH)/qt4/plugins" \
 	            -importdir "/usr/lib/qt4/imports" \
 	            -translationdir "/usr/share/qt4/translations" \
 	            -sysconfdir "/etc/xdg" \

-- 
Qt 4 packaging



More information about the pkg-kde-commits mailing list