[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