summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config.profiles/harmattan/QMLViewer.desktop9
-rw-r--r--config.profiles/harmattan/QMLViewer.pngbin0 -> 7150 bytes
-rw-r--r--config.profiles/harmattan/README.source58
-rw-r--r--config.profiles/harmattan/api120
-rw-r--r--config.profiles/harmattan/changelog2039
-rw-r--r--config.profiles/harmattan/collection/qtdemo.qhc.uu231
-rw-r--r--config.profiles/harmattan/compat1
-rwxr-xr-xconfig.profiles/harmattan/configure-pulse.sh81
-rw-r--r--config.profiles/harmattan/control648
-rw-r--r--config.profiles/harmattan/libqt4-core.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-dbus-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-dbus.install3
-rw-r--r--config.profiles/harmattan/libqt4-dbus.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-declarative-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-declarative-dev.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-declarative.install4
-rw-r--r--config.profiles/harmattan/libqt4-declarative.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-dev.dirs1
-rw-r--r--config.profiles/harmattan/libqt4-dev.install85
-rw-r--r--config.profiles/harmattan/libqt4-dev.links13
-rw-r--r--config.profiles/harmattan/libqt4-dev.lintian17
-rw-r--r--config.profiles/harmattan/libqt4-dev.manpages5
-rw-r--r--config.profiles/harmattan/libqt4-dev.postinst21
-rw-r--r--config.profiles/harmattan/libqt4-dev.prerm16
-rw-r--r--config.profiles/harmattan/libqt4-doc.install1
-rw-r--r--config.profiles/harmattan/libqt4-doc.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-gui-tests.lintian64
-rw-r--r--config.profiles/harmattan/libqt4-gui.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-help-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-help.install4
-rw-r--r--config.profiles/harmattan/libqt4-help.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-meego-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-meego-dev.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-meego.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-meegographicssystem.install1
-rw-r--r--config.profiles/harmattan/libqt4-meegographicssystemhelper-dev.install3
-rw-r--r--config.profiles/harmattan/libqt4-meegographicssystemhelper.install1
-rw-r--r--config.profiles/harmattan/libqt4-multimedia-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-multimedia.install1
-rw-r--r--config.profiles/harmattan/libqt4-multimedia.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-network-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-network.install2
-rw-r--r--config.profiles/harmattan/libqt4-network.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-opengl-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-opengl-dev.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-opengl.install2
-rw-r--r--config.profiles/harmattan/libqt4-opengl.lintian3
-rw-r--r--config.profiles/harmattan/libqt4-phonon-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-phonon.install2
-rw-r--r--config.profiles/harmattan/libqt4-phonon.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-script-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-script.install3
-rw-r--r--config.profiles/harmattan/libqt4-script.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-sql-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-sql-sqlite-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-sql-sqlite.install2
-rw-r--r--config.profiles/harmattan/libqt4-sql-sqlite.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-sql.install2
-rw-r--r--config.profiles/harmattan/libqt4-sql.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-svg-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-svg.install4
-rw-r--r--config.profiles/harmattan/libqt4-svg.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-test-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-test.install2
-rw-r--r--config.profiles/harmattan/libqt4-test.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-webkit.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-xml-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-xml.install1
-rw-r--r--config.profiles/harmattan/libqt4-xml.lintian2
-rw-r--r--config.profiles/harmattan/libqt4-xmlpatterns-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqt4-xmlpatterns.install3
-rw-r--r--config.profiles/harmattan/libqt4-xmlpatterns.lintian2
-rw-r--r--config.profiles/harmattan/libqt4.lintian1
-rw-r--r--config.profiles/harmattan/libqtcore4-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqtcore4.install6
-rw-r--r--config.profiles/harmattan/libqtcore4.lintian2
-rw-r--r--config.profiles/harmattan/libqtgui4-dbg.lintian1
-rw-r--r--config.profiles/harmattan/libqtgui4.install7
-rw-r--r--config.profiles/harmattan/libqtgui4.lintian2
-rw-r--r--config.profiles/harmattan/manpages/lrelease.189
-rw-r--r--config.profiles/harmattan/manpages/lupdate.195
-rw-r--r--config.profiles/harmattan/manpages/moc.1449
-rw-r--r--config.profiles/harmattan/manpages/qmake.1106
-rw-r--r--config.profiles/harmattan/manpages/qtconfig.134
-rw-r--r--config.profiles/harmattan/manpages/uic.1136
-rw-r--r--config.profiles/harmattan/mkspecs/linux-g++-cross/qmake.conf54
-rw-r--r--config.profiles/harmattan/mkspecs/linux-g++-cross/qplatformdefs.h42
-rw-r--r--config.profiles/harmattan/not-installed18
-rw-r--r--config.profiles/harmattan/patches/default_widget_size.diff13
-rw-r--r--config.profiles/harmattan/patches/glshadercache.diff1003
-rw-r--r--config.profiles/harmattan/patches/icu.diff732
-rw-r--r--config.profiles/harmattan/patches/no_read_pro_from_quilt_dir.diff13
-rw-r--r--config.profiles/harmattan/patches/pinch_gesture_sent_twice.diff56
-rw-r--r--config.profiles/harmattan/patches/qgltexturecache.diff23
-rw-r--r--config.profiles/harmattan/patches/qwidget_x11.diff39
-rw-r--r--config.profiles/harmattan/patches/qwidget_x11_mapping.diff17
-rw-r--r--config.profiles/harmattan/patches/runtime-window-geometry-revert.diff12
-rw-r--r--config.profiles/harmattan/patches/series14
-rw-r--r--config.profiles/harmattan/patches/signon_authenticator4.diff230
-rw-r--r--config.profiles/harmattan/patches/temppath.diff28
-rw-r--r--config.profiles/harmattan/patches/tst_qprogressbar.diff19
-rw-r--r--config.profiles/harmattan/patches/tst_qscrollbar.diff12
-rw-r--r--config.profiles/harmattan/patches/tst_qvariant.diff21
-rw-r--r--config.profiles/harmattan/qt4-acceptance-tests.lintian6
-rw-r--r--config.profiles/harmattan/qt4-declarative-qmlviewer.install3
-rw-r--r--config.profiles/harmattan/qt4-declarative-qmlviewer.lintian1
-rw-r--r--config.profiles/harmattan/qt4-doc-html.doc-base11
-rw-r--r--config.profiles/harmattan/qt4-doc-html.install2
-rw-r--r--config.profiles/harmattan/qt4-doc-html.links2
-rw-r--r--config.profiles/harmattan/qt4-doc.install3
-rw-r--r--config.profiles/harmattan/qt4-linguist-tools.install4
-rw-r--r--config.profiles/harmattan/qt4-linguist-tools.lintian4
-rw-r--r--config.profiles/harmattan/qt4-linguist-tools.postinst16
-rw-r--r--config.profiles/harmattan/qt4-linguist-tools.prerm16
-rw-r--r--config.profiles/harmattan/qt4-maemo-auto-tests.lintian41
-rw-r--r--config.profiles/harmattan/readdir-hppa-test.c25
-rwxr-xr-xconfig.profiles/harmattan/rules404
-rw-r--r--config.profiles/harmattan/source.lintian-overrides5
-rw-r--r--config.profiles/harmattan/source/format1
-rwxr-xr-xconfig.profiles/harmattan/tests/create_tests_xml174
-rw-r--r--config.profiles/harmattan/tests/libqt4-gui-tests.pro64
-rw-r--r--config.profiles/harmattan/tests/maemo_tests.prf57
-rw-r--r--config.profiles/harmattan/tests/qt4-acceptance-tests.pro6
-rw-r--r--config.profiles/harmattan/tests/qt4-maemo-auto-tests.pro44
-rw-r--r--config.profiles/harmattan/tests/tests.xml320
-rw-r--r--config.profiles/harmattan/tests/testset.txt11
-rw-r--r--config.profiles/harmattan/tests/testsuite_footer.txt2
-rw-r--r--config.profiles/harmattan/tests/testsuite_header.txt4
128 files changed, 8003 insertions, 0 deletions
diff --git a/config.profiles/harmattan/QMLViewer.desktop b/config.profiles/harmattan/QMLViewer.desktop
new file mode 100644
index 0000000..0f96731
--- /dev/null
+++ b/config.profiles/harmattan/QMLViewer.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Name=QMLViewer
+Exec=/usr/bin/qmlviewer -graphicssystem meego
+Icon=/usr/share/icons/hicolor/64x64/apps/QMLViewer.png
+Categories=X-MeeGo;
+OnlyShowIn=X-MeeGo;
diff --git a/config.profiles/harmattan/QMLViewer.png b/config.profiles/harmattan/QMLViewer.png
new file mode 100644
index 0000000..a209cd0
--- /dev/null
+++ b/config.profiles/harmattan/QMLViewer.png
Binary files differ
diff --git a/config.profiles/harmattan/README.source b/config.profiles/harmattan/README.source
new file mode 100644
index 0000000..5dde0bf
--- /dev/null
+++ b/config.profiles/harmattan/README.source
@@ -0,0 +1,58 @@
+This package uses quilt to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build.
+
+To configure quilt to use debian/patches instead of patches, you want
+either to export QUILT_PATCHES=debian/patches in your environment
+or use this snippet in your ~/.quiltrc:
+
+ for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do
+ if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then
+ export QUILT_PATCHES=debian/patches
+ break
+ fi
+ done
+
+To get the fully patched source after unpacking the source package, cd to
+the root level of the source package and run:
+
+ quilt push -a
+
+The last patch listed in debian/patches/series will become the current
+patch.
+
+To add a new set of changes, first run quilt push -a, and then run:
+
+ quilt new <patch>
+
+where <patch> is a descriptive name for the patch, used as the filename in
+debian/patches. Then, for every file that will be modified by this patch,
+run:
+
+ quilt add <file>
+
+before editing those files. You must tell quilt with quilt add what files
+will be part of the patch before making changes or quilt will not work
+properly. After editing the files, run:
+
+ quilt refresh
+
+to save the results as a patch.
+
+Alternately, if you already have an external patch and you just want to
+add it to the build system, run quilt push -a and then:
+
+ quilt import -P <patch> /path/to/patch
+ quilt push -a
+
+(add -p 0 to quilt import if needed). <patch> as above is the filename to
+use in debian/patches. The last quilt push -a will apply the patch to
+make sure it works properly.
+
+To remove an existing patch from the list of patches that will be applied,
+run:
+
+ quilt delete <patch>
+
+You may need to run quilt pop -a to unapply patches first before running
+this command.
diff --git a/config.profiles/harmattan/api b/config.profiles/harmattan/api
new file mode 100644
index 0000000..43ede3d
--- /dev/null
+++ b/config.profiles/harmattan/api
@@ -0,0 +1,120 @@
+interface: Phonon
+type: library
+libs-pkg: libqt4-phonon
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/phonon/*
+
+interface: QtCore
+type: library
+libs-pkg: libqtcore4
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtCore/*
+
+interface: QtDBus
+type: library
+libs-pkg: libqt4-dbus
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtDBus/*
+
+interface: QtDeclarative
+type: library
+libs-pkg: libqt4-declarative
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtDeclarative/*
+
+interface: QtGui
+type: library
+libs-pkg: libqtgui4
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtGui/*
+
+interface: QtHelp
+type: library
+libs-pkg: libqt4-help
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtHelp/*
+
+interface: QtMultimedia
+type: library
+libs-pkg: libqt4-multimedia
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtMultimedia/*
+
+interface: QtNetwork
+type: library
+libs-pkg: libqt4-network
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtNetwork/*
+
+interface: QtOpenGL
+type: library
+libs-pkg: libqt4-opengl
+dev-pkg: libqt4-dev libqt4-opengl-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtOpenGL/*
+
+interface: QtScript
+type: library
+libs-pkg: libqt4-script
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtScript/*
+
+interface: QtSql
+type: library
+libs-pkg: libqt4-sql-sqlite libqt4-sql
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtSql/*
+
+interface: QtSvg
+type: library
+libs-pkg: libqt4-svg
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtSvg/*
+
+interface: QtTest
+type: library
+libs-pkg: libqt4-test
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtTest/*
+
+interface: QtXml
+type: library
+libs-pkg: libqt4-xml
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtXml/*
+
+interface: QtXmlPatterns
+type: library
+libs-pkg: libqt4-xmlpatterns
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtXmlPatterns/*
+
diff --git a/config.profiles/harmattan/changelog b/config.profiles/harmattan/changelog
new file mode 100644
index 0000000..b04d788
--- /dev/null
+++ b/config.profiles/harmattan/changelog
@@ -0,0 +1,2039 @@
+qt4-x11 (4.7.2~git20110302-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#226454 - QDeclarativeTextInput::mousePressEvent() doesn't
+ call QInputContext::mouseHandler()
+ * Fixes: NB#220280 - QImage forever loops on SVG
+ * Fixes: NB#222060 - PIN UI freezes if "Continue offline" dialog is
+ shown before PIN query
+ * Fixes: NB#230591 - Regression from QFuture change
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Wed, 02 Mar 2011 12:06:31 +0200
+
+qt4-x11 (4.7.2~git20110221-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#227660 - QFuture uses internally QTime, instead of
+ QElapsedTimer
+ * Fixes: NB#226474 - imMicroFocus query on QML TextInput returns the
+ start of preedit instead of cursor position
+ * Fixes: NB#208927 - X dithering looks better than meego
+ graphicssystem one
+ * Fixes: NB#224327 - Malformed windows icons cause out of bounds
+ writes
+ * Fixes: NB#224413 - XPM files crash QImage (write)
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 21 Feb 2011 14:15:37 +0200
+
+qt4-x11 (4.7.2~git20110215-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#224314 - malformed bmp's cause QImage to write out of
+ bounds
+ * Fixes: NB#225732 - QGraphicsItem::ItemStopsClickFocusPropagation
+ doesn't stop propagation
+ * Fixes: NB#221924 - Morpheus crashes when network connection is lost
+ * Fixes: NB#218317 - All capital "i" in turkish is wrong inside of
+ buttons.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Thu, 17 Feb 2011 11:50:12 +0200
+
+qt4-x11 (4.7.2~git20110208-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#217912 - Deadlock after changes in qprocess_unix
+ * Fixes: NB#217850 - floating point compiler optimization has no
+ effect
+ * Fixes: NB#226130 - QtQuick 1.1 integration
+ * Fixes: NB#226478 - TextEdit and TextInput need text selection modes
+ * Fixes: NB#226484 - TextInput selectWord() on word's first letter
+ often selects two words
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Wed, 09 Feb 2011 15:54:33 +0200
+
+qt4-x11 (4.7.2~git20110203-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#215586 - Qt make unnecessary X calls on each mouse move
+ event QETWidget::translateXI2Event
+ * Fixes: NB#210752 - Text in QML application disappears after
+ application is restored from task switcher
+ * Fixes: NB#221806 - Subsequent signal networkAccessibleChanged
+ emitting problem of class QNetworkAccessManager
+ * Fixes: NB#218404 - Memory leaks in qx11embed_x11.cpp
+ * Fixes: NB#218410 - Fix error case in getNetWmState() in
+ qwidget_x11.cpp
+ * Fixes: NB#225875 - Integrate
+ 1137379e98cab8cc67fac70b31c97001c4473eb0
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Tue, 08 Feb 2011 10:13:03 +0200
+
+qt4-x11 (4.7.2~git20110119-0maemo2) unstable; urgency=low
+
+ * Fixes: NB#221230 - libqt4-meegographicssystemhelper needs to depend
+ on libqt4-meegographicssystem instead of recommends
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 24 Jan 2011 10:08:26 +0200
+
+qt4-x11 (4.7.2~git20110119-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#212758 - creating a QPixmap triggers creation of the
+ qt_gl_share_widget
+ * Fixes: NB#219685 - QSystemSemaphore and QSharedMemory are influenced
+ by TMPDIR
+ * Fixes: NB#188780 - Items in larger layout are not centered
+ * Fixes: NB#218317 - All capital "i" in turkish is wrong inside of
+ buttons.
+ * Fixes: NB#216667 - libqt4-meego-dev is not available for i386 at all
+ * Fixes: NB#214064 - Latest focus changes break some platform
+ components
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Wed, 19 Jan 2011 17:06:16 +0200
+
+qt4-x11 (4.7.2~git20110111-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#205680 - meego graphicssystem clears scene even if
+ Qt::WA_OpaquePaintEvent is set
+ * Fixes: NB#215368 - QMeeGoSwitchEvent's eventNumber() is not static
+ and the class is not exported
+ * Fixes: NB#211573 - Qt not configured with -dbus-linked
+ * Fixes: NB#211951 - Qt unnecessary build dependency to libxcursor-dev
+ * Fixes: NB#214064 - Latest focus changes break some platform
+ components
+ * Fixes: NB#216968 - QHostInfoCache should use QElapsedTimer instead
+ of QTime
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Wed, 12 Jan 2011 12:23:50 +0200
+
+qt4-x11 (4.7.2~git20101231-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#213183 - Ensure two Qt raster fixes are released.
+ * Fixes: NB#215639 - Need to repopulate texture glyph cache after
+ recreating GL context
+ * Fixes: NB#212887 - would be possible to open these descriptors on-
+ demand
+ * Fixes: NB#195919 - Check whether shader compilation can be improved
+ * Fixes: NB#195442 - OpenGL paint engine produces artifacts with big
+ images
+ * Fixes: NB#186988 - opengl render Chinese text: fast change text,
+ text become black block.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 03 Jan 2011 13:50:51 +0200
+
+qt4-x11 (4.7.2~git20101209-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#205593 - Any app using meegotouch prints to console when started
+ * Fixes: NB#206111 - Sometimes MLabels apppear empty even if the text is set
+ * Fixes: NB#208617 - QtProxyFactory does not return correct (any) proxy data
+ * Fixes: NB#209473 - <UninitVar> qgraphicslayoutitem.cpp:143
+ * Fixes: NB#209863 - Qt tries to use id of a destroyed window
+ * Fixes: NB#210024 - MGS should provide translucency on a per-window basis
+ * Fixes: NB#210594 - Integration of focus change fixes
+ * Fixes: NB#210599 - QDeclarativeEngine object ownership issues
+ * Fixes: NB#210416 - Framerate in portrait is significantly lower than
+ in landscape
+ * Fixes: NB#199755 - Network session error when attempting to open
+ network session
+ * Fixes: NB#201619 - Synchronization is stuck in the progress
+ indicator screen when the internet is interrupted while sync
+ * Fixes: NB#209996 - Backup options view:Text inside the text box not
+ displayed properly in potrait mode
+ * Fixes: NB#194987 - Not all the synced contacts with S60 (N97 mini)
+ have an avatar
+ * Fixes: NB#206740 - Event handling in x11EventSourceDispatch is slow
+ * Fixes: NB#207115 - Qt calls eglSwapBuffers when no painting happened
+ * Fixes: NB#206119 - QSizePolicy causes the performance slow down
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Thu, 16 Dec 2010 12:22:45 +0200
+
+qt4-x11 (4.7.2~git20101130-0maemo6) unstable; urgency=low
+
+ * Fixes: NB#198573 - Need for Signals from Qt indicating aboutToSwich and swiched state
+ * Fixes: NB#194509 - Network access from a Qt app makes dbus daemon consume tons of cpu
+ * Fixes: NB#165283 - artificial emboldening doesn't work
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Tue, 07 Dec 2010 15:31:57 +0200
+
+qt4-x11 (4.7.2~git20101130-0maemo4) unstable; urgency=low
+
+ * Fixes: NB#205453 - Qt Update cause blocker performance drop in browser.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 10 Dec 2010 13:21:07 +0200
+
+qt4-x11 (4.7.1~git20101130.really.4.7.1~git20101118-0maemo3) unstable; urgency=low
+
+ * Revert to previous release.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 03 Dec 2010 11:24:03 +0200
+
+qt4-x11 (4.7.1~git20101118-0maemo2) unstable; urgency=low
+
+ * Proper workaround for bug 196954.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 29 Nov 2010 14:05:44 +0200
+
+qt4-x11 (4.7.1~git20101118-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Enable using OpenGL scissor test
+ * Fixes: NB#188174 - The effect of filling massive amount of html <div> elements with color ...
+ * Fixes: NB#194032 - Gallery crashed random while slideshow is going on
+ * Fixes: NB#193247 - Slider widget crashes WG in a given scenario
+ * Fixes: NB#199790 - Qt sends touch point update event too late on release.
+ * Fixes: NB#200091 - Random crashes observed when trying to paste value
+ * Fixes: NB#163620 - QtTest headers prevent compilation with -Wshadow -Werror
+ * Fixes: NB#189468 - <Safety> Invalid read reported by valgrind in libX11 when analysing accounts-ui application
+ * Fixes: NB#191811 - <Safety> Invalid read frequently reported in scratchbox
+ * Fixes: NB#193881 - Image format autodetection causes unnecessary lseeks
+ * Fixes: NB#198023 - GLib >= 2.22 requires use of g_main_context_push_thread_default in QEventDispatcher when a QThread is created
+ * Fixes: NB#202866 - MeeGo graphicssystem dithering for textures with alpha channel looks crappy
+ * Fixes: NB#204234 - obsolete driver work-around
+ * Fixes: NB#204890 - device lock prompt keeps reappearing
+ * Fixes: NB#194345 - CoreWeb: 950 coredumps with stacktrace ending in QGestureManager::deliverEvents()
+ * Fixes: NB#204098 - qstrtod does not reset errno
+ * Fixes: NB#161439 - Using optimizations causes trouble
+ * Fixes: NB#186988 - opengl render Chinese text: fast change text, text become black block
+ * Fixes: NB#193505 - after maximizing applications fonts are sometimes corrupted
+ * Fixes: 204443 - Pinch gesture semantics change
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 22 Nov 2010 12:05:12 +0200
+
+qt4-x11 (4.7.1~git20101111.really.4.7.1~git20101103-0maemo2) unstable; urgen
+
+ * Revert to previous released version
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 19 Nov 2010 10:50:40 +
+
+qt4-x11 (4.7.1~git20101103-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Provide menu link and icon for QMLViewer
+ * Remove backported QScroller patch, it is to be used externally
+ * Fixes: NB#196806 - <MemLeak> Memory leak in feednamespacepluginmanager.cpp
+ * Fixes: NB#164431 - Blocking dialog doesn't work correctly
+ * Fixes: NB#170001 - QTouchEvent::touchpoint's isPrimary -method returns always false
+ * Fixes: NB#191116 - <MemLeak> Memory leak reported by valgrind on device, in XIQueryPointer.c
+ * Fixes: NB#198833 - Qt forgets to initialize members of QSharedPointer and its helpers
+ * Fixes: NB#200433 - cannot compile QMeeGoLivePixmap::livePixmapWithSize
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Thu, 04 Nov 2010 12:14:46 +0200
+
+qt4-x11 (4.7.1~git20101021-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Previous problem with the experimental client decorations are
+ * now fixed, enable them again.
+ * Fixes: NB#195540 - libqt4-doc has extra <tr> tags
+ * Fixes: NB#198766 - MeeGo graphicssystem does not create proper deep copies of QPixmaps
+ * Fixes: NB#194397 - /usr/lib/qt4/imports/Qt/labs/ missing from packages
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Thu, 21 Oct 2010 16:01:33 +0300
+
+qt4-x11 (4.7.1~git20101008-0maemo2) unstable; urgency=low
+
+ * Disable experimental client decorations again
+ * Fixes: NB#196543 - libQtMeeGoGraphicsSystemHelper not shipped with latest packages
+ * Fixes: NB#196712 - SVG and PNG data URIs don't work in offline mode
+ * Fixes: NB#197530 - Missing menu items from ui-file
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 15 Oct 2010 11:49:02 +0300
+
+qt4-x11 (4.7.1~git20101008-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Backport QScroller from 4.8
+ * Fixes: NB#184580 - QGraphicsItem::setCacheMode(DeviceCoordinateCache) unefficient in portrait mode
+ * Fixes: NB#191792 - QML: clickable items in GridView intermittently unresponsive on B2 hardware
+ * Fixes: NB#189797 - Qt build-depends circular dependency
+ * Fixes: NB#183846 - VKB adds and accumulates _NET_WM_STATE atoms when ever it's shown
+ * Fixes: 192385 - QML: runtime.orientation doesn't change when device orientation changes
+ * Fixes: NB#197181 - host binaries in libqt4-dev do not work in x86 target
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 08 Oct 2010 14:14:42 +0300
+
+qt4-x11 (4.7.1~git20101001-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Cross-compile Qt and install both host and native binaries
+ * of build tools
+ * Enable experimental client decorations
+ * Fixes: NB#191476 - Wrong reordering of Bidi Text in Labels
+ * Fixes: NB#186087 - QGraphicsItem never gets focusOutEvent on hide
+ * Fixes: NB#186988 - opengl render Chinese text: fast change text, text become black block
+ * Fixes: NB#189686 - connecting to dbus slows down MApplication c'tor creation by ~80ms
+ * Fixes: NB#188145 - Network interface doesn't go down after last client disconnects
+ * Fixes: NB#189001 - Qt4.7 bearer management icd plugin uses embedded libconninet
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 01 Oct 2010 12:44:54 +0300
+
+qt4-x11 (4.7.0~git20100917-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#187981 - Device hangs up when region is set to Arabic language.
+ * Fixes: NB#163798 - QRasterPaintEnginePrivate::drawImage using memcpy instead of ARM optimized implementation
+ * Fixes: NB#187851 - Font rendering issues with Nokia font
+ * Fixes: NB#190817 - libqt4-doc has extra </div> and <tr> tags
+ * Fixes: NB#191880 - QPixmap::size() should return 0x0 when there is no data
+ * Fixes: NB#193700 - Pinching in calendar weekly view regression
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Tue, 21 Sep 2010 10:48:49 +0300
+
+qt4-x11 (4.7.0~git20100827-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#189487 - qt4-x11 fails to build due to problems with opening data base file doc/qch/qt.qch
+ * Fixes: NB#174335 - Pinch gesture events are sent twice to application
+ * Fixes: NB#175685 - QTextDocument setTextDirection without QStaticText is not obeyed in Qt 4.7
+ * Fixes: NB#185563 - QTouchEvents are not correctly delivered to widgets
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Mon, 06 Sep 2010 16:48:24 +0300
+
+qt4-x11 (4.7.0~git20100823-0maemo2) unstable; urgency=low
+
+ * Fixes: NB#178358 - Qt doc package missing
+ * Stop building QtWebKit library from Qt source tree. QtWebKit will
+ * be delivered as an independent package.
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Tue, 31 Aug 2010 10:10:15 +0300
+
+qt4-x11 (4.7.0~git20100823-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#178358 - Qt doc package missing
+ * Fixes: NB#183896 - QAuthenticator need to be patched to enable signon usage for authentication
+ * Fixes: NB#176070 - QNetworkAccessManager can't be used in QThreads
+ * Fixes: NB#176651 - Height for Width in QGraphicsLayout
+ * Fixes: NB#174429 - Qt source packages are missing API files
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Tue, 24 Aug 2010 14:11:00 +0300
+
+qt4-x11 (4.7.0~git20100811-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#165683 - QGraphicsGridLayout::setColumnSpacing is used even after item has been removed
+ * Fixes: NB#172554 - POP: Random fenix crash @ "QAbstractSocket::writeData" when move to option selected
+ * Fixes: NB#175618 - qDrawBorderPixmap is not executing correctly when borders are too thick
+ * Fixes: NB#176643 - Segmentation fault occurs while using networking
+ * Fixes: NB#180034 - we need QTBUG-11213 fixed in Harmattan - QUuid::createUuid() is not random at all
+ * Fixes: NB#182005 - Unable to build libmcontentwidgets package with libqt4 4.7.0~git20100716-0maemo1+0m6
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Wed, 11 Aug 2010 11:03:15 +0200
+
+qt4-x11 (4.7.0~git20100716-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#176070 - QNetworkAccessManager can't be used in QThreads
+ * Fixes: NB#180047 - Call UI gets shrunken while calling any number
+ * Fixes: NB#174856 - QNetworkAccessManager broken in 4.7.0~git20100609-0maemo1+0m6
+ * Fixes: NB#179240 - QFile::read does not advance the stream
+ * Fixes: NB#173119 - Bidirectional Text Rendering in Arabic language is broken with Latin characters
+ * Fixes: NB#161897 - DuiInfoBanner's setBodyText ignores <br/> tag
+ * Fixes: NB#177478 - QAuthenticator should have property map
+
+ -- Janne Hamalainen <janne.a.hamalainen@nokia.com> Thu, 22 Jul 2010 11:19:09 +0200
+
+qt4-x11 (4.7.0~git20100704-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#172773 - celluid process is causing the wakeups in idle mode
+ * Fixes: NB#175064 - QNetworkSession signals wrong state after calling stop()
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Mon, 5 Jul 2010 14:39:09 +0200
+
+qt4-x11 (4.7.0~git20100614-0maemo2) unstable; urgency=low
+
+ * Fixes: NB#167514 - [browser-blocker] Multitouch events don't work if application is launched during device start-up
+ * Fixes: NB#175383 - qt4-acceptance-tests fail during ART Execution
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Mon, 5 Jul 2010 14:39:09 +0200
+
+qt4-x11 (4.7.0~git20100614-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#172906 - Majority of applications crashing on exit
+ * Fixes: NB#173866 - Data added to HTML5 database doesn't get flushed/persisted to database
+ * Fixes: NB#173250 - QGLContext can create end up creating a QWidget during the QApplication destructor, leading to crash
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Tue, 15 Jun 2010 11:14:33 +0200
+
+qt4-x11 (4.7.0~git20100609-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#170006 - Qt 4.7 singleShot timer calls function immediately instead of at the next event loop
+ * Fixes: NB#167058 - TapGesture not working
+ * Fixes: NB#173089 - The Qt 4.7 does not compile icd bearermanagement network plugin
+ * Fixes: NB#172749 - If grabGesture() called QGraphicsWidget will crash in deletion
+ * Fixes: NB#155179 - (QTBUG-9707) qpainter->drawTiledPixmap cause slow call of QX11PixmapData::toImage.
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Thu, 10 Jun 2010 16:46:15 +0200
+
+qt4-x11 (4.6.3~git20100602.0.4.7-0maemo1) unstable; urgency=low
+
+ * Release Qt 4.7. The version still keeps the 4.6.3 package version,
+ * in order to allow for emergency rollback to Qt 4.6.
+ * Fixes: NB#161556 - [METABUG] Integrate Qt 4.7 into Harmattan
+ * Fixes: NB#151100 - (QT-2948) The Qt Reg-Exp engine sometimes gives false positive empty match
+ * Fixes: NB#157450 - Frequent use of QTime in animation related routines causes bad performance
+ * Fixes: NB#156908 - Qt's QTime::currentTime is slow
+ * Fixes: NB#166193 - MDialog crashes with ~40% likelihood
+ * Fixes: NB#170944 - Gesture not delivered to a QGraphicsWidget, asserts inside Qt
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Wed, 4 Jun 2010 12:46:15 +0300
+
+qt4-x11 (4.6.3~git20100521-0maemo2) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#169433 - when freeing a QQLWidget not all memory is actually freed
+ * Fixes: NB#165175 - a class inherited from QDBusInterface can't invoke a method
+
+ -- Janne Hamalainen <janne.a.hamalainen@nokia.com> Tue, 25 May 2010 10:13:31 +0300
+
+qt4-x11 (4.6.3~git20100514-0maemo2) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#164183 - Random gestureEvent crashes
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Tue, 18 May 2010 12:57:30 +0300
+
+qt4-x11 (4.6.3~git20100411-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#162327 unlocking the device causes a segfault in any app open in foreground
+ * Fixes: NB#163414 Crash when hiding VKB and keep finger on screen.
+ * Fixes: NB#160270 <MemLeak> valgrind report shows memory leak for QImage::save()
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Mon, 12 Apr 2010 13:51:00 +2000
+
+qt4-x11 (4.6.3~git20100319-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Multi-touch support
+ * Fixes: NB#159993 Qt is freezing application for 2 seconds when calling showFullScreen
+ * Fixes: NB#155384 Make drawGlyphs API public
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Fri, 19 Mar 2010 15:31:00 +2000
+
+qt4-x11 (4.6.3~git20100310-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#146992 Double tap doesn't get recognized in MAFW test gui
+ * Fixes: NB#134295 QDBusInterface::callWithCallback deadlocks if called from the callWithCallback error callback
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Mon, 15 Mar 2010 12:34:26 +2000
+
+qt4-x11 (4.6.3~git20100224-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Remove Qt3Support
+ * Add lconvert
+ * Fixes: NB#154800 Using -opensource configuration in maemo6
+ * Fixes: NB#158708 Googleplugin crashes while configuring google account
+ * Fixes: NB#158242 all unit tests for quillimagefilter-tests are core dumped
+ * Fixes: NB#157696 QDBusServiceWatcher watches only one service at a time
+
+ -- Janne Hamalainen <janne.a.hamalainen@nokia.com> Wed, 24 Feb 2010 11:34:26 +2000
+
+qt4-x11 (4.6.2~git20100205-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#142357 - (#QT-2307) Using QDBus::CallMode other than
+ * QDBus::Block produces invalid reply
+ * Fixes: NB#138587 - QGraphicsGridLayout row span feature is not working properly
+ * Fixes: NB#153726 - QtMultimedia module is not packaged
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 12 Feb 2010 12:20:26 +2000
+
+qt4-x11 (4.6.1~git20091228.4-0maemo1) unstable; urgency=low
+
+ * Turn off the HW multi-touch implementation using kernel device API.
+ * Removed Qt Assistant and Designer packages.
+ * Fixes: NB#148497 - Devel package missing requires for some libraries
+ * Fixes: NB#151088 - Packaging of the Qt4.6 developer tools
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Thu, 14 Jan 2010 12:43:37 +2000
+
+qt4-x11 (4.6.1~git20091228.2-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#144690 - Please cherrypick ConsumeEventHint patch (Gesture)
+ * Fixes: NB#143903 - Application not working in none gui mode -> The KDE libs cannot be installed.
+ * Fixes: NB#143427 - Qt 4.6 - lrelease does not accept empty <source>
+ * Fixes: NB#147283 - All DUI application crash in scratchbox
+ * Fixes: NB#147461 - QVariant::isNull() == true after QVariant::setValue()
+ * Fixes: NB#149547 - With latest Qt 20091127 Clock application is closing on setting alarm operation
+ * Fixes: NB#117725 - sb2 cannot build camera-ui
+ * Fixes: NB#148359 - webkit traverse fixture links against phonon but it is not in package dependencies
+ * Fixes: NB#148082 - Performance of the graphics view drops when text element is rotated
+ * Fixes: NB#142507 - QTimeLine's signals are not sent while an object is being dragged with mouseMoveEvent()
+ * Fixes: NB#147744 - Translucent QGLWidgets no longer works
+ * Fixes: NB#150790 - QWebKit based application crashes when executing SunSpider
+ * Fixes: NB#150808 - Loading a web page from network to qwebview fails on columbus
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Tue, 05 Jan 2010 11:10:00 +2000
+
+qt4-x11 (4.6.0~git20091030.2-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#129594 - Qt compiled without compiler optimization
+ * The X org package does not support the MIT SHM extension anymore,
+ so the MIT SHM option is removed from Qt configuration also.
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 20 Nov 2009 16:59:11 +2000
+
+qt4-x11 (4.6.0~git20091030-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#134295 - QDBusInterface::callWithCallback deadlocks if called from the callWithCallback error callback
+ * Fixes: NB#133005 - enabling accessibility while building Qt
+ * Fixes: NB#144501 - Application launcher does not start with the new Qt 4.6 versions
+ * Fixes: NB#129494 - Qt compiled without compiler optimization
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 30 Oct 2009 15:13:18 +1000
+
+qt4-x11 (4.6.0~git20091012-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#141280 - libqt4-dev.postinst rules for Qt4.6 wrong
+ * Fixes: NB#133500 - libqt4-dev postinst is broken by update-alternatives from dpkg 1.15
+ * Fixes: NB#142136 - Error in satisfying dependencies for qt4-x11
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Thu, 12 Oct 2009 10:30:00 +0300
+
+qt4-x11 (4.6.0~git20091008-0maemo1) unstable; urgency=low
+
+ * Fixes NB#141891: - Compiling a library which uses QStateMachine doesn't work
+ * Modify rpath-link options to adapt to armel scratchbox environment
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Wed, 08 Oct 2009 11:18:37 +0300
+
+qt4-x11 (4.6.0~git20091002-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#141550 - Error in qdatastream.h in libqt4-dev 4.6.0~git20091001-0maemo1+0m6
+ * Fixes: NB#140293 - applet titles in applet library are not shown properly - added PATCH in qt changing glyph cache
+ * Fixes: NB#140727 - Enable multitouch support on device
+ * Fixes: NB#123012 - QPainter::drawTiledPixmap does not work properly with
+ non-power-of-two pixmaps when used in a DuiWidgetView
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Thu, 01 Oct 2009 15:08:32 +0300
+
+qt4-x11 (4.6.0~git20090925-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#140735 - QtGui 4.6 should have dependency to EGL
+ * Fixes: NB#139269 - qmake CONFIG=debug does not add -g
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 25 Sep 2009 15:48:32 +0300
+
+qt4-x11 (4.6.0~git20090911-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#111282 - Homescreen rotation takes too long
+ * Fixes: NB#110604 - DuiLayouts using DuiFlowLayoutPolicy don't resize properly
+ * Fixes: NB#121054 - Items being not painted until update()/paint() explicitly called
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 11 Sep 2009 15:17:33 +0300
+
+qt4-x11 (4.6.0~git20090909-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#137778 - qt macro causing build error when using -pedantic
+ * Fixes: NB#137775 - qt debian packaking installing a missing file
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Wed, 09 Aug 2009 15:52:51 +0300
+
+qt4-x11 (4.6.0~git20090907-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#104827 - DuiLabel truncate arabic string and renders replaces the MEDIAL form character into FINAL on the point of truncation
+
+ -- Shane Bradley <shane.bradley@nokia.com> Tue, 08 Aug 2009 15:17:24 +1000
+
+qt4-x11 (4.6.0~git20090828-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Mon, 24 Aug 2009 15:47:37 +1000
+
+qt4-x11 (4.6.0~git20090824-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#127429 - QtOpenGL public header refers to non-existant qglshaderprogram.h
+
+ -- Shane Bradley <shane.bradley@nokia.com> Mon, 24 Aug 2009 15:47:37 +1000
+
+qt4-x11 (4.6.0~git20090820-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 20 Aug 2009 16:16:14 +1000
+
+qt4-x11 (4.6.0~git20090819-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#132164 - libqt4-webkit package is broken
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 19 Aug 2009 15:32:21 +1000
+
+qt4-x11 (4.6.0~git20090728-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#129594 - Qt compiled without compiler optimization
+ * Fixes: NB#127404 - Rendering errors with OpenGL in Qt 4.6
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 30 Jul 2009 14:02:24 +1000
+
+qt4-x11 (4.6.0~git20090717-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#117929 - Qt mkspecs use -Wl,--rpath by default causing warnings in Debian packaging
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 15 Jul 2009 10:32:20 +1000
+
+qt4-x11 (4.6.0~git20090717-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Partial fix for 127404.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 15 Jul 2009 10:32:20 +1000
+
+qt4-x11 (4.6.0~git20090706-0maemo1) unstable; urgency=low
+
+ * Switch to using 4.6.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 07 Jul 2009 10:32:20 +1000
+
+qt4-x11 (4.5.2~git20090701-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#122175 - Qt debugging symbols issues
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 07 Jul 2009 10:32:20 +1000
+
+qt4-x11 (4.5.2~git20090605-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 05 Jun 2009 19:46:34 +1000
+
+qt4-x11 (4.5.2~git20090601-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Mon, 01 Jun 2009 17:01:23 +1000
+
+qt4-x11 (4.5.2~git20090525-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Mon, 25 May 2009 15:30:34 +1000
+
+qt4-x11 (4.5.2~git20090515-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 15 May 2009 20:01:16 +1000
+
+qt4-x11 (4.5.2~git20090508-0maemo2) unstable; urgency=low
+
+ * Changed control file as per Maemo patch.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Mon, 11 May 2009 18:49:23 +1000
+
+qt4-x11 (4.5.2~git20090508-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 08 May 2009 17:51:46 +1000
+
+qt4-x11 (4.5.2~git20090506-0maemo1) unstable; urgency=low
+
+ * Removed -lxcb-xlib referance from mkspec.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Wed, 06 May 2009 19:01:22 +1000
+
+qt4-x11 (4.5.2~git20090505-0maemo2) unstable; urgency=low
+
+ * Removed old EGL config patch.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Wed, 06 May 2009 14:42:35 +1000
+
+qt4-x11 (4.5.2~git20090505-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Added gles translucency patch
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Tue, 05 May 2009 21:32:21 +1000
+
+qt4-x11 (4.5.2~git20090424-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 24 Apr 2009 18:32:37 +1000
+
+qt4-x11 (4.5.1~git20090422-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 22 Apr 2009 17:20:12 +1000
+
+qt4-x11 (4.5.1~git20090417-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#110528 - int QTest::qExec() returns always 0...
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 17 Apr 2009 13:30:20 +1000
+
+qt4-x11 (4.5.1~git20090403-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#109352 - libqt4-dev is missing libQtUiTools.a
+
+ -- Shane Bradley <shane.bradley@nokia.com> Fri, 03 Apr 2009 17:04:40 +1000
+
+qt4-x11 (4.5.1~git20090331-0maemo2) unstable; urgency=low
+
+ * Move QtClucene from the core package to the help package. This is only
+ used by assistant.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 01 Apr 2009 16:44:52 +1000
+
+qt4-x11 (4.5.1~git20090331-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Tue, 31 Mar 2009 10:35:50 +1000
+
+qt4-x11 (4.5.1~git20090326-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Add qdoc3 binary to qt4-dev-tools package.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 26 Mar 2009 14:17:39 +1000
+
+qt4-x11 (4.5.1~git20090324-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Tue, 24 Mar 2009 10:39:35 +1000
+
+qt4-x11 (4.5.1~git20090317-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#105936
+
+ -- Shane Bradley <shane.bradley@nokia.com> Tue, 17 Mar 2009 14:15:30 +1000
+
+qt4-x11 (4.5.1~git20090316-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#103601
+
+ -- Shane Bradley <shane.bradley@nokia.com> Mon, 16 Mar 2009 13:14:17 +1000
+
+qt4-x11 (4.5.0-0maemo2) unstable; urgency=low
+
+ * Fixes: NB#103953, NB#103601
+ * Add additional dependencies for the phonon package.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 05 Mar 2009 16:53:23 +1000
+
+qt4-x11 (4.5.0-0maemo1) unstable; urgency=low
+
+ * Pull from upstream for 4.5.0 release.
+ * Fixes: NB#99812
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 27 Feb 2009 18:37:27 +1000
+
+qt4-x11 (4.5.0~git20090219-0maemo1) unstable; urgency=low
+
+ * Removed subversion files and disabled patches.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 19 Feb 2009 16:09:14 +1000
+
+qt4-x11 (4.5.0~git20090219-maemo1) unstable; urgency=low
+
+ * Migrated to new repository.
+ * Merged with upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 19 Feb 2009 14:24:45 +1000
+
+qt4-x11 (4.5.0~git20090212-maemo2) unstable; urgency=low
+
+ * Removed include/Qt/qpixmapfilter.h from debian/libqt4-dev.install
+
+ -- Mohammad Anwari <mohammad.anwari@nokia.com> Fri, 13 Feb 2009 09:50:33 +0200
+
+qt4-x11 (4.5.0~git20090212-maemo1) unstable; urgency=low
+
+ * Merged with upstream.
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Thu, 12 Feb 2009 13:45:11 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo6) unstable; urgency=low
+
+ * Added patch 102_egl_config.diff
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Thu, 12 Feb 2009 12:53:25 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo5) unstable; urgency=low
+
+ * Removed old Ubuntu patches
+ * Added patch 101_multiple-translation.diff to series file
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Mon, 26 Jan 2009 18:48:50 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo4) unstable; urgency=low
+
+ * Multiple translation variant patch was added
+ * Shader patch was removed
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Mon, 26 Jan 2009 17:38:50 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo2) unstable; urgency=low
+
+ * Removed configure switch -no-tablet
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Thu, 22 Jan 2009 18:14:50 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo1) unstable; urgency=low
+
+ * Merged from upstream
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Thu, 22 Jan 2009 17:51:34 +0200
+
+qt4-x11 (4.5.0~git20090108-maemo2) unstable; urgency=low
+
+ * Fixes for lintian errors
+ * Fixes in install files
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Thu, 15 Jan 2009 11:00:17 +0200
+
+qt4-x11 (4.5.0~git20090108-maemo1) unstable; urgency=low
+
+ * Merged from upstream
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Thu, 08 Jan 2009 19:19:29 +0200
+
+qt4-x11 (4.5.0~git20081217-maemo2) unstable; urgency=low
+
+ * Debug packages available again
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Wed, 07 Jan 2009 16:55:53 +0200
+
+qt4-x11 (4.5.0~git20081217-maemo1) unstable; urgency=low
+
+ * Quilt works again
+ * Merged from upstream
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Tue, 17 Dec 2008 10:21:47 +0200
+
+qt4-x11 (4.5.0~git20081216-maemo1) unstable; urgency=low
+
+ * Applied patch 100_glconfig_shader.diff until I have
+ figured out, why quilt won't run.
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Tue, 16 Dec 2008 12:51:47 +0200
+
+qt4-x11 (4.5.0~git20081215-maemo1) unstable; urgency=low
+
+ * added patch 100_glconfig_shader.diff submitted by <mohammad.anwari@nokia.com>:
+ * enable running Qt+GL in newer images of R***r
+ * solved the compilation of TextFragmentShader which failed because lacking of a precision of a vec4
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Mon, 15 Dec 2008 14:43:56 +0200
+
+qt4-x11 (4.5.0~git20081209-maemo1) unstable; urgency=low
+
+ * Merge with upstream
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Tue, 09 Dec 2008 10:31:45 +0200
+
+qt4-x11 (4.5.0~git20081202-maemo3) unstable; urgency=low
+
+ * Removed libglu-dev from libqt4-opengl-dev
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Fri, 05 Dec 2008 00:31:36 +0200
+
+qt4-x11 (4.5.0~git20081202-maemo2) unstable; urgency=low
+
+ * Split opengl packages
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Tue, 02 Dec 2008 16:35:31 +0200
+
+qt4-x11 (4.5.0~git20081202-maemo1) unstable; urgency=low
+
+ * Pull from upstream
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Tue, 02 Dec 2008 09:33:02 +0200
+
+qt4-x11 (4.5.0~git20081129-maemo1) unstable; urgency=low
+
+ * Copied to DUI's git
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Sat, 29 Nov 2008 00:00:04 +0700
+
+qt4-x11 (4.5.0-maemo1-11142008) unstable; urgency=low
+
+ * pull from upstream
+
+ -- Jani Mikkonen <ext-jani.3.mikkonen@nokia.com> Fri, 14 Nov 2008 15:00:00 +0200
+
+
+qt4-x11 (4.5.0-maemo1) unstable; urgency=low
+
+ * new upstream version with gles2 support
+ * removed nonfunctional patches
+
+ -- Jani Mikkonen <ext-jani.3.mikkonen@nokia.com> Tue, 11 Nov 2008 18:00:00 +0200
+
+qt4-x11 (4.4.0-2maemo5) unstable; urgency=low
+
+ * Enabled Exceptions
+ * Added QT3 support libraries
+ * Added xml-patterns
+
+ -- Jani Mikkonen <ext-jani.3.mikkonen@nokia.com> Tue, 28 Oct 2008 12:00:00 +0200
+
+qt4-x11 (4.4.0-2maemo4) unstable; urgency=low
+
+ * testing tag, minor changes
+
+ -- Jani Mikkonen <ext-jani.3.mikkonen@nokia.com> Tue, 9 Sep 2008 16:00:00 +0300
+
+qt4-x11 (4.4.0-2maemo3) unstable; urgency=low
+
+ * libreadline dependency, no opengl
+
+ -- Arsi Antila <ext-arsi.antila@nokia.com> Wed, 9 Jul 2008 15:36:34 +0300
+
+
+qt4-x11 (4.4.0-2maemo2) unstable; urgency=low
+
+ * No interbase support for i386
+
+ -- Jussi Hakala <ext-jussi.hakala@nokia.com> Wed, 18 Jun 2008 11:59:27 +0300
+
+qt4-x11 (4.4.0-2maemo1) unstable; urgency=low
+
+ * Configuration for maemo environment
+ * Workarounds for find/delete inside sbox environment
+ * Adjusted the control file to behave with etch dpkg
+
+ -- Jussi Hakala <ext-jussi.hakala@nokia.com> Thu, 12 Jun 2008 13:57:49 +0300
+
+qt4-x11 (4.4.0-2) unstable; urgency=low
+
+ +++ Changes by Fathi Boudra:
+
+ * Split html documentation in qt4-doc-html package.
+ * Merge Ubuntu patches:
+ * Add lpia architecture in trusted dpkg-arch over uname.
+ * Add sqlite3 workaround in config tests fixes.
+ * Add qt-copy patch:
+ * 0227-qdatastream-regression
+ Fix a bug that causes all Qt3/2 applications to crash or hang under KDE4.
+
+ +++ Changes by Modestas Vainius:
+
+ * Add 16_qsortfilterproxymodel_invalidate_noscroll.diff patch which stops
+ scrolling to the current item/index on QSortFilterProxyModel::invalidate()
+ This patch has been scheduled for Qt 4.4.1 (TT #204403).
+ * Add missing Replaces:
+ - libqt4-opengl-dev replaces libqt4-dev (<< 4.4.0-2) due to obvious
+ reasons.
+ - libqt4-dev replaces libqt4-opengl-dev (<< 4.4.0-2) (due to qglobal.h
+ misplace).
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Fri, 09 May 2008 23:35:16 +0300
+
+qt4-x11 (4.4.0-1) unstable; urgency=low
+
+ * New upstream release.
+
+ +++ Changes by Modestas Vainius:
+
+ * Split OpenGL headers from libqt4-dev to libqt4-opengl-dev:
+ - Update install files.
+ - Make libqt4-opengl-dev depend on X OpenGL headers, hence remove the
+ latter from libqt4-dev Recommends.
+ - Add libqt4-opengl-dev to libqt4-dev Recommends.
+ - Remove libq4-opengl from libqt4-dev Depends.
+ * Explicitly add libqtcore4 to libqt4-dev (was implicit before).
+ * Rename libqt4-gui to libqtgui4 (new package).
+ * Make libqt4-gui a transitional package (Closes: #478694) depending on
+ libqtgui4, libqt4-opengl (Closes: #478264), libqt4-sql, libqt4-designer,
+ libqt4-assistant.
+ * Use ${binary:Version} instead of ${source:Version} in dependencies of
+ libqt4-core and libqt4-gui transitional packages.
+ * Require just libqtcore4 to install libqt4-dbg instead of libqt4-gui.
+ * Resync patches:
+ - 05_append_qt4_target.diff - fix offsets.
+ - 11_qdbus_to_dbus_fix.diff - remove, merged upstream.
+ - Revert to "runtime" configuration for xcursor, xinerama, xfixes and drop
+ 16_always_init_qt_x11data_ptrx.diff patch. Fixed upstream.
+
+ +++ Changes by Fathi Boudra:
+
+ * Update libqt4-dev and libqt4-opengl-dev install to use complete files
+ list instead of wildcard.
+ * Update installed files: new qt help and assistant translations.
+ * Add qt-copy patch:
+ * 0226-qtreeview-column_resize_when_needed
+ This patch assures that if no header is shown, or if we only have one
+ column (so no other columns become shrinked), the contents will be
+ visible.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Tue, 06 May 2008 17:37:49 +0200
+
+qt4-x11 (4.4.0~rc1-5) unstable; urgency=high
+
+ +++ Changes by Fathi Boudra:
+
+ * Add libqt4-sql-sqlite dependency to qt4-dev-tools. Qt Assistant and
+ qhelpgenerator use the sqlite plugin. (Closes: #476986)
+ * Remove qt-copy patches 0191 and 0192. The relevant code has changed
+ such that neither patch seems to have any effect (although listviews
+ still do not use active/inactive roles correctly).
+ * Add qt-copy patches:
+ * 0223-fix-qpixmap-hasalpha
+ Fix a performance regression in QPixmap::hasAlpha() in Qt 4.4.
+ * 0224-fast-qpixmap-fill
+ This patch avoids the expensive image->pixmap conversion by discarding
+ the old pixmap, creating a new one with the correct format, and doing
+ the fill server side.
+ * 0225-invalidate-tabbar-geometry-on-refresh
+ Fix problem where Konsole's tab bar is not shown immediately on startup.
+
+ +++ Changes by Modestas Vainius:
+
+ * Downgrade libqt4-dev *gl*-dev dependencies to Recommends.
+ They pull in half of X11 development headers and are rarely needed.
+ What's more, OpenGL apps will probably depend on them explicitly anyway.
+ * Add development packages of the SQL plugins to libqt4-dev Suggests.
+ * Make libqt4-sql recommend its plugins. Depends does not do us any good
+ because we don't know which plugin a user is going to use anyway. Moreover
+ installation of the libqt4-sql package does not necessarily imply usage of
+ the specific plugin(s). Finally, this resolves circular dependencies among
+ libqt4-sql and its plugins.
+ * Add myself to Uploaders.
+ * Add 16_always_init_qt_x11data_ptrx.diff, which ensures that X11->ptrX*
+ are properly initialized when Xcursor, Xinerama, Xfixes are not available
+ in default "runtime" configuration (Closes: #476608).
+ * Pass -xfixes -xcursor -xinerama to configure because default "runtime"
+ configuration requires a user to have libxfixes-dev, libxcursor-dev and
+ libxinerama-dev installed to enable features requires respective X
+ libraries (QLibrary simply searches for "lib*.so"). This change in
+ configuration makes 16 patch irrelevant for Debian, but I'm leaving it
+ as it's still the fix for the crashes which might occur on default Qt 4.4
+ configutions.
+ * Optimize qmake: pass -optimized-qmake to configure.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Sun, 27 Apr 2008 04:15:28 +0300
+
+qt4-x11 (4.4.0~rc1-4) unstable; urgency=low
+
+ +++ Changes by Sune Vuorela:
+
+ * Have libqt4-dev conflict/replace libqtwebkit-dev.
+ * Fix qmake to generate a bit better pkg-config files. Those should usually
+ not be generated - as it ends up being crackful. After a bit of patching
+ they are a bit less crackful though. (Closes: 457570)
+ * Postprocess prl files to remove the same crack as in the pc files.
+ (Closes: 470572)
+ * Do a bit nicer linking when needed instead of relying on crackfulness from
+ prl and pc files.
+ * Add a disabled patch to generate better prl files, but unfortunately too
+ much of qt4 build process relies on on it and is not yet fixed, but it is
+ saved for later use.
+ * Fix qmake makefile generation - should not add double slashes to
+ makefiles.
+ * Make libqt4-core transitional package arch:any. It doesn't bloat the
+ archive too much, but it helps on installability.
+
+ +++ Changes by Matthew Rosewarne:
+
+ * Add Recommends: qt4-doc to qt4-demos.
+ * Add watch file.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Tue, 15 Apr 2008 23:48:31 +0200
+
+qt4-x11 (4.4.0~rc1-3) unstable; urgency=low
+
+ +++ Changes by Sune Vuorela:
+
+ * Clean up a bit in the dependencies of libqt4-dev. Removed dependencies:
+ libqt4-sql-mysql, libqt4-sql-odbc, libqt4-sql-psql, libqt4-sql-sqlite,
+ libqt4-sql-sqlite2, libqt4-sql-ibase, firebird2.0-dev, libaudio-dev,
+ libcupsys2-dev, libdbus-1-dev, libfreetype6-dev, libglib2.0-dev,
+ libice-dev, libiodbc2-dev, libjpeg62-dev, libmng-dev, libmysqlclient15-dev,
+ libpam0g-dev, libpng12-dev, libpq-dev, libreadline5-dev, libsm-dev,
+ libsqlite0-dev, libsqlite3-dev, libtiff4-dev, libx11-dev, libxcursor-dev,
+ libxext-dev, libxft-dev, libxi-dev, libxinerama-dev, libxmu-dev,
+ libxrandr-dev, libxrender-dev, libxslt1-dev, libxt-dev, x11proto-core-dev,
+ zlib1g-dev
+
+ +++ Changes by Fathi Boudra:
+
+ * Add libqt4-svg dependency to libqt4-gui. It helps for the transition as
+ libQtSvg.so.4 was previously in libqt4-gui package. (Closes: #475324)
+ * Replace libqcncodecs.so in libqt4-gui (<< 4.4.0~beta1-1). (Closes: #475340)
+ * Update 20_mips_atomic_ops patch. Qt4.4 introduced two new atomic operations
+ without the necessary assembler .set directives.
+ Thanks to Thiemo Seufer. (Closes: #475402)
+
+ -- Fathi Boudra <fabo@debian.org> Sat, 12 Apr 2008 07:48:37 +0200
+
+qt4-x11 (4.4.0~rc1-2) unstable; urgency=low
+
+ * Add patch for Explicit template specialization cannot have a storage class
+ with gcc-4.3. Specializations of templates cannot explicitly specify
+ a storage class, and have the same storage as the primary template.
+
+ -- Fathi Boudra <fabo@debian.org> Wed, 09 Apr 2008 09:40:00 +0200
+
+qt4-x11 (4.4.0~rc1-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #469783)
+
+ +++ Changes by Modestas Vainius:
+
+ * Refresh qt-copy patches:
+ * 0167-fix-group-reading.diff - adjust offsets.
+ * 0180-window-role.diff - adjust offsets.
+ * 0195-compositing-properties.diff - adjust offsets.
+ * 0203-qtexthtmlparser-link-color.diff - adjust offsets.
+ * 0209-prevent-qt-mixing.diff - adjust offsets.
+ * 0214-fix-qgraphicsproxywidget-tab-crash.diff - adjust offsets.
+ * 0216-allow-isystem-for-headers.diff - adjust offsets.
+ * Remove qt-copy patches:
+ * 0172-prefer-xrandr-over-xinerama.diff - merged upstream.
+ * 0178-transparency-window-types.diff - merged upstream.
+ * 0215-compile-with-Xcursor-linkage.diff - merged upstream.
+ * 0217-qurl-isempty-regression.diff - merged upstream.
+ * 0218-qassert-macro-fix.diff - merged upstream.
+ * fix-qt_bootstrapped-typo.diff - merged upstream.
+ * Add qt-copy patches:
+ * 0220-no-x-recursion-in-xerrhandler.diff - adjust offsets.
+ * Refresh Debian patches:
+ * 02_launch_assistant-qt4.diff - adjust offsets.
+ * 05_append_qt4_target.diff - adopt to upstream changes. lrelease and
+ lupdate have been moved to tools/linguist/, adjust offsets.
+ * 50_kfreebsd_build_fix.diff - adjust offsets.
+ * 80_hurd_max_path.diff - adjust offsets.
+ * Remove Debian patches:
+ * 08_load_ssl.diff - different fix applied upstream.
+ * Update *.install files:
+ * qt4-dev-tools.install: a few renames of the language files,
+ s/assistant-qt3/assistant-qt4/, add usr/bin/xmlpatterns
+ * Add libqt4-core transitional package. (Closes: #473658)
+ * Add debian/not-installed to document files which are deliberately not
+ installed
+ * Avoid calling ./configure repeatedly during build/install: tie ./configure
+ to config.status
+
+ +++ Changes by Fathi Boudra:
+
+ * Re-introduce LD_LIBRARY_PATH workaround to use lrelease.
+ * Remove Conflicts against libqt4-core.
+ * Reorder libqt4-sql dependencies to have packages available on all
+ architectures listed first. (Closes: #473348)
+ * Add architectures availability list to libqt4-sql-ibase package.
+ (Closes: #473348)
+ * Add patch to fix unaligned access on hppa. Thanks to Bernhard R. Link.
+ (Closes: #458133)
+ * Add patch to replace remaining qdbus by dbus. Fix libqtscriptdbus build.
+ * Update configure options:
+ * Replace -qdbus by -dbus.
+ * Add -svg.
+
+ +++ Changes by Matthew Rosewarne:
+
+ * Rewrite clean rule to remove remaining build cruft.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Mon, 07 Apr 2008 01:36:54 -0400
+
+qt4-x11 (4.4.0~beta1-1) experimental; urgency=low
+
+ * New upstream release.
+
+ * Add build dependencies: doxygen, firebird2.0-dev, libiodbc2-dev,
+ libpam0g-dev, libreadline5-dev, libxslt1-dev.
+ * Split libqt4-gui and libqt4-core packages.
+ * Create package for each Qt module.
+ * Enable all SQL drivers as plugins and add related packages:
+ libqt4-sql-ibase, libqt4-sql-mysql, libqt4-sql-odbc, libqt4-sql-psql,
+ libqt4-sql-sqlite, libqt4-sql-sqlite2.
+ * Add packages: libqt4-assistant, libqt4-dbus, libqt4-designer, libqt4-help,
+ libqt4-network, libqt4-opengl, libqt4-script, libqt4-svg, libqt4-test,
+ libqt4-webkit, libqt4-xml, libqt4-xmlpatterns and qt4-demos.
+ * Replace libqt4-core by libqtcore4 package.
+ * Rename libqt4-debug to libqt4-dbg like other debug packages in Debian.
+ * Update .lintian override files.
+ * Update .install files.
+ * Move translations files in their respective packages.
+ * Disable DEB_INSTALL_CHANGELOGS_ALL.
+ * Build ibase sql plugin on supported architectures only.
+ * Enable demos, examples, WebKit and XmlPatterns.
+ * Enable exceptions. It is a dependency to XmlPatterns module.
+ * Add qtdemo help collection file.
+ * Split WebKit and XmlPatterns debug packages from libqt4-dbg.
+ * Generate Doxygen tagfile in libqt4-dev. Thanks to Matthew Rosewarne.
+ * Examples and Demos are not shipped compressed anymore.
+ * Refresh qt-copy patches:
+ * 0167-fix-group-reading
+ * 0172-prefer-xrandr-over-xinerama
+ * 0178-transparency-window-types
+ * 0180-window-role
+ * 0191-listview-alternate-row-colors
+ * 0192-itemdelegate-palette-state
+ * 0195-compositing-properties
+ * 0203-qtexthtmlparser-link-color
+ * 0209-prevent-qt-mixing
+ * 0210-fix-crash-q3stylesheet-font-size
+ * Remove qt-copy patches:
+ * 0175-fix-s390-qatomic
+ * 0176-coverity-fixes
+ * 0179-transient-hack
+ * 0187-fix-font-fixed-pitch
+ * 0194-fix-moveonly-dnd-in-itemviews
+ * 0200-fix-qsslsocket-waitfor
+ * 0205-fast-qpixmap-fill
+ * 0211-q3action-crash
+ * Add qt-copy patches:
+ * 0214-fix-qgraphicsproxywidget-tab-crash
+ * 0215-compile-with-Xcursor-linkage
+ * 0216-allow-isystem-for-headers
+ * 0217-qurl-isempty-regression
+ * 0218-qassert-macro-fix
+ * fix-qt_bootstrapped-typo
+ * Refresh Debian patches:
+ * 01_qmake_for_debian
+ * 02_launch_assistant-qt4
+ * 03_launch_moc-qt4
+ * 04_launch_uic-qt4
+ * 05_append_qt4_target
+ * 08_load_ssl
+ * 10_config_tests_fixes
+ * 40_alpha_ice
+ * 41_disable_opengl_visibility
+ * 50_kfreebsd_build_fix
+ * 60_m68k_inotify_fix
+ * 80_hurd_max_path
+ * Remove Debian patches:
+ * 06_qtdemo_destdir. Useless as we ship qtdemo again.
+ * 30_arm_ftbfs_fixes. Merged upstream.
+ * 31_arm_eabi_fix. Upstream changed arm architecture handling.
+ This patch doesn't apply as it is.
+ * 91_qmake_lflags_no-undefined. Merged upstream.
+
+ -- Fathi Boudra <fabo@debian.org> Thu, 13 Mar 2008 22:34:45 +0100
+
+qt4-x11 (4.3.4-2) unstable; urgency=low
+
+ * Add patches:
+ * 09_qmake_lflags_as-needed
+ workaround as LDFLAGS isn't honored by configure script.
+ we set --as-needed flag for Qt build only.
+ * 10_config_tests_fixes.diff
+ configuration test fixes for Interbase/Firebird and ODBC sql drivers.
+ * Update 01_qmake_for_debian patch:
+ * re-introduce link_prl and drop QT_SHARED workaround.
+ * Update rules:
+ * Remove exported LDFLAGS.
+ * Remove DEB_CONFIGURE_SCRIPT_ENV.
+ * Exclude debug files from dh_shlibdeps using DEB_DH_SHLIBDEPS_ARGS_ALL.
+ * Update configure options to use libtiff from system.
+ * Remove debug configure option to build with -02.
+ * Update common-install-arch target to fix wrong path in pkconfig and prl files.
+ * Add libtiff4-dev build dependency.
+ * Update libqt4-dev dependencies.
+
+ -- Fathi Boudra <fabo@debian.org> Sat, 08 Mar 2008 10:09:02 +0100
+
+qt4-x11 (4.3.4-1) unstable; urgency=low
+
+ * New upstream release:
+ * This version adds the GNU General Public License (GPL) version 3
+ to all Qt Open Source editions. The GPL Exception version 1.1
+ applies to both versions of the GPL license.
+
+ * Add qt-copy patches:
+ * 0205-fast-qpixmap-fill
+ Fix a performance issue in QPixmap::fill()
+ * 0209-prevent-qt-mixing
+ This patch changes QObjectPrivateVersion, thus preventing mixing parts
+ of upstream Qt and qt-copy.
+ * 0210-fix-crash-q3stylesheet-font-size
+ This patch fixes crashs in q3stylesheet
+ (it was possible to use a qfont size < 1)
+ * 0211-q3action-crash
+ During porting qt3to4 port QGroupAction to Q3GroupAction but not QAction
+ to Q3Action (which is logical) But it crashs when it's not a q3action.
+ * Refresh and enable 0172-prefer-xrandr-over-xinerama patch.
+ * Remove 0204-fix-tulip-aliasing patch. Merged upstream.
+ * Remove 90_qmake_cxxflags_fpermissive patch.
+ * Add ${shlibs:Depends} to libqt4-dev. See missing shared library
+ dependencies thread on debian-devel mailing list.
+ * Add catalan translation. Thanks to Javier Serrano Polo. (Closes: #459822)
+ * Update copyright file. Add GPL version 3.
+ * Remove -fpermissive.
+
+ -- Fathi Boudra <fabo@debian.org> Tue, 26 Feb 2008 18:38:27 +0100
+
+qt4-x11 (4.3.3-2) unstable; urgency=low
+
+ * Update 0203-qtexthtmlparser-link-color qt-copy patch:
+ Add qt-bugs@ issue and Trolltech task ID.
+ * Add 0204-fix-tulip-aliasing qt-copy patch:
+ Fix KDE4 RC2 crashing on startup due to Qt 4.3.3 update.
+ * Downgrade libqt4-dev dependency to qt4-dev-tools from Recommends to
+ Suggests.
+ * Add semicolon at the end of the MimeType key. Thanks to Pino Toscano.
+ * Remove 91_qmake_ldflags_as-needed patch:
+ It breaks other packages. (Closes: #457038, #457284)
+ * Add 91_qmake_lflags_no-undefined patch:
+ By default, qmake adds --no-undefined linker flag.
+
+ -- Fathi Boudra <fabo@debian.org> Sun, 30 Dec 2007 23:29:09 +0100
+
+qt4-x11 (4.3.3-1) unstable; urgency=low
+
+ * New upstream release.
+
+ [Adeodato Simó]
+
+ * Do not depend or build-depend on the transitional package xlibmesa-gl-dev,
+ but on libgl1-mesa-dev instead. Ditto for libglu1-xorg-dev/libglu1-mesa-dev.
+
+ [Fathi Boudra]
+
+ * Bump Standards-Version to 3.7.3.
+ * Fix description contains homepage lintian warning.
+ * Merge Kubuntu load ssl patch. Thanks to Jonathan Riddell.
+ * Add CDDL exception to debian/copyright.
+ * Add 21_assume_no_fpu_for_embedded_devices patch. Thanks to Thiemo Seufer
+ and Bradley Hughes. Not Enabled yet: It breaks ABI on mips.
+ We will keep it for later (> 4.3.3-1).
+ * Add 91_qmake_ldflags_as-needed patch. Build with --as-needed linker flag.
+ * Remove qt-copy patches:
+ * 0163-fix-gcc43-support.
+ * 0185-fix-format-strings.
+ * 0188-fix-moc-parser-same-name-header.
+ * 0189-fix-q3toolbar-qcombobox-signal-slot.
+ * 0193-qtreeview-division-by-zero.diff.
+ * Add qt-copy patches:
+ * 0200-fix-qsslsocket-waitfor.
+ Fixes some QSslSocket::waitFor$X methods.
+ * 0203-qtexthtmlparser-link-color.
+ Links are assigned a foreground color according to the system current
+ color scheme.
+
+ -- Fathi Boudra <fabo@debian.org> Thu, 06 Dec 2007 22:06:46 +0100
+
+qt4-x11 (4.3.2-1) unstable; urgency=low
+
+ * New upstream release.
+
+ [Fathi Boudra]
+ * Update desktop files categories.
+ * Add desktop files icons. (Closes: #433581)
+ * Update patches to Qt4.3.2.
+ * Add 90_qmake_cxxflags_fpermissive patch.
+ * Remove 0186-fix-component-alpha-text patch. Merged upstream.
+ * Add qt-copy patches:
+ * 0188-fix-moc-parser-same-name-header
+ * 0189-fix-q3toolbar-qcombobox-signal-slot
+ * 0191-listview-alternate-row-colors
+ * 0192-itemdelegate-palette-state
+ * 0193-qtreeview-division-by-zero
+ * 0194-fix-moveonly-dnd-in-itemviews
+ * 0195-compositing-properties
+ * Update qt4-dev-tools long description.
+ * Update copyright:
+ * Update Trolltech GPL exception to v1.1.
+ * Add Trolltech GPL exception addenum.
+ * Update rules:
+ * Build with -fpermissive.
+ * Introduce QTVERSION.
+ * Fix qt4-config menu section. (Closes: 444896)
+
+ [Sune Vuorela]
+ * Have strict interdependencies between packages with a shlibs.local file.
+ (Closes: #438746)
+ * Don't trust uname in generating the qt build key. This has bitten us in
+ qt3, but will soon bite us in qt4 as qt4 becomes more popular.
+
+ [Ana Beatriz Guerrero Lopez]
+ * Add desktop files icons uuencoded and update rules to install them uudecoded.
+ * Add sharutils build dependency.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Sat, 06 Oct 2007 07:00:54 +0200
+
+qt4-x11 (4.3.1-2) unstable; urgency=low
+
+ * There is a large difference between 8 spaces and a tab.
+
+ -- Sune Vuorela <debian@pusling.com> Fri, 10 Aug 2007 22:20:45 +0200
+
+qt4-x11 (4.3.1-1) unstable; urgency=low
+
+ * New upstream release.
+
+ [Fathi Boudra]
+ * Switch to quilt patch system.
+ * Update copyright. Add Trolltech GPL Exception.
+ * Update section in Debian menu files.
+ * Update patches for Qt4.3.1.
+ * Remove 51_kfreebsd_mkspecs patch. Moved in rules.
+ * Add 0187-fix-font-fixed-pitch patch:
+ This patch works around broken QFontInfo::fixedPitch by always using a
+ glyph metrics comparison test to guess the information. This has the
+ property of both ignoring (bad) and not relying on (good) any information
+ that might be provided by the OS's font facility. For Mac OS X only.
+ * Remove patches merged upstream:
+ * 0177-qurl-clear-fix
+ * 0183-qprocess-corruption
+ * 42_alpha_fetch_and_add
+ * Disable:
+ * 0172-prefer-xrandr-over-xinerama patch. (Closes: #433931)
+ * 0181-qdnd-x11-fix patch.
+
+ [Sune Vuorela]
+ * Add a quick and dirty test to make build on hppa fail if a current
+ getdents kernel bug is detected.
+
+ -- Fathi Boudra <fboudra@free.fr> Wed, 08 Aug 2007 15:08:11 +0200
+
+qt4-x11 (4.3.0-5) unstable; urgency=low
+
+ [Fathi Boudra]
+ * Update 01_qmake_for_debian patch. Add DEFINES += QT_SHARED in qmake.conf
+ along with the removal of link_prl. (Closes: #434019)
+ * Apply qt-copy patches:
+ * 00_0185-fix-format-strings: This patch fixes various code issues with
+ handling format strings. None of them seem to be exceptionally bad,
+ but its better safe than sorry. It is related to CVE-2007-3388.
+ TT claims the problem is not present in any version of Qt 4. Dirk Muller
+ disagrees and believes that some of them are possible to exploit.
+ * 00_0186-fix-component-alpha-text: This patch fixes component alpha
+ (LCD hinted) text when it's drawn on a non-opaque background. Qt doesn't
+ initialize the alpha channel in the glyph masks, which causes problems
+ in Konsole when transparency is enabled, and in other situations where
+ the background isn't fully opaque.
+
+ -- Fathi Boudra <fboudra@free.fr> Mon, 30 Jul 2007 21:36:25 +0200
+
+qt4-x11 (4.3.0-4) unstable; urgency=low
+
+ [Fathi Boudra]
+ * Add 42_alpha_fetch_and_add patch to fix broken threading on alpha, hangs
+ uselessly on startup. fetch-and-add is supposed to return the original
+ value before the addition. Thanks to Steve Langasek and Bradley Hughes.
+ (Closes: #433031)
+ * Update control: Replace ${source:Version} by ${binary:Version}.
+ Make the package binNMU safe. Thanks to Lior Kaplan. (Closes: #433548)
+
+ -- Fathi Boudra <fboudra@free.fr> Mon, 16 Jul 2007 21:32:01 +0200
+
+qt4-x11 (4.3.0-3) unstable; urgency=low
+
+ [Fathi Boudra]
+ * Update control: Replace deprecated ${Source-Version} by ${source:Version}.
+ * Update rules:
+ * Add bindir and libdir configure options.
+ * Replace common-install-arch target. Replaced by build system patches and
+ a fix for pkgconfig files. (Closes: #401807)
+ * Add patches:
+ * 04_launch_uic-qt4: call uic-qt4 binary.
+ * 05_append_qt4_target: append -qt4 when needed. It fixes moc-location and
+ uic_location are properly in pkgconfig files. (See bug #401807)
+ * 06_qtdemo_destdir: remove QT_BUILD_TREE in qtdemo DESTDIR target.
+ (Closes: #408639)
+ * Revert Qt handling argb visuals on X11 patch. There are dependencies
+ not fixed in Qt. They cause a few regressions when this patch is applied.
+ (Closes: #430907, #431436, #431943)
+ * Update Qt support for new window types used for compositing patch.
+ Fix crashes when 'w' is null. (Closes: #431322)
+ * Apply qt-copy patches:
+ * 00_0172-prefer-xrandr-over-xinerama: only trust libxinerama if it is not
+ the emulated information coming from xrandr 1.2.
+ * 00_0177-qurl-clear-fix: fix QUrl::clear(). Applied upstream.
+ * 00_0183-qprocess-corruption: fix plain data loss bug. Applied Upstream.
+
+ -- Fathi Boudra <fboudra@free.fr> Fri, 29 Jun 2007 08:15:23 +0200
+
+qt4-x11 (4.3.0-2) unstable; urgency=low
+
+ [Brian Nelson]
+ * Changed dist back to unstable.
+ * Tightened qt4-dev-tools's dependency on libqt4-core to
+ (= ${Source-Version}), since it uses internal (non-public) classes in
+ Qt whose ABI can change. (Closes: #429817)
+ * Added a build-dependency on libxi-dev to enable tablet support.
+ * Constrict the hack to clean all binary files to the bin, config.tests,
+ and qmake directories to drastically improve its speed
+
+ [Fathi Boudra]
+ * Qt4 demos builds properly in Qt4.3. (Closes: #408639)
+ * Apply qt-copy patches:
+ * 00_0178-transparency-window-types: adds Qt support for new window types
+ used for compositing.
+ * 00_0179-transient-hack: workaround that makes setting of WM_TRANSIENT_FOR
+ work with some window types.
+ * 00_0180-window-role: several problems with Qt's support for the
+ WM_WINDOW_ROLE property.
+ * 00_0181-qdnd-x11-fix: makes the find_child algorithm in qdnd look at
+ _all_ widgets that contain the QPoint.
+ * 00_0182-argb-visuals-default: Qt handling argb visuals on X11.
+
+ -- Brian Nelson <pyro@debian.org> Wed, 27 Jun 2007 00:02:07 -0400
+
+qt4-x11 (4.3.0-1) experimental; urgency=low
+
+ * New upstream release.
+ * Fixes a QListView issue. (Closes: #419654)
+
+ * Update uploaders. Add Ana, Sune and Fathi.
+
+ [Sune Vuorela]
+ * Remove 04_utf8_bug_fix: Merged upstream.
+ * Update libqt4-dev.install. Upstream installs pkgconfig files the right place.
+ * Update libqt4-core.install. Add libQtScript.
+ * Update rules:
+ * Add utils.mk to use list-missing.
+ * Cleaning seems to fail a bit. Trying to hack around that in clean::
+ target.
+
+ [Fathi Boudra]
+ * Redo 30_arm_ftbfs_fixes to fix another FTBFS. Add arm target to configure
+ script. Thanks to Sune Vuorela and Aurelien Jarno. (Closes: #426129)
+ * Remove 71_hppa_inotify_fix: Merged upstream.
+ * Update patches:
+ * 02_launch_assistant-qt4
+ * 03_launch_moc-qt4
+ * 50_kfreebsd_build_fix
+ * 80_hurd_max_path
+ * Apply qt-copy patches:
+ * 00_0163-fix-gcc43-support: Various fixes to get Qt 4.3 without hundreds
+ of warnings compiling.
+ * 00_0167-fix-group-reading: In big user environments, getgrgid_r() needs
+ more memory than sysconf() returns.
+ * 00_0175-fix-s390-qatomic: Fix s390(x) build.
+ * 00_0176-coverity-fixes: Fix various obvious memory leaks.
+ * Rename disable opengl visibility patch. It is not alpha architecture only.
+ * Add desktop files to support Desktop Environments. (Closes: #378915)
+ * Update qt4-dev-tools.install. Add qdbusviewer and pixeltool.
+ Thanks to Benjamin Meyer for the reminder.
+ * Update libqt4-dev.install. Remove qtdemo binary as we provide a tarball of the
+ demos directory. qtdemo is useless, it can't launch anything without demos
+ builded. It can only show screenshots and short description of demos,
+ users have it in Qt assistant.
+ * Update rules:
+ * Remove -debug-and-release option. Deprecated.
+ * Add configure options:
+ * -no-exceptions
+ * -debug
+ * -qdbus
+ * -pch
+ * -nomake examples
+ * -nomake demos
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Sat, 09 Jun 2007 00:25:41 +0200
+
+qt4-x11 (4.2.3-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes build failures when QT_NO_DEBUG_OUTPUT defined
+ (Closes: #418832)
+ - Fixes broken signal/slot connection in QSvgRenderer
+ (Closes: #411292)
+
+ -- Brian Nelson <pyro@debian.org> Thu, 12 Apr 2007 12:38:06 -0400
+
+qt4-x11 (4.2.2-2) unstable; urgency=high
+
+ * debian/patches/04_utf8_bug_fix.dpatch: new patch to fix the "UTF-8
+ overlong sequence decoding vulnerability" [CVE-2007-0242]
+
+ -- Brian Nelson <pyro@debian.org> Fri, 30 Mar 2007 11:04:20 -0400
+
+qt4-x11 (4.2.2-1) unstable; urgency=low
+
+ * New upstream release (Closes: #410862)
+
+ * debian/rules: set the sysconfdir to /etc/xdg instead of /etc/qt4 to
+ match the QSettings documentation (Closes: #407297)
+
+ * Added Riku Voipio's patch for ARM EABI (Closes: #408813)
+
+ * debian/patches/22_launch_moc-qt4.dpatch: new patch to ensure the Qt4
+ version of moc is launched by qdbuscpp2xml (Closes: #399049)
+
+ * Added a doc-base file for qt4-doc (Closes: #403290)
+
+ * debian/qt4-designer.links: added a link /usr/share/qt4/bin/designer ->
+ /usr/bin/designer-qt4 (Closes: #410885)
+
+ * Re-arranged patches to group them by arch so that they're easier to
+ deal with
+
+ * Applied new patches for kFreeBSD and Hurd support
+ (Closes: #380097, #402007)
+
+ * debian/libqt4-gui.install: added the codecs plugins, somehow these got
+ accidentally dropped (Closes: #409228)
+
+ -- Brian Nelson <pyro@debian.org> Sun, 4 Mar 2007 13:50:39 -0500
+
+qt4-x11 (4.2.1-2) unstable; urgency=low
+
+ * debian/patches/20_hppa_inotify_fix.dpatch: new patch that should fix
+ the FTBFS on hppa due to missing defines (Closes: #394953)
+
+ * Added patches for hurd support (Closes: #380097)
+
+ * debian/patches/10_qmake_for_debian.dpatch: restored the modification
+ to remove link_prl from the CONFIG line, which fixes problems with
+ unnecessary linkage (Closes: #394836)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 31 Oct 2006 02:42:02 -0500
+
+qt4-x11 (4.2.1-1) unstable; urgency=high
+
+ * New upstream release
+ - Fixes integer overflow in pixmap handling [CVE-2006-4811]
+ (Closes: #394192)
+
+ * Install the libqtaccessiblecompatwidgets.so plugin into
+ libqt4-qt3support, so that libqt4-gui does not circularly depend on
+ libqt4-qt3support (Closes: #394351, #394629)
+
+ -- Brian Nelson <pyro@debian.org> Mon, 23 Oct 2006 11:59:52 -0400
+
+qt4-x11 (4.2.0-2) unstable; urgency=low
+
+ * debian/control: added a dependency on libglib2.0-dev for libqt4-dev
+ (Closes: #392797, #392173)
+
+ * Added a bunch of plugins and their debugging symbols to be installed
+
+ * debian/patches/19_m68k_inotify_fix.dpatch: new patch to fix FTBFS on
+ m68k (Closes: #391902)
+
+ * Imported Ubuntu fixes, thanks to Jonathan Riddell for the tip
+ - Fix typo in debian/rules -qt-sql-slite to -qt-sql-sqlite
+ (Closes: #392808)
+ - Install usr/bin/qdbus usr/bin/qdbusxml2cpp and usr/bin/qdbuscpp2xml
+ (Closes: #391726)
+
+ * debian/control: added a libqt4-dev dependency on libsqlite0-dev
+ (Closes: #392558)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 17 Oct 2006 23:44:31 -0400
+
+qt4-x11 (4.2.0-1) unstable; urgency=low
+
+ * New upstream release
+ - No longer includes "CONFIG = ... debug" in the mkspecs/qconfig.pri
+ (Closes: #357136)
+ - Fixes QFontDialog assert() failures (Closes: #380418)
+
+ * debian/control: made libqt4-gui conflict/replace libqt4-designer, to
+ ensure that old package is removed (Closes: #380253)
+
+ * Enable Qt's new support for using the system's SQLite 3 library
+ (Closes: #382238)
+
+ * debian/rules: removed the PostgreSQL and MySQL include hacks from the
+ configure arguments, since the configure script now autodetects them
+ itself
+
+ * debian/patches/10_qmake_for_debian.dpatch: updated for new upstream
+
+ * debian/patches/13_arm_ftbfs_fixes.dpatch: updated for new upstream
+
+ * debian/patches/19_s390_atomic.dpatch: removed, since it appears to be
+ obsolete
+
+ * debian/libqt4-debug.install: changed the wildcards to match the new
+ debug lib names. What was once *_debug.so.* is now *.debug. Ick.
+
+ * debian/control: removed libqt4-debug-dev since now that the _debug
+ libs have been removed and debugging symbols are shipped in their
+ place, this package is no longer needed
+
+ * Tar up the demos directory and include it in qt4-doc. Also added the
+ qtdemo binary to libqt4-dev. (Closes: #390925)
+
+ * debian/rules: add -DQT_QLOCALE_USES_FCVT to the configure arguments
+ when building on arm, like Qt3, to fix a uic problem (Closes: #386460)
+
+ * debian/libqt4-gui.install: added usr/lib/libQtAssistantClient.so.*,
+ since it's now shipped as a shared library; previously it was a static
+ library
+
+ * Added build-deps on libdbus-1-dev and libglib2.0-dev, and added
+ libQtDBus to the libqt4-core package
+
+ -- Brian Nelson <pyro@debian.org> Fri, 6 Oct 2006 23:16:46 -0400
+
+qt4-x11 (4.1.4-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Reintroduce the libpq-dev dependency, which seems to have been removed by
+ mistake in 4.1.0-2. (Closes: #327618)
+
+ -- Steinar H. Gunderson <sesse@debian.org> Tue, 29 Aug 2006 01:10:59 +0200
+
+qt4-x11 (4.1.4-1) unstable; urgency=low
+
+ * New upstream release (Closes: #378443)
+
+ * Moved usr/lib/libQtDesigner.so.* and
+ usr/lib/libQtDesignerComponents.so.* from qt4-designer to libqt4-gui
+ so there the libqt4-dev package won't contain dangling symlinks
+ (Closes: #374612)
+
+ -- Brian Nelson <pyro@debian.org> Sun, 16 Jul 2006 15:39:29 -0700
+
+qt4-x11 (4.1.3-3) unstable; urgency=low
+
+ * debian/patches/19_s390_atomic: patch from Bastian Blank to fix
+ including of s390 specific atomic header. (Closes: #370241)
+
+ * debian/patches/18_disable_opengl_visibility.dpatch: regenerated so
+ that it applies correctly for me
+
+ -- Brian Nelson <pyro@debian.org> Sun, 25 Jun 2006 11:42:57 -0700
+
+qt4-x11 (4.1.3-2) unstable; urgency=high
+
+ * patches/18_disable_opengl_visibility: disable -fvisibility-inlines-hidden
+ for src/opengl/opengl.pro as it makes gcc ICE on alpha.
+ (Closes: #368883)
+
+ * urgency set to high so that qt4-x11 stops blocking half of unstable out of
+ testing.
+
+ -- Pierre Habouzit <madcoder@debian.org> Mon, 5 Jun 2006 10:28:29 +0200
+
+qt4-x11 (4.1.3-1) unstable; urgency=high
+
+ * New upstream release
+
+ * debian/patches/16_hppa_ldcw_fix.dpatch: new patch from Ubuntu to
+ properly support hppa
+
+ * debian/patches/17_alpha_ice.dpatch: new patch from Steve Langasek to
+ fix FTBFS on alpha (Closes: #368883)
+ (urgency set to high for that fix).
+
+ * Dropped the .la files since they pull in too many unneeded
+ dependencies (Closes: #360802)
+
+ * debian/libqt4-debug.install: removed
+ usr/lib/qt4/plugins/codecs/*_debug.so since those aren't included
+ upstream anymore
+
+ * Increased standards version to 3.7.2
+
+ -- Brian Nelson <pyro@debian.org> Sat, 3 Jun 2006 17:56:32 -0700
+
+qt4-x11 (4.1.2-2) unstable; urgency=low
+
+ * debian/libqt4-debug-dev.install, debian/libqt4-dev.install: added
+ wildcards to install .a static libraries so that the libQtUiTools and
+ libQtAssistantClient libraries are included (Closes: #358224, #355902)
+
+ -- Brian Nelson <pyro@debian.org> Sun, 14 May 2006 10:03:40 -0700
+
+qt4-x11 (4.1.2-1) unstable; urgency=low
+
+ * New upstream release
+
+ * debian/control: removed dependencies on xlibs-static-dev and
+ xlibs-static-pic to transition to building against modular X
+ (Closes: #362262)
+
+ * debian/control: changed x-dev dependencies to x11proto-core-dev, for
+ modular X transition (Closes: #362053)
+
+ -- Brian Nelson <pyro@debian.org> Thu, 13 Apr 2006 10:35:28 -0700
+
+qt4-x11 (4.1.1-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes the broken debug-and-release build and a load of resulting
+ bugs (Closes: #337764, #337847, #341807, #338380, #354993, #347251)
+ - debian/patches/15_alpha_ftbfs_fix.dpatch: removed, integrated upstream
+
+ * debian/control: updated libqt4-debug-dev priority to match that of the
+ override file
+
+ * debian/libqt4-dev.links: added a symlink /usr/share/qt4/bin/rcc to
+ /usr/bin/rcc (Closes: #349438)
+
+ * debian/libqt4-gui.install: added libqmng.so and libqgif.so plugins
+ (Closes: #354266)
+
+ -- Brian Nelson <pyro@debian.org> Mon, 6 Mar 2006 10:20:47 -0800
+
+qt4-x11 (4.1.0-3) unstable; urgency=low
+
+ * Moved *_debug.prl and *_debug.la support files to the libqt4-debug-dev
+ package
+
+ * Updated to debhelper v5 compatibility
+
+ * debian/qt4-dev-tools.install: removed the /usr/share/qt4/templates
+ entry, which no longer contains anything
+
+ * Added gif support (Closes: #348092)
+
+ * debian/patches/12_mips_atomic_ops.dpatch: applied fixes from Isaac
+ Clerencia <isaac@debian.org>, as the last patch was not good enough to
+ fix the FTBFS bug (Closes: #335831)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 17 Jan 2006 09:49:11 -0800
+
+qt4-x11 (4.1.0-2) unstable; urgency=low
+
+ * debian/patches/12_mips_atomic_ops.dpatch: Updated patch to account for
+ 2 new functions, q_atomic_test_and_set_acquire_int and
+ q_atomic_test_and_set_release_int, that were added in this release.
+ This should again fix the build failures on mips. (Closes: #335831)
+
+ * debian/patches/13_arm_ftbfs_fixes.dpatch: renamed, added a fix for the
+ new build failure due to a poorly defined qreal (Closes: #347360)
+
+ * debian/control: build against libmysqlclient15, and updated all
+ dependencies to libmysqlclient15-dev (Closes: #346586)
+
+ * debian/control: added explicit dependencies for libqt4-dev on the
+ Source-Version packages libqt4-core, libqt4-gui, libqt4-sql, and
+ libqt4-qt3support. These dependencies were accidentally dropped in
+ the last version. Also removed some unneeded dependencies.
+
+ * Split the *_debug.so symlinks out of libqt4-dev and into a separate
+ libqt4-debug-dev package. Made the libqt4-debug-dev package depend on
+ the Source-Version of libqt4-debug. This way, the symlinks won't be
+ dangling if libqt4-debug isn't installed and prevents failed linking
+ due to version mismatches. (Closes: #346603, #346605)
+
+ * Re-enabled sqlite3 support. It's still statically linked, however,
+ but that'll have to do because I really don't want to futz with the
+ build system. (Closes: #330976)
+
+ * Enabled sqlite2 support
+
+ * debian/patches/15_alpha_ftbfs_fix.dpatch: new patch to rename
+ q_atomic_test_and_set_release_ptr to q_atomic_test_and_set_ptr, as
+ suggested by Isaac Clerencia <isaac@debian.org>, to fix a FTBFS on
+ alpha. (Closes: #347353)
+
+ * debian/patches/10_qmake_for_debian: renamed from
+ 10_qmake_use_qt4_tools, and updated to remove the "link_prl" from the
+ default qmake CONFIG line. This disables the recursive linkage
+ against all indirectly-used libraries. (Closes: #343190)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 10 Jan 2006 19:29:52 -0800
+
+qt4-x11 (4.1.0-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes missing QBitArray operators (Closes: #341658)
+ - Fixes qmake problem with including bad build path (Closes: #327359)
+
+ * Added the new QTestLib unit testing framework to the libqt4-core
+ package
+
+ * Added the new QtSvg module to the libqt4-gui package
+
+ * debian/patches/13_arm_gcc4.dpatch: new patch from Jeremy Laine to fix
+ FTBFS on arm (Closes: #343176)
+
+ * debian/patches/14_kfreebsd_build_fix.dpatch: new patch from Petr
+ Salinger to fix FTBFS on GNU/kFreeBSD (Closes: #343191)
+
+ * Split the qtconfig tool out of libqt4-gui and into a separate
+ qt4-qtconfig package, due to its linkage against libqt4-qt3support and
+ hence ridiculous dependency chain.
+
+ * debian/rules: improved/cleaned up the clean target
+
+ -- Brian Nelson <pyro@debian.org> Wed, 4 Jan 2006 12:56:23 -0800
+
+qt4-x11 (4.0.1-6) unstable; urgency=low
+
+ * Added a target to automatically install lintian overrides, stolen from
+ debian-qt-kde.mk
+
+ * Added a bunch of lintian overrides for stuff that should be ignored
+
+ -- Brian Nelson <pyro@debian.org> Sat, 19 Nov 2005 01:17:03 -0800
+
+qt4-x11 (4.0.1-5) unstable; urgency=low
+
+ * debian/control: made libqt4-gui replace libqt4-core (<< 4.0.1-3), for
+ the plugins move (Closes: #336492)
+
+ * debian/control: removed the mention of a qt4-examples package that
+ doesn't actually exist from the qt4-doc package description
+
+ * debian/rules: remove all *.so files under
+ examples/tools/plugandpaint/plugins/ in the clean target
+ (Closes: #339674)
+
+ * Removed the menu entry for designer-qt4 from qt4-dev-tools.menu, and
+ added it to a new qt4-designer.menu
+
+ * Added a tarball of the examples to qt4-doc (Closes: #336832)
+
+ -- Brian Nelson <pyro@debian.org> Fri, 18 Nov 2005 10:27:03 -0800
+
+qt4-x11 (4.0.1-4) unstable; urgency=low
+
+ * debian/control: changed qt4-designer's section to "devel"
+
+ * Added a patch from Thiemo Seufer to fix the FTBFS on mips/mipsel
+ (Closes: #335831)
+
+ -- Brian Nelson <pyro@debian.org> Wed, 26 Oct 2005 00:13:40 -0700
+
+qt4-x11 (4.0.1-3) unstable; urgency=low
+
+ * debian/libqt4-core.install: only install the non-debug codecs, since
+ the debug ones pull in a gratuitous dependency on libqt4-debug
+ (Closes: #328913)
+
+ * debian/libqt4-debug.install: install the debug codecs here instead
+
+ * debian/control: replaced obsolete xlibs-dev dependency with the
+ required split packages (Closes: #329302)
+
+ * Completely disabled SQLite support since it's too fubar in this
+ version to be usable. The build fails with SQLite2 support, and
+ SQLite3 is only supported by linking staticly with a version
+ distributed in the Qt source. Meh.
+
+ * Renamed libqt4-designer to qt4-designer, merged in the designer binary
+ from qt4-dev-tools, and added a dependency on libqt4-dev
+ (Closes: #330094)
+
+ * Moved the plugins installed in libqt4-core to libqt4-gui, since they
+ link against the GUI library. Otherwise a circular libqt4-core <->
+ libqt4-gui dependency results.
+
+ -- Brian Nelson <pyro@debian.org> Fri, 21 Oct 2005 00:28:53 -0700
+
+qt4-x11 (4.0.1-2) unstable; urgency=low
+
+ * debian/patches/10_qmake_use_qt4_tools.dpatch: new patch that modifies
+ qmake.conf so that qmake generates Makefiles that use the -qt4 tools.
+ This way, it can cope with systems that have alternatives set to use
+ the -qt3 versions.
+
+ * Increased the conflicting Qt3 package versions to <= 3.3.4-7, since
+ the Qt3 packages still don't use the alternatives system as needed to
+ coexist with Qt4.
+
+ * debian/libqt4-core.install: added /usr/lib/qt4/plugins/codecs
+
+ * debian/patches/11_launch_assistant-qt4: new patch that modifies the
+ QAssistantClient class to launch Qt Assistant as "assistant-qt4" to
+ cope with the alternatives system (Closes: #327294)
+
+ * debian/control: Upgraded libqt4-dev's dependencies on the modules
+ libqt4-sql and libqt4-qt3support from suggests to depends, and added
+ libpq-dev and libmysqlclient14-dev | libmysqlclient-dev as
+ dependencies. These dependencies are apparently required to make
+ building pkg-config-using packages happy. (Closes: #327618)
+
+ * debian/control: corrected libqt4-sql to suggest libmysqlclient14-dev,
+ not libmysqlclient12-dev which is deprecated
+
+ * debian/copyright: updated FSF snailmail address
+
+ * debian/libqt4-debug.install: removed the libqt3supportwidgets_debug.so
+ designer plugin, since for some reason having this installed breaks
+ designer (Closes: #325782)
+
+ -- Brian Nelson <pyro@debian.org> Mon, 12 Sep 2005 12:32:53 -0700
+
+qt4-x11 (4.0.1-1) unstable; urgency=low
+
+ * New upstream release
+
+ * Install changes-4.0.1 as upstream changelog
+
+ * debian/manpages/assistant-qt4.1: new manpage written from scratch
+ based on the output of "assistant -help"
+
+ * debian/manpages/designer-qt4.1, debian/manpages/linguist-qt4.1:
+ manpages stolen from the Qt3 packages and trivially adapted for Qt4
+ (Closes: #322403)
+
+ * debian/manpages/moc-qt4.1: escape some '-' characters
+
+ * debian/qt4-dev-tools.manpages: install the new assistant-qt4.1,
+ designer-qt4.1, and linguist-qt4.1 manpages
+
+ * debian/control: made qt4-dev-tools recommend qt4-doc, since assisant
+ needs it to be useful (Closes: #323251)
+
+ * Removed the FAQ from qt4-doc.docs, since it's no longer included in
+ 4.0.1, and was useless anyway
+
+ * Build-depend on libmysqlclient14-dev since libmysqlclient12-dev is
+ scheduled to be removed
+
+ * debian/libqt4-dev.install: work around TT's broken "install" target in
+ this release so that the pkgconfig files are installed in
+ /usr/lib/pkgconfig instead of directly in /usr/lib. Grrrr.
+
+ -- Brian Nelson <pyro@debian.org> Thu, 25 Aug 2005 19:28:35 -0700
+
+qt4-x11 (4.0.0-3) unstable; urgency=low
+
+ * debian/control: changed the xlibs-pic dependency to xlibs-static-pic
+ for the X.org transition (Closes: #319586)
+
+ * Added manpages for lrelease, lupdate, moc, qtconfig, and uic, stolen
+ from the Qt3 upstream tarball, and wrote a manpage for qmake from
+ scratch. Since now manpages are included for all executables using
+ the alternatives, the symlinks to them no longer dangle.
+ (Closes: #319456)
+
+ * debian/libqt4-core.install: added
+ usr/lib/qt4/plugins/imageformats/libqjpeg.so to include the jpeg
+ plugin (Closes: #321582)
+
+ * debian/libqt4-debug.install: added the libqjpeg_debug.so plugin
+
+ * debian/rules: don't hardcode the /usr/include/postgresql/8.0 path,
+ instead of the output of `pg_config --includedir`, stolen from Qt3
+ packages
+
+ * debian/libqt4-gui.install: added the OpenGL module library so that it
+ actually gets included in a package (Closes: #321874)
+
+ * debian/control: updated the package descriptions to note that the
+ Network and XML modules are included in the libqt4-core package, and
+ the OpenGL module is included in the libqt4-gui package
+
+ -- Brian Nelson <pyro@debian.org> Mon, 8 Aug 2005 08:58:10 -0700
+
+qt4-x11 (4.0.0-2) unstable; urgency=low
+
+ * libqt4-dev: added /usr/bin/uic3 (Closes: #318451)
+
+ * Transition to the new X.org packages:
+ + (Build-)depend on libglu1-xorg-dev instead of xlibmesa-gl-dev
+ + (Build-)depend on libxinerama-dev (Closes: #318682)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 19 Jul 2005 21:28:19 -0700
+
+qt4-x11 (4.0.0-1) unstable; urgency=low
+
+ * Initial release (Closes: #306694)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 5 Jul 2005 19:42:18 -0700
diff --git a/config.profiles/harmattan/collection/qtdemo.qhc.uu b/config.profiles/harmattan/collection/qtdemo.qhc.uu
new file mode 100644
index 0000000..4e4898e
--- /dev/null
+++ b/config.profiles/harmattan/collection/qtdemo.qhc.uu
@@ -0,0 +1,231 @@
+begin 644 qtdemo.qhc
+M4U%,:71E(&9O<FUA="`S``0``0$`0"`@````%@````````````````````8`
+M```!```````````````"````````````````````````````````````````
+M``````````````4````!`_L`````"`/[````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M```````````````````````````````````````````&`PT````"`MT``X$"
+MW0``````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``"!(0(%`'6!76,`;P!M`"X`=`!R`&\`;`!L`'0`90!C`&@`+@!D`&4`<P!I
+M`&<`;@!E`'(`+@`T`#0`,``N`"X`+P`N`"X`+P`N`"X`+P`N`"X`+P!S`&@`
+M80!R`&4`+P!Q`'0`-``O`&0`;P!C`"\`:`!T`&T`;``M`&0`90!S`&D`9P!N
+M`&4`<@`O`&0`90!S`&D`9P!N`&4`<@`N`'$`8P!H`'T!!0!=@2UC`&\`;0`N
+M`'0`<@!O`&P`;`!T`&4`8P!H`"X`<0!T`"X`-``T`#``+@`N`"\`+@`N`"\`
+M+@`N`"\`+@`N`"\`<P!H`&$`<@!E`"\`<0!T`#0`+P!D`&\`8P`O`&@`=`!M
+M`&P`+0!Q`'0`+P!Q`'0`+@!Q`&,`:``-`````@/B``/Q`^(`````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````#0($``$=`G$`9`!O`&,`#0$$
+M``$=`7$`9`!O`&,`#0````4#KP`#]P/H`],#Q`.O````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````!,%`P`M9`!E`',`:0!G`&X`90!R``T$`P`A=`!O`&\`;`!S
+M`!,#`P`M<0!T`'(`90!F`&0`;P!C``T"`P`A-``N`#0`+@`P``<!`P`5<0!T
+M``T````"`\(``^L#P@``````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````)P(#`%51`'0`(`!$`&4`<P!I`&<`;@!E`'(`
+M(`!-`&$`;@!U`&$`;``3`0,`+5$`=``@`#0`+@`T`"X`,``-`````P$_``$_
+M`BH##P``````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````@6@!!R%%
+M10&"270`80!B`&P`90!.`&$`;0!E`',`<`!A`&,`90!4`&$`8@!L`&4`3@!A
+M`&T`90!S`'``80!C`&4`5`!A`&(`;`!E``)#`%(`10!!`%0`10`@`%0`00!"
+M`$P`10`@`$X`80!M`&4`<P!P`&$`8P!E`%0`80!B`&P`90`@`"@`20!D`"``
+M20!.`%0`10!'`$4`4@`@`%``4@!)`$T`00!2`%D`(`!+`$4`60`L`"``3@!A
+M`&T`90`@`%0`10!8`%0`+``@`$8`:0!L`&4`4`!A`'0`:``@`%0`10!8`%0`
+M(``I`(%B`@<A.3D!@E5T`&$`8@!L`&4`1@!O`&P`9`!E`'(`5`!A`&(`;`!E
+M`$8`;P!L`&0`90!R`%0`80!B`&P`90`#0P!2`$4`00!4`$4`(`!4`$$`0@!,
+M`$4`(`!&`&\`;`!D`&4`<@!4`&$`8@!L`&4`(``H`$D`9``@`$D`3@!4`$4`
+M1P!%`%(`(`!0`%(`20!-`$$`4@!9`"``2P!%`%D`+``@`$X`80!M`&4`<P!P
+M`&$`8P!E`$D`9``@`$D`3@!4`$4`1P!%`%(`+``@`$X`80!M`&4`(`!4`$4`
+M6`!4`"``*0"!;@,'(5U=`8(E=`!A`&(`;`!E`$8`:0!L`'0`90!R`$$`=`!T
+M`'(`:0!B`'4`=`!E`%0`80!B`&P`90!&`&D`;`!T`&4`<@!!`'0`=`!R`&D`
+M8@!U`'0`90!4`&$`8@!L`&4`!$,`4@!%`$$`5`!%`"``5`!!`$(`3`!%`"``
+M1@!I`&P`=`!E`'(`00!T`'0`<@!I`&(`=0!T`&4`5`!A`&(`;`!E`"``*`!)
+M`&0`(`!)`$X`5`!%`$<`10!2`"``4`!2`$D`30!!`%(`60`@`$L`10!9`"P`
+M(`!.`&$`;0!E`"``5`!%`%@`5``@`"D`#0````4#W0`#^0/R`^L#Y`/=````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M```````````````````````````````%!0,!`0(%!00#`0$"!`4#`P$!`@$%
+M`@,!`0$"!0$#`0$!`0T"7@`$`2L``F(#-0$K`?``````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````@4(&
+M!R%!00&"!70`80!B`&P`90!3`&4`=`!T`&D`;@!G`',`5`!A`&(`;`!E`%,`
+M90!T`'0`:0!N`&<`<P!4`&$`8@!L`&4`"4,`4@!%`$$`5`!%`"``5`!!`$(`
+M3`!%`"``4P!E`'0`=`!I`&X`9P!S`%0`80!B`&P`90`@`"@`2P!E`'D`(`!4
+M`$4`6`!4`"``4`!2`$D`30!!`%(`60`@`$L`10!9`"P`(`!6`&$`;`!U`&4`
+M(`!"`$P`3P!"`"``*0!L!P<A@0U!`0!I`&X`9`!E`'@`<P!Q`&P`:0!T`&4`
+M7P!A`'4`=`!O`&D`;@!D`&4`>`!?`%,`90!T`'0`:0!N`&<`<P!4`&$`8@!L
+M`&4`7P`Q`%,`90!T`'0`:0!N`&<`<P!4`&$`8@!L`&4`"@````2!4`0'(4E)
+M`8(1=`!A`&(`;`!E`$8`:0!L`'0`90!R`$X`80!M`&4`5`!A`&(`;`!E`$8`
+M:0!L`'0`90!R`$X`80!M`&4`5`!A`&(`;`!E``5#`%(`10!!`%0`10`@`%0`
+M00!"`$P`10`@`$8`:0!L`'0`90!R`$X`80!M`&4`5`!A`&(`;`!E`"``*`!)
+M`&0`(`!)`$X`5`!%`$<`10!2`"``4`!2`$D`30!!`%(`60`@`$L`10!9`"P`
+M(`!.`&$`;0!E`"``5`!%`%@`5``@`"D`@4@%!R$Y.0&"(70`80!B`&P`90!&
+M`&D`;`!T`&4`<@!4`&$`8@!L`&4`1@!I`&P`=`!E`'(`5`!A`&(`;`!E``=#
+M`%(`10!!`%0`10`@`%0`00!"`$P`10`@`$8`:0!L`'0`90!R`%0`80!B`&P`
+M90`@`"@`3@!A`&T`90!)`&0`(`!)`$X`5`!%`$<`10!2`"P`(`!&`&D`;`!T
+M`&4`<@!!`'0`=`!R`&D`8@!U`'0`90!)`&0`(`!)`$X`5`!%`$<`10!2`"``
+M*0`-``````0`````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````"@`````$````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+9````````````````````````````````````
+`
+end
diff --git a/config.profiles/harmattan/compat b/config.profiles/harmattan/compat
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/config.profiles/harmattan/compat
@@ -0,0 +1 @@
+7
diff --git a/config.profiles/harmattan/configure-pulse.sh b/config.profiles/harmattan/configure-pulse.sh
new file mode 100755
index 0000000..c683705
--- /dev/null
+++ b/config.profiles/harmattan/configure-pulse.sh
@@ -0,0 +1,81 @@
+#/bin/sh
+
+# Fail on error
+set -e
+# We will assume that if TOOLCHAIN_PATH is not set, that other required actions have not been done either
+# so advise the user - N.B.: PATH & PKG_CONFIG_PATH may already be set to system values so we can't
+# simply check for them being unset.
+if [ -z "$TOOLCHAIN_PATH" ]; then
+ echo
+ echo "TOOLCHAIN_PATH must be set to the path of the columbus toolchain, e.g.:" 1>&2
+ echo " export TOOLCHAIN_PATH=/opt/toolchains/columbus/cs2007q3-glibc2.5-arm7" 1>&2
+ echo "PATH should have the path to toolchain's bin dir at beginning, e.g.:" 1>&2
+ echo " export PATH=\$TOOLCHAIN_PATH/bin:\$PATH" 1>&2
+ echo "PKG_CONFIG_PREFIX should have the prefix for pkg config, e.g.:" 1>&2
+ echo " export PKG_CONFIG_PREFIX=\$TOOLCHAIN_PATH/arm-none-linux-gnueabi" 1>&2
+ echo "PKG_CONFIG_PATH must be set to the path(s) to pkg config .pc file location(s), e.g.:" 1>&2
+ echo " export PKG_CONFIG_PATH=\$PKG_CONFIG_PREFIX/libc/lib/pkgconfig:\$PKG_CONFIG_PREFIX/libc/usr/lib/pkgconfig" 1>&2
+ echo
+ exit 1
+fi
+
+# We assume the current dir is the depot and we are not shadow building
+# Blast the mkspec we use, if it exists, and copy it out of debian dir
+rm -rf mkspecs/linux-g++-cross
+cp -a debian/mkspecs/linux-g++-cross mkspecs/
+
+# maemo does the next two lines, no idea why, left them for referance
+# rm -rf mkspecs/glibc-g++
+# cp -a mkspecs/linux-g++ mkspecs/glibc-g++
+
+# Run configure - we take extra arguments if given
+exec ./configure -nokia-developer \
+ -prefix "/usr" \
+ -bindir "/usr/bin" \
+ -libdir "/usr/lib" \
+ -docdir "/usr/share/qt4/doc" \
+ -headerdir "/usr/include/qt4" \
+ -datadir "/usr/share/qt4" \
+ -plugindir "/usr/lib/qt4/plugins" \
+ -translationdir "/usr/share/qt4/translations" \
+ -sysconfdir "/etc/xdg" \
+ -arch arm \
+ -xplatform linux-g++-cross \
+ -fast \
+ -mitshm \
+ -no-optimized-qmake \
+ -reduce-relocations \
+ -no-separate-debug-info \
+ -system-zlib \
+ -system-libtiff \
+ -system-libpng \
+ -system-libjpeg \
+ -no-nas-sound \
+ -qt-gif \
+ -no-qt3support \
+ -no-libmng \
+ -opengl es2 \
+ -no-accessibility \
+ -nomake examples \
+ -nomake demos \
+ -little-endian \
+ -I${TOOLCHAIN_PATH}/libc/usr/include/freetype2 \
+ -lfontconfig \
+ -no-cups \
+ -no-gtkstyle \
+ -exceptions \
+ -no-xinerama \
+ -dbus \
+ -glib \
+ -no-pch \
+ -gstreamer \
+ -svg \
+ -webkit \
+ -no-sql-ibase \
+ -xmlpatterns \
+ -system-sqlite \
+ -plugin-sql-sqlite \
+ -openssl \
+ -DQT_QLOCALE_USES_FCVT \
+ "$@"
+# End of Script
diff --git a/config.profiles/harmattan/control b/config.profiles/harmattan/control
new file mode 100644
index 0000000..13908a9
--- /dev/null
+++ b/config.profiles/harmattan/control
@@ -0,0 +1,648 @@
+Source: qt4-x11
+Section: libs
+Priority: optional
+Maintainer: Petri Latvala <ext-petri.latvala@nokia.com>
+Build-Depends: cdbs, debhelper (>= 7), flex, quilt, sharutils,
+ libdbus-1-dev, libfreetype6-dev, libglib2.0-dev, libice-dev, libjpeg62-dev,
+ libpng12-dev, libreadline5-dev | libreadline4-dev, libsm-dev, libtiff4-dev, libx11-dev,
+ libxext-dev, libxft-dev, libxi-dev, libxmu-dev,
+ libxrandr-dev, libxrender-dev, libxslt1-dev, libxt-dev, x11proto-core-dev,
+ zlib1g-dev, libgstreamer-plugins-base0.10-dev, libgstreamer0.10-dev, libicu-dev,
+ libgles2-sgx-img-dev [arm armel] | libgles2-dev [arm armel], libgles2 [arm armel],
+ opengles-sgx-img-common-dev [arm armel], opengles-sgx-img-common [arm armel],
+ libgl-dev [i386], libgl1 [i386],
+ libxau-dev, libxcb1-dev, libxdmcp-dev, libexpat1-dev,
+ libsqlite3-dev, libsqlite3-0, libssl-dev, libasound2-dev, libxv-dev,
+ icd2-dev, icd2-osso-ic-dev, osso-wlan-dev, libconnsettings0-dev
+Standards-Version: 3.9.1.0
+
+Package: libqtcore4
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Replaces: libqt4-core (<< 4.4.0~beta1-1), libqt4-gui (<< 4.4.0~beta1-1)
+Description: Qt 4 core module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtCore module contains core non-GUI functionality.
+
+Package: libqtcore4-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqtcore4 (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Core libraries.
+
+Package: libqt4-core
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), libqt4-network (= ${binary:Version}), libqt4-script (= ${binary:Version}), libqt4-xml (= ${binary:Version}), libqt4-dbus (= ${binary:Version})
+Description: transitional package for Qt 4 core non-GUI runtime libraries
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a dummy transitional package to enable installation of other Debian
+ packages linked against Qt 4.3 or earlier Qt 4 releases previously shipped
+ in Debian.
+
+Package: libqtgui4
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), fontconfig, opengles-sgx-img-common [arm armel], libgles2 [arm armel]
+Conflicts: libqt4-designer (<< 4.4.0~beta1-1)
+Replaces: libqt4-core (<< 4.0.1-3), libqt4-gui (<< 4.4.0),
+ qt4-designer (<< 4.1.4), libqt4-designer (<< 4.4.0~beta1-1)
+Description: Qt 4 GUI module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtGui module extends QtCore with GUI functionality.
+
+Package: libqtgui4-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqtgui4 (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 GUI libraries.
+
+Package: libqt4-gui
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtgui4 (= ${binary:Version}), libqt4-svg (= ${binary:Version})
+Description: transitional package for Qt 4 GUI runtime libraries
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a dummy transitional package depending on the Qt4 GUI library
+ packages which the package of the same name used to provide in Qt 4.3.4
+ and earlier Debian packages of Qt4.
+
+Package: libqt4-network
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 network module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtNetwork module offers classes that allow you to write TCP/IP clients and
+ servers. It provides classes to make network programming easier and portable.
+
+Package: libqt4-network-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-network (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Network libraries.
+
+Package: libqt4-script
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-dbus (= ${binary:Version}), libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 script module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtScript module provides classes for making Qt applications scriptable.
+
+Package: libqt4-script-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-script (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Script libraries.
+
+Package: libqt4-sql
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version})
+Recommends: libqt4-sql-sqlite
+Suggests: libqt4-dev
+Description: Qt 4 SQL module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtSql module helps you provide seamless database integration to your Qt
+ applications.
+ .
+ If you wish to use the SQL module for development, you should install the
+ libqt4-dev package.
+
+Package: libqt4-sql-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-sql (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 SQL libraries.
+
+Package: libqt4-sql-sqlite
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-sql (= ${binary:Version})
+Description: Qt 4 SQLite plugin
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+
+Package: libqt4-sql-sqlite-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-sql-sqlite (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 SQL SQLite plugin.
+
+Package: libqt4-svg
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), libqtgui4 (= ${binary:Version})
+Conflicts: libqt4-gui (<< 4.4.0~beta1-1)
+Replaces: libqt4-gui (<< 4.4.0~beta1-1)
+Description: Qt 4 SVG module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtSvg module provides classes for displaying the contents of SVG files.
+ .
+ Scalable Vector Graphics (SVG) is a language for describing two-dimensional
+ graphics and graphical applications in XML.
+
+Package: libqt4-svg-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-svg (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 SVG libraries.
+
+Package: libqt4-webkit
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtwebkit4 (>= 2.0~)
+Description: Qt 4 WebKit module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a dummy transitional package to enable installation of other packages
+ linked against Qt WebKit 4.4 - 4.7 releases previously shipped from Qt source.
+
+Package: libqt4-xml
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 XML module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtXml module provides a stream reader and writer for XML documents,
+ and C++ implementations of SAX and DOM.
+
+Package: libqt4-xml-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-xml (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 XML libraries.
+
+Package: libqt4-xmlpatterns
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), libqt4-xml (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 XML Patterns module
+ lorem ipsum
+ .
+ and all that
+
+Package: libqt4-xmlpatterns-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-xmlpatterns (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 XML patterns library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 XML patterns
+ library.
+
+Package: libqt4-dbus
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-xml (= ${binary:Version}), libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 D-Bus module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtDBus module is a Unix-only library that you can use to make Inter-Process
+ Communication using the D-Bus protocol.
+ .
+ Applications using the QtDBus module can provide services to other, remote
+ applications by exporting objects, as well as use services exported by those
+ applications by placing calls and accessing properties.
+
+Package: libqt4-dbus-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-dbus (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 DBus libraries.
+
+Package: libqt4-help
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-sql (= ${binary:Version}), libqtcore4 (= ${binary:Version}), libqtgui4 (= ${binary:Version})
+Description: Qt 4 help module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtHelp module provides classes for integrating online documentation in
+ applications.
+
+Package: libqt4-help-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-help (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Help libraries.
+
+Package: libqt4-test
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 test module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtTest module provides classes for unit testing Qt applications and
+ libraries.
+
+Package: libqt4-test-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-test (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Test libraries.
+
+Package: libqt4-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libqt4-dbus (= ${binary:Version}),
+ libqt4-xml (= ${binary:Version}), libqtcore4 (= ${binary:Version}),
+ libqt4-network (= ${binary:Version}), libqtgui4 (= ${binary:Version}),
+ libqt4-svg (= ${binary:Version}), libqt4-sql (= ${binary:Version}),
+ libqt4-script (= ${binary:Version}), libqt4-help (= ${binary:Version}),
+ libqt4-test (= ${binary:Version}), libqt4-phonon (= ${binary:Version}),
+ libqt4-xmlpatterns (= ${binary:Version}),
+ libqt4-multimedia (= ${binary:Version}), libqt4-opengl (= ${binary:Version}),
+ libqt4-declarative (= ${binary:Version}), qt4-linguist-tools (= ${binary:Version}),
+ libqt4-meegographicssystemhelper-dev (= ${binary:Version}) [arm armel],
+ libgl-dev [i386], libgles2-sgx-img-dev [arm armel],
+ opengles-sgx-img-common-dev [arm armel], libxv-dev, libc6-dev
+Conflicts: qt3-dev-tools (<= 3:3.3.4-7)
+Replaces: libqt4-opengl-dev (<< 4.4.0-2)
+Suggests: libmysqlclient15-dev, libsqlite0-dev, libsqlite3-dev, libpq-dev, libiodbc2-dev, firebird2.0-dev
+Description: Qt 4 development files
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the header development files and development programs
+ such as qmake used for building Qt4 applications.
+
+Package: qt4-linguist-tools
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Qt 4 development files
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the Qt Linguist development tool
+ such as lrelease used for building Qt4 applications.
+
+Package: libqt4
+Architecture: any
+Section: libs
+Depends: libqt4-core (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 dummy package
+ This is a dummy alias-package.
+
+Package: libqt4-phonon
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), libqt4-xml (= ${binary:Version}), libqtgui4 (= ${binary:Version}), libqt4-opengl (= ${binary:Version}), libqt4-dbus (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 Phonon Libraries
+ Qt 4 media playing libraries
+
+Package: libqt4-phonon-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-phonon (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 phonon module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbol for the Qt phonon library.
+
+Package: libqt4-multimedia
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Qt 4 Multimedia Libraries
+ Qt 4 media playing libraries
+
+Package: libqt4-multimedia-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-multimedia (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 multimedia module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbol for the Qt multimedia library.
+
+Package: libqt4-opengl
+Architecture: any
+Section: libs
+Depends: libqtcore4 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, opengles-sgx-img-common [arm armel], libgles2 [arm armel], libgl1 [i386]
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 OpenGL module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtOpenGL module offers classes that make it easy to use OpenGL in Qt
+ applications.
+ .
+ OpenGL is a standard API for rendering 3D graphics. OpenGL only deals with 3D
+ rendering and provides little or no support for GUI programming issues.
+ .
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the development files needed to build Qt 4 applications
+ using QtOpenGL library.
+
+Package: libqt4-opengl-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-opengl (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 OpenGL libraries.
+
+Package: libqt4-opengl-dev
+Architecture: any
+Section: libdevel
+Depends: libqt4-dev (= ${binary:Version}), ${misc:Depends}
+Replaces: libqt4-dev (<< 4.4.0~beta1-1)
+Description: Qt 4 OpenGL library development files
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a transitional package for libqt4-opengl-dev, and can be safely removed
+ after the installation is complete.
+
+Package: qt4-acceptance-tests
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: ci-testing, ${shlibs:Depends}, ${misc:Depends}
+XB-Maemo-CI-Packages: libqtcore4
+XB-Maemo-CI-Stage: staging, acceptance
+Description: Tests for libqtcore4
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains selected autotest cases for CI testing.
+
+Package: qt4-maemo-auto-tests
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: ci-testing, ${shlibs:Depends}, ${misc:Depends}
+XB-Maemo-CI-Packages: libqtcore4
+XB-Maemo-CI-Stage: staging
+Description: Tests for Qt4
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains selected autotest cases for CI testing.
+
+Package: libqt4-declarative
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Qt 4 declarative module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtDeclarative module contains declarative UI functionality.
+
+Package: libqt4-declarative-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-declarative (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Declarative
+ libraries.
+
+Package: libqt4-declarative-dev
+Architecture: any
+Section: libdevel
+Depends: libqt4-dev (>= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 Declarative development files
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a transitional package for libqt4-declarative-dev, and can be
+ safely removed after the installation is complete.
+
+Package: qt4-declarative-qmlviewer
+Architecture: any
+Section: devel
+Depends: libqt4-declarative (=${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Qt 4 declarative module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtDeclarative viewer allows viewing QML files
+
+Package: libqt4-gui-tests
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: ci-testing, ${shlibs:Depends}, ${misc:Depends}
+XB-Maemo-CI-Packages: libqtgui4
+XB-Maemo-CI-Stage: staging
+Description: Tests for Qt4
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains selected autotest cases for CI testing.
+
+Package: libqt4-doc
+Section: doc
+Priority: optional
+Architecture: all
+Depends: ${misc:Depends}
+Description: Qt 4 documentation
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the documentation for Qt 4.
+
+Package: libqt4-meegographicssystem
+Architecture: arm armel
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-meegographicssystemhelper
+Conflicts: libqt4-meego (<< 4.7.2~git20110119)
+Replaces: libqt4-meego (<< 4.7.2~git20110119)
+Description: Qt 4 MeeGo graphics system plugin
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the MeeGo graphics system plugin.
+
+Package: libqt4-meegographicssystemhelper
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-meegographicssystem [arm armel]
+Conflicts: libqt4-meego (<< 4.7.2~git20110119)
+Replaces: libqt4-meego (<< 4.7.2~git20110119)
+Provides: libqt4-meego
+Description: Qt 4 MeeGo graphics system helper
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the MeeGo graphics system helper library.
+
+Package: libqt4-meegographicssystemhelper-dev
+Architecture: any
+Section: libdevel
+Depends: libqt4-meegographicssystemhelper (= ${binary:Version}), ${misc:Depends}
+Conflicts: libqt4-meego-dev (<< 4.7.2~git20110119)
+Replaces: libqt4-meego-dev (<< 4.7.2~git20110119)
+Provides: libqt4-meego-dev
+Description: Qt 4 MeeGo graphics system development libraries and headers
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the MeeGo graphics system header files and
+ development libraries.
+
+Package: libqt4-meegographicssystemhelper-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-meegographicssystemhelper (= ${binary:Version}), ${misc:Depends}
+Conflicts: libqt4-meego-dbg (<< 4.7.2~git20110119)
+Replaces: libqt4-meego-dbg (<< 4.7.2~git20110119)
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides the debugging symbols for the MeeGo support
+ libraries.
+
+Package: libqt4-meegographicssystem-dbg
+Priority: extra
+Architecture: arm armel
+Section: debug
+Depends: libqt4-meegographicssystem (= ${binary:Version}), ${misc:Depends}
+Conflicts: libqt4-meego-dbg (<< 4.7.2~git20110119)
+Replaces: libqt4-meego-dbg (<< 4.7.2~git20110119)
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides the debugging symbols for the MeeGo graphics
+ system plugin.
+
+Package: libqt4-meego
+Architecture: all
+Section: oldlibs
+Depends: libqt4-meegographicssystemhelper, libqt4-meegographicssystem [arm armel]
+Description: Qt 4 MeeGo support libraries transitional package
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package is for transitioning purposes only and can be removed.
+
+Package: libqt4-meego-dev
+Architecture: all
+Section: oldlibs
+Depends: libqt4-meegographicssystemhelper-dev
+Description: Qt 4 MeeGo support libraries transitional package
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package is for transitioning purposes only and can be removed.
+
+Package: libqt4-meego-dbg
+Priority: extra
+Architecture: all
+Section: debug
+Depends: libqt4-meegographicssystemhelper-dbg, libqt4-meegographicssystem-dbg [arm armel]
+Description: Qt 4 MeeGo support libraries transitional package
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package is for transitioning purposes only and can be removed.
diff --git a/config.profiles/harmattan/libqt4-core.lintian b/config.profiles/harmattan/libqt4-core.lintian
new file mode 100644
index 0000000..bd6e1f7
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-core.lintian
@@ -0,0 +1 @@
+libqt4-core: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-dbus-dbg.lintian b/config.profiles/harmattan/libqt4-dbus-dbg.lintian
new file mode 100644
index 0000000..aa4fa15
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dbus-dbg.lintian
@@ -0,0 +1 @@
+libqt4-dbus-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-dbus.install b/config.profiles/harmattan/libqt4-dbus.install
new file mode 100644
index 0000000..2242fb3
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dbus.install
@@ -0,0 +1,3 @@
+usr/lib/libQtDBus.so.*
+usr/bin/qdbus
+
diff --git a/config.profiles/harmattan/libqt4-dbus.lintian b/config.profiles/harmattan/libqt4-dbus.lintian
new file mode 100644
index 0000000..c6a37b7
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dbus.lintian
@@ -0,0 +1,2 @@
+libqt4-dbus: package-name-doesnt-match-sonames libQtDBus4
+libqt4-dbus: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-declarative-dbg.lintian b/config.profiles/harmattan/libqt4-declarative-dbg.lintian
new file mode 100644
index 0000000..3d16d1e
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-declarative-dbg.lintian
@@ -0,0 +1 @@
+libqt4-declarative-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-declarative-dev.lintian b/config.profiles/harmattan/libqt4-declarative-dev.lintian
new file mode 100644
index 0000000..1045808
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-declarative-dev.lintian
@@ -0,0 +1 @@
+libqt4-declarative-dev: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-declarative.install b/config.profiles/harmattan/libqt4-declarative.install
new file mode 100644
index 0000000..7b71d87
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-declarative.install
@@ -0,0 +1,4 @@
+usr/lib/libQtDeclarative.so.*
+usr/lib/qt4/imports/Qt/labs/folderlistmodel
+usr/lib/qt4/imports/Qt/labs/gestures
+usr/lib/qt4/imports/Qt/labs/particles
diff --git a/config.profiles/harmattan/libqt4-declarative.lintian b/config.profiles/harmattan/libqt4-declarative.lintian
new file mode 100644
index 0000000..70dd96f
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-declarative.lintian
@@ -0,0 +1,2 @@
+libqt4-declarative: unknown-control-file digsigsums
+libqt4-declarative: package-name-doesnt-match-sonames libQtDeclarative4
diff --git a/config.profiles/harmattan/libqt4-dev.dirs b/config.profiles/harmattan/libqt4-dev.dirs
new file mode 100644
index 0000000..944cf06
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.dirs
@@ -0,0 +1 @@
+usr/share/qt4/doc/html
diff --git a/config.profiles/harmattan/libqt4-dev.install b/config.profiles/harmattan/libqt4-dev.install
new file mode 100644
index 0000000..e7edbcb
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.install
@@ -0,0 +1,85 @@
+usr/bin/native-moc
+usr/bin/qdbuscpp2xml
+usr/bin/qdbusxml2cpp
+usr/bin/native-qmake
+usr/bin/qt3to4
+usr/bin/native-rcc
+usr/bin/native-uic
+usr/bin/host-moc
+usr/bin/host-qmake
+usr/bin/host-rcc
+usr/bin/host-uic
+usr/include/qt4/QtUiTools
+usr/include/qt4/QtSvg
+usr/include/qt4/QtXml
+usr/include/qt4/QtGui
+usr/include/qt4/phonon
+usr/include/qt4/QtScript
+usr/include/qt4/QtScriptTools
+usr/include/qt4/QtSql
+usr/include/qt4/QtXmlPatterns
+usr/include/qt4/QtDBus
+usr/include/qt4/QtTest
+usr/include/qt4/QtHelp
+usr/include/qt4/Qt
+usr/include/qt4/QtCore
+usr/include/qt4/QtNetwork
+usr/include/qt4/QtMultimedia
+usr/include/qt4/QtOpenGL
+usr/include/qt4/QtDeclarative
+usr/lib/libphonon.prl
+usr/lib/libphonon.so
+usr/lib/libQtCLucene.prl
+usr/lib/libQtCLucene.so
+usr/lib/libQtCore.prl
+usr/lib/libQtCore.so
+usr/lib/libQtDBus.prl
+usr/lib/libQtDBus.so
+usr/lib/libQtGui.prl
+usr/lib/libQtGui.so
+usr/lib/libQtHelp.prl
+usr/lib/libQtHelp.so
+usr/lib/libQtNetwork.prl
+usr/lib/libQtNetwork.so
+usr/lib/libQtScript.prl
+usr/lib/libQtScript.so
+usr/lib/libQtScriptTools.prl
+usr/lib/libQtScriptTools.so
+usr/lib/libQtSql.prl
+usr/lib/libQtSql.so
+usr/lib/libQtSvg.prl
+usr/lib/libQtSvg.so
+usr/lib/libQtTest.prl
+usr/lib/libQtTest.so
+usr/lib/libQtUiTools.prl
+usr/lib/libQtUiTools.a
+usr/lib/libQtXmlPatterns.prl
+usr/lib/libQtXmlPatterns.so
+usr/lib/libQtXml.prl
+usr/lib/libQtXml.so
+usr/lib/libQtMultimedia.prl
+usr/lib/libQtMultimedia.so
+usr/lib/libQtOpenGL.prl
+usr/lib/libQtOpenGL.so
+usr/lib/libQtDeclarative.so
+usr/lib/libQtDeclarative.prl
+usr/lib/pkgconfig/phonon.pc
+usr/lib/pkgconfig/QtCLucene.pc
+usr/lib/pkgconfig/QtCore.pc
+usr/lib/pkgconfig/QtDBus.pc
+usr/lib/pkgconfig/QtGui.pc
+usr/lib/pkgconfig/QtHelp.pc
+usr/lib/pkgconfig/QtNetwork.pc
+usr/lib/pkgconfig/QtScript.pc
+usr/lib/pkgconfig/QtScriptTools.pc
+usr/lib/pkgconfig/QtSql.pc
+usr/lib/pkgconfig/QtSvg.pc
+usr/lib/pkgconfig/QtTest.pc
+usr/lib/pkgconfig/QtUiTools.pc
+usr/lib/pkgconfig/QtXmlPatterns.pc
+usr/lib/pkgconfig/QtXml.pc
+usr/lib/pkgconfig/QtMultimedia.pc
+usr/lib/pkgconfig/QtOpenGL.pc
+usr/lib/pkgconfig/QtDeclarative.pc
+usr/share/qt4/q3porting.xml
+usr/share/qt4/mkspecs
diff --git a/config.profiles/harmattan/libqt4-dev.links b/config.profiles/harmattan/libqt4-dev.links
new file mode 100644
index 0000000..0624825
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.links
@@ -0,0 +1,13 @@
+usr/include/qt4 usr/share/qt4/include
+usr/bin/lrelease usr/share/qt4/bin/lrelease
+usr/bin/lupdate usr/share/qt4/bin/lupdate
+usr/bin/moc usr/share/qt4/bin/moc
+usr/bin/qmake usr/share/qt4/bin/qmake
+usr/bin/uic usr/share/qt4/bin/uic
+usr/bin/lrelease usr/bin/lrelease-qt4
+usr/bin/lupdate usr/bin/lupdate-qt4
+usr/bin/moc usr/bin/moc-qt4
+usr/bin/qmake usr/bin/qmake-qt4
+usr/bin/uic usr/bin/uic-qt4
+usr/bin/rcc usr/share/qt4/bin/rcc
+usr/lib/qt4/plugins usr/share/qt4/plugins
diff --git a/config.profiles/harmattan/libqt4-dev.lintian b/config.profiles/harmattan/libqt4-dev.lintian
new file mode 100644
index 0000000..c4c242a
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.lintian
@@ -0,0 +1,17 @@
+libqt4-dev: executable-not-elf-or-script ./usr/share/qt4/mkspecs/macx-pbuilder/Info.plist.app
+libqt4-dev: executable-not-elf-or-script ./usr/share/qt4/mkspecs/macx-xcode/Info.plist.app
+libqt4-dev: executable-not-elf-or-script ./usr/share/qt4/mkspecs/macx-xcode/qmake.conf
+libqt4-dev: executable-not-elf-or-script ./usr/share/qt4/mkspecs/macx-pbuilder/qmake.conf
+libqt4-dev: unknown-control-file digsigsums
+libqt4-dev: binary-from-other-architecture ./usr/bin/host-moc
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-moc /scratchbox/host_shared/lib
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-moc /host_usr/lib
+libqt4-dev: binary-from-other-architecture ./usr/bin/host-qmake
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-qmake /scratchbox/host_shared/lib
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-qmake /host_usr/lib
+libqt4-dev: binary-from-other-architecture ./usr/bin/host-rcc
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-rcc /scratchbox/host_shared/lib
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-rcc /host_usr/lib
+libqt4-dev: binary-from-other-architecture ./usr/bin/host-uic
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-uic /scratchbox/host_shared/lib
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-uic /host_usr/lib
diff --git a/config.profiles/harmattan/libqt4-dev.manpages b/config.profiles/harmattan/libqt4-dev.manpages
new file mode 100644
index 0000000..1e9423a
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.manpages
@@ -0,0 +1,5 @@
+debian/manpages/lrelease.1
+debian/manpages/lupdate.1
+debian/manpages/moc.1
+debian/manpages/qmake.1
+debian/manpages/uic.1
diff --git a/config.profiles/harmattan/libqt4-dev.postinst b/config.profiles/harmattan/libqt4-dev.postinst
new file mode 100644
index 0000000..2ab29ff
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.postinst
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+SPECDIR=/usr/share/qt4/mkspecs
+
+rm -f ${SPECDIR}/default
+ln -s ${SPECDIR}/#PLATFORM_ARG# ${SPECDIR}/default
+
+PREFIX=native
+if [ -f /targets/links/scratchbox.config ]; then
+ PREFIX=host
+fi
+
+BINARIES="qmake moc rcc uic"
+
+for bin in $BINARIES; do
+ ln -sf "/usr/bin/${PREFIX}-${bin}" "/usr/bin/${bin}"
+done
+
+#DEBHELPER#
diff --git a/config.profiles/harmattan/libqt4-dev.prerm b/config.profiles/harmattan/libqt4-dev.prerm
new file mode 100644
index 0000000..0a078be
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.prerm
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+BINARIES="qmake moc rcc uic"
+
+case "$1" in
+ upgrade) ;;
+ remove|failed-upgrade|deconfigure)
+ for bin in $BINARIES; do
+ rm -f "/usr/bin/${bin}"
+ done
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/config.profiles/harmattan/libqt4-doc.install b/config.profiles/harmattan/libqt4-doc.install
new file mode 100644
index 0000000..badafd2
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-doc.install
@@ -0,0 +1 @@
+usr/share/qt4/doc/html/*
diff --git a/config.profiles/harmattan/libqt4-doc.lintian b/config.profiles/harmattan/libqt4-doc.lintian
new file mode 100644
index 0000000..e701359
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-doc.lintian
@@ -0,0 +1 @@
+libqt4-doc: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-gui-tests.lintian b/config.profiles/harmattan/libqt4-gui-tests.lintian
new file mode 100644
index 0000000..0139465
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-gui-tests.lintian
@@ -0,0 +1,64 @@
+libqt4-gui-tests: unknown-control-file digsigsums
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_modeltest
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractbutton
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractitemmodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractprintdialog
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractproxymodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractslider
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractspinbox
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstracttextdocumentlayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractvideobuffer
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractvideosurface
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qaction
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qboxlayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qfileiconprovider
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qfocusframe
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qfont
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qfontmetrics
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qformlayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qgraphicslayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkcachemetadata
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpaintengine
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpalette
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qparallelanimationgroup
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpauseanimation
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpicture
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qplaintextedit
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpointer
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qprinterinfo
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qprogressbar
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qprogressdialog
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpropertyanimation
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qradiobutton
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qregexpvalidator
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptenginedebugger
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qscrollarea
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qscrollbar
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qsharedpointer_and_qwidget
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qsignalmapper
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qslider
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qsortfilterproxymodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qspinbox
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstackedlayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstackedwidget
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstandarditem
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstandarditemmodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstatemachine
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstringlistmodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstyleoption
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qsyntaxhighlighter
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextblock
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextcursor
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextformat
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextlist
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextobject
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextscriptengine
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtexttable
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtoolbox
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtoolbutton
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtreewidgetitemiterator
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qundogroup
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qundostack
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qvideosurfaceformat
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qwidgetaction
+libqt4-gui-tests: non-standard-dir-in-usr usr/tests/
diff --git a/config.profiles/harmattan/libqt4-gui.lintian b/config.profiles/harmattan/libqt4-gui.lintian
new file mode 100644
index 0000000..ea3c04b
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-gui.lintian
@@ -0,0 +1 @@
+libqt4-gui: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-help-dbg.lintian b/config.profiles/harmattan/libqt4-help-dbg.lintian
new file mode 100644
index 0000000..06fd248
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-help-dbg.lintian
@@ -0,0 +1 @@
+libqt4-help-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-help.install b/config.profiles/harmattan/libqt4-help.install
new file mode 100644
index 0000000..2e06a51
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-help.install
@@ -0,0 +1,4 @@
+usr/lib/libQtHelp.so.*
+usr/lib/libQtCLucene.so.*
+usr/share/qt4/translations/qt_help_de.qm
+usr/share/qt4/translations/qt_help_pl.qm
diff --git a/config.profiles/harmattan/libqt4-help.lintian b/config.profiles/harmattan/libqt4-help.lintian
new file mode 100644
index 0000000..44aad04
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-help.lintian
@@ -0,0 +1,2 @@
+libqt4-help: package-name-doesnt-match-sonames libQtCLucene4 libQtHelp4
+libqt4-help: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-meego-dbg.lintian b/config.profiles/harmattan/libqt4-meego-dbg.lintian
new file mode 100644
index 0000000..939f381
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meego-dbg.lintian
@@ -0,0 +1 @@
+libqt4-meego-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-meego-dev.lintian b/config.profiles/harmattan/libqt4-meego-dev.lintian
new file mode 100644
index 0000000..36c9ee8
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meego-dev.lintian
@@ -0,0 +1 @@
+libqt4-meego-dev: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-meego.lintian b/config.profiles/harmattan/libqt4-meego.lintian
new file mode 100644
index 0000000..2f7b3f6
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meego.lintian
@@ -0,0 +1,2 @@
+libqt4-meego: unknown-control-file digsigsums
+libqt4-meego: package-name-doesnt-match-sonames libQtMeeGoGraphicsSystemHelper4
diff --git a/config.profiles/harmattan/libqt4-meegographicssystem.install b/config.profiles/harmattan/libqt4-meegographicssystem.install
new file mode 100644
index 0000000..41bf9a0
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meegographicssystem.install
@@ -0,0 +1 @@
+usr/lib/qt4/plugins/graphicssystems/libqmeegographicssystem.so
diff --git a/config.profiles/harmattan/libqt4-meegographicssystemhelper-dev.install b/config.profiles/harmattan/libqt4-meegographicssystemhelper-dev.install
new file mode 100644
index 0000000..848d6ff
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meegographicssystemhelper-dev.install
@@ -0,0 +1,3 @@
+usr/include/qt4/QtMeeGoGraphicsSystemHelper
+usr/lib/libQtMeeGoGraphicsSystemHelper.so
+usr/lib/libQtMeeGoGraphicsSystemHelper.prl
diff --git a/config.profiles/harmattan/libqt4-meegographicssystemhelper.install b/config.profiles/harmattan/libqt4-meegographicssystemhelper.install
new file mode 100644
index 0000000..4eb904d
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meegographicssystemhelper.install
@@ -0,0 +1 @@
+usr/lib/libQtMeeGoGraphicsSystemHelper.so.*
diff --git a/config.profiles/harmattan/libqt4-multimedia-dbg.lintian b/config.profiles/harmattan/libqt4-multimedia-dbg.lintian
new file mode 100644
index 0000000..e35e83e
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-multimedia-dbg.lintian
@@ -0,0 +1 @@
+libqt4-multimedia-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-multimedia.install b/config.profiles/harmattan/libqt4-multimedia.install
new file mode 100644
index 0000000..2f6f97d
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-multimedia.install
@@ -0,0 +1 @@
+usr/lib/libQtMultimedia.so.*
diff --git a/config.profiles/harmattan/libqt4-multimedia.lintian b/config.profiles/harmattan/libqt4-multimedia.lintian
new file mode 100644
index 0000000..ef410a2
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-multimedia.lintian
@@ -0,0 +1,2 @@
+libqt4-multimedia: unknown-control-file digsigsums
+libqt4-multimedia: package-name-doesnt-match-sonames libQtMultimedia4
diff --git a/config.profiles/harmattan/libqt4-network-dbg.lintian b/config.profiles/harmattan/libqt4-network-dbg.lintian
new file mode 100644
index 0000000..8cae7f3
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-network-dbg.lintian
@@ -0,0 +1 @@
+libqt4-network-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-network.install b/config.profiles/harmattan/libqt4-network.install
new file mode 100644
index 0000000..1681282
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-network.install
@@ -0,0 +1,2 @@
+usr/lib/libQtNetwork.so.*
+usr/lib/qt4/plugins/bearer/libqicdbearer.so
diff --git a/config.profiles/harmattan/libqt4-network.lintian b/config.profiles/harmattan/libqt4-network.lintian
new file mode 100644
index 0000000..11a2284
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-network.lintian
@@ -0,0 +1,2 @@
+libqt4-network: package-name-doesnt-match-sonames libQtNetwork4
+libqt4-network: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-opengl-dbg.lintian b/config.profiles/harmattan/libqt4-opengl-dbg.lintian
new file mode 100644
index 0000000..fb470cd
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-opengl-dbg.lintian
@@ -0,0 +1 @@
+libqt4-opengl-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-opengl-dev.lintian b/config.profiles/harmattan/libqt4-opengl-dev.lintian
new file mode 100644
index 0000000..da53f96
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-opengl-dev.lintian
@@ -0,0 +1 @@
+libqt4-opengl-dev: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-opengl.install b/config.profiles/harmattan/libqt4-opengl.install
new file mode 100644
index 0000000..fc0a7a6
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-opengl.install
@@ -0,0 +1,2 @@
+usr/lib/libQtOpenGL.so.*
+usr/lib/qt4/plugins/graphicssystems/libqglgraphicssystem.so
diff --git a/config.profiles/harmattan/libqt4-opengl.lintian b/config.profiles/harmattan/libqt4-opengl.lintian
new file mode 100644
index 0000000..8f49420
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-opengl.lintian
@@ -0,0 +1,3 @@
+libqt4-opengl: package-name-doesnt-match-sonames libQtOpenGL4
+libqt4-opengl: package-relation-with-self depends
+libqt4-opengl: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-phonon-dbg.lintian b/config.profiles/harmattan/libqt4-phonon-dbg.lintian
new file mode 100644
index 0000000..7ce2877
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-phonon-dbg.lintian
@@ -0,0 +1 @@
+libqt4-phonon-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-phonon.install b/config.profiles/harmattan/libqt4-phonon.install
new file mode 100644
index 0000000..3fdc018
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-phonon.install
@@ -0,0 +1,2 @@
+usr/lib/libphonon.so.*
+usr/lib/qt4/plugins/phonon_backend/libphonon_*.so
diff --git a/config.profiles/harmattan/libqt4-phonon.lintian b/config.profiles/harmattan/libqt4-phonon.lintian
new file mode 100644
index 0000000..a1a46b9
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-phonon.lintian
@@ -0,0 +1,2 @@
+libqt4-phonon: package-name-doesnt-match-sonames libphonon4
+libqt4-phonon: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-script-dbg.lintian b/config.profiles/harmattan/libqt4-script-dbg.lintian
new file mode 100644
index 0000000..9290ace
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-script-dbg.lintian
@@ -0,0 +1 @@
+libqt4-script-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-script.install b/config.profiles/harmattan/libqt4-script.install
new file mode 100644
index 0000000..f8cc5c4
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-script.install
@@ -0,0 +1,3 @@
+usr/lib/libQtScript.so.*
+usr/lib/libQtScriptTools.so.*
+usr/lib/qt4/plugins/script/libqtscriptdbus.so
diff --git a/config.profiles/harmattan/libqt4-script.lintian b/config.profiles/harmattan/libqt4-script.lintian
new file mode 100644
index 0000000..51b6944
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-script.lintian
@@ -0,0 +1,2 @@
+libqt4-script: package-name-doesnt-match-sonames libQtScript4 libQtScriptTools4
+libqt4-script: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-sql-dbg.lintian b/config.profiles/harmattan/libqt4-sql-dbg.lintian
new file mode 100644
index 0000000..5f4f189
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql-dbg.lintian
@@ -0,0 +1 @@
+libqt4-sql-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-sql-sqlite-dbg.lintian b/config.profiles/harmattan/libqt4-sql-sqlite-dbg.lintian
new file mode 100644
index 0000000..6e53ab6
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql-sqlite-dbg.lintian
@@ -0,0 +1 @@
+libqt4-sql-sqlite-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-sql-sqlite.install b/config.profiles/harmattan/libqt4-sql-sqlite.install
new file mode 100644
index 0000000..6590079
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql-sqlite.install
@@ -0,0 +1,2 @@
+usr/lib/qt4/plugins/sqldrivers/libqsqlite.so
+
diff --git a/config.profiles/harmattan/libqt4-sql-sqlite.lintian b/config.profiles/harmattan/libqt4-sql-sqlite.lintian
new file mode 100644
index 0000000..a6eb651
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql-sqlite.lintian
@@ -0,0 +1 @@
+libqt4-sql-sqlite: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-sql.install b/config.profiles/harmattan/libqt4-sql.install
new file mode 100644
index 0000000..5ff4a1f
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql.install
@@ -0,0 +1,2 @@
+usr/lib/libQtSql.so.*
+
diff --git a/config.profiles/harmattan/libqt4-sql.lintian b/config.profiles/harmattan/libqt4-sql.lintian
new file mode 100644
index 0000000..b20d867
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql.lintian
@@ -0,0 +1,2 @@
+libqt4-sql: package-name-doesnt-match-sonames libQtSql4
+libqt4-sql: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-svg-dbg.lintian b/config.profiles/harmattan/libqt4-svg-dbg.lintian
new file mode 100644
index 0000000..171ee74
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-svg-dbg.lintian
@@ -0,0 +1 @@
+libqt4-svg-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-svg.install b/config.profiles/harmattan/libqt4-svg.install
new file mode 100644
index 0000000..21289f8
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-svg.install
@@ -0,0 +1,4 @@
+usr/lib/libQtSvg.so.*
+usr/lib/qt4/plugins/iconengines/libqsvgicon.so
+usr/lib/qt4/plugins/imageformats/libqsvg.so
+
diff --git a/config.profiles/harmattan/libqt4-svg.lintian b/config.profiles/harmattan/libqt4-svg.lintian
new file mode 100644
index 0000000..31b3b15
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-svg.lintian
@@ -0,0 +1,2 @@
+libqt4-svg: package-name-doesnt-match-sonames libQtSvg4
+libqt4-svg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-test-dbg.lintian b/config.profiles/harmattan/libqt4-test-dbg.lintian
new file mode 100644
index 0000000..587353e
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-test-dbg.lintian
@@ -0,0 +1 @@
+libqt4-test-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-test.install b/config.profiles/harmattan/libqt4-test.install
new file mode 100644
index 0000000..7883dee
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-test.install
@@ -0,0 +1,2 @@
+usr/lib/libQtTest.so.*
+
diff --git a/config.profiles/harmattan/libqt4-test.lintian b/config.profiles/harmattan/libqt4-test.lintian
new file mode 100644
index 0000000..db7b2a6
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-test.lintian
@@ -0,0 +1,2 @@
+libqt4-test: package-name-doesnt-match-sonames libQtTest4
+libqt4-test: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-webkit.lintian b/config.profiles/harmattan/libqt4-webkit.lintian
new file mode 100644
index 0000000..9c70f48
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-webkit.lintian
@@ -0,0 +1 @@
+libqt4-webkit: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-xml-dbg.lintian b/config.profiles/harmattan/libqt4-xml-dbg.lintian
new file mode 100644
index 0000000..8df20db
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xml-dbg.lintian
@@ -0,0 +1 @@
+libqt4-xml-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-xml.install b/config.profiles/harmattan/libqt4-xml.install
new file mode 100644
index 0000000..6366cb3
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xml.install
@@ -0,0 +1 @@
+usr/lib/libQtXml.so.*
diff --git a/config.profiles/harmattan/libqt4-xml.lintian b/config.profiles/harmattan/libqt4-xml.lintian
new file mode 100644
index 0000000..bd61725
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xml.lintian
@@ -0,0 +1,2 @@
+libqt4-xml: package-name-doesnt-match-sonames libQtXml4
+libqt4-xml: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-xmlpatterns-dbg.lintian b/config.profiles/harmattan/libqt4-xmlpatterns-dbg.lintian
new file mode 100644
index 0000000..aafa724
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xmlpatterns-dbg.lintian
@@ -0,0 +1 @@
+libqt4-xmlpatterns-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-xmlpatterns.install b/config.profiles/harmattan/libqt4-xmlpatterns.install
new file mode 100644
index 0000000..1997474
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xmlpatterns.install
@@ -0,0 +1,3 @@
+usr/lib/libQtXmlPatterns.so.*
+usr/bin/xmlpatterns
+
diff --git a/config.profiles/harmattan/libqt4-xmlpatterns.lintian b/config.profiles/harmattan/libqt4-xmlpatterns.lintian
new file mode 100644
index 0000000..785b999
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xmlpatterns.lintian
@@ -0,0 +1,2 @@
+libqt4-xmlpatterns: package-name-doesnt-match-sonames libQtXmlPatterns4
+libqt4-xmlpatterns: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4.lintian b/config.profiles/harmattan/libqt4.lintian
new file mode 100644
index 0000000..2eb0928
--- /dev/null
+++ b/config.profiles/harmattan/libqt4.lintian
@@ -0,0 +1 @@
+libqt4: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqtcore4-dbg.lintian b/config.profiles/harmattan/libqtcore4-dbg.lintian
new file mode 100644
index 0000000..8dfcc0c
--- /dev/null
+++ b/config.profiles/harmattan/libqtcore4-dbg.lintian
@@ -0,0 +1 @@
+libqtcore4-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqtcore4.install b/config.profiles/harmattan/libqtcore4.install
new file mode 100644
index 0000000..1c8fc57
--- /dev/null
+++ b/config.profiles/harmattan/libqtcore4.install
@@ -0,0 +1,6 @@
+usr/lib/libQtCore.so.*
+usr/lib/qt4/plugins/codecs/lib*.so
+usr/share/qt4/translations/qt_??.qm
+usr/share/qt4/translations/qt_??_??.qm
+usr/share/qt4/translations/qvfb_*.qm
+
diff --git a/config.profiles/harmattan/libqtcore4.lintian b/config.profiles/harmattan/libqtcore4.lintian
new file mode 100644
index 0000000..1c14b59
--- /dev/null
+++ b/config.profiles/harmattan/libqtcore4.lintian
@@ -0,0 +1,2 @@
+libqtcore4: package-name-doesnt-match-sonames libQtCLucene4 libQtCore4
+libqtcore4: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqtgui4-dbg.lintian b/config.profiles/harmattan/libqtgui4-dbg.lintian
new file mode 100644
index 0000000..d166ea8
--- /dev/null
+++ b/config.profiles/harmattan/libqtgui4-dbg.lintian
@@ -0,0 +1 @@
+libqtgui4-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqtgui4.install b/config.profiles/harmattan/libqtgui4.install
new file mode 100644
index 0000000..4b4fa9c
--- /dev/null
+++ b/config.profiles/harmattan/libqtgui4.install
@@ -0,0 +1,7 @@
+usr/lib/libQtGui.so.*
+usr/lib/qt4/plugins/imageformats/libqgif.so
+usr/lib/qt4/plugins/imageformats/libqico.so
+usr/lib/qt4/plugins/imageformats/libqjpeg.so
+usr/lib/qt4/plugins/imageformats/libqtiff.so
+usr/lib/qt4/plugins/inputmethods/libqimsw-multi.so
+usr/lib/qt4/plugins/accessible/libqtaccessiblewidgets.so
diff --git a/config.profiles/harmattan/libqtgui4.lintian b/config.profiles/harmattan/libqtgui4.lintian
new file mode 100644
index 0000000..e9d4ec9
--- /dev/null
+++ b/config.profiles/harmattan/libqtgui4.lintian
@@ -0,0 +1,2 @@
+libqtgui4: package-name-doesnt-match-sonames libQtGui4
+libqtgui4: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/manpages/lrelease.1 b/config.profiles/harmattan/manpages/lrelease.1
new file mode 100644
index 0000000..174d40c
--- /dev/null
+++ b/config.profiles/harmattan/manpages/lrelease.1
@@ -0,0 +1,89 @@
+.TH lrelease 1 "18 October 2001" "Trolltech AS" \" -*- nroff -*-
+.\"
+.\" Copyright 2001 Trolltech AS. All rights reserved.
+.\"
+.\" This file may be distributed and/or modified under the terms of the
+.\" GNU General Public License version 2 as published by the Free Software
+.\" Foundation and appearing in the file LICENSE.GPL included in the
+.\" packaging of this file.
+.\"
+.\" This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+.\" WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\"
+.\" See http://www.trolltech.com/gpl/ for GPL licensing information.
+.\"
+.\" Contact info@trolltech.com if any conditions of this licensing are
+.\" not clear to you.
+.\"
+.SH NAME
+lrelease \- generate Qt message files from Qt Linguist translation files
+.SH SYNOPSIS
+.B lrelease
+.RI "[ " options " ] " project-file
+.br
+.B lrelease
+.RI "[ " options " ] " ts-files " [ -qm " qm-file " ]"
+.SH DESCRIPTION
+This page documents the
+.B Qt Linguist Release
+tool for the Qt GUI toolkit.
+.B Lrelease
+reads a qmake/tmake project file (.pro file) and converts the
+translation files (.ts files) specified in it into Qt message files
+(.qm files) used by the application to translate.
+.PP
+The .qm file format is a compact binary format that provides
+extremely fast lookups for translations and that is used by Qt.
+.SH OPTIONS
+.TP
+.I "-help"
+Display the usage and exit.
+.TP
+.I "-nocompress"
+Do not compress the .qm files.
+.TP
+.I "-verbose"
+Explain what is being done.
+.TP
+.I "-version"
+Display the version of
+.B lrelease
+and exit.
+.SH USAGE
+Here is an example .pro file that can be given to
+.B lrelease:
+.PP
+.in +4
+.nf
+HEADERS = funnydialog.h \\
+ wackywidget.h
+SOURCES = funnydialog.cpp \\
+ main.cpp \\
+ wackywidget.cpp
+FORMS = fancybox.ui
+TRANSLATIONS = gnomovision_dk.ts \\
+ gnomovision_fi.ts \\
+ gnomovision_no.ts \\
+ gnomovision_se.ts
+.fi
+.in -4
+.PP
+When running
+.B lrelease
+on this project file, the Qt message files gnomovision_dk.qm,
+gnomovision_fi.qm, gnomovision_no.qm and gnomovision_se.qm will be
+generated from gnomovision_dk.ts, gnomovision_fi.ts,
+gnomovision_no.ts and gnomovision_se.ts, respectively.
+.PP
+.B Lrelease
+can also be invoked with a list of .ts files to convert:
+.PP
+.in +4
+.nf
+lrelease gnomovision_*.ts
+.fi
+.in -4
+.SH "SEE ALSO"
+.BR lupdate (1)
+and
+.BR http://doc.trolltech.com/i18n.html
diff --git a/config.profiles/harmattan/manpages/lupdate.1 b/config.profiles/harmattan/manpages/lupdate.1
new file mode 100644
index 0000000..722657d
--- /dev/null
+++ b/config.profiles/harmattan/manpages/lupdate.1
@@ -0,0 +1,95 @@
+.TH lupdate 1 "18 October 2001" "Trolltech AS" \" -*- nroff -*-
+.\"
+.\" Copyright 2001 Trolltech AS. All rights reserved.
+.\"
+.\" This file may be distributed and/or modified under the terms of the
+.\" GNU General Public License version 2 as published by the Free Software
+.\" Foundation and appearing in the file LICENSE.GPL included in the
+.\" packaging of this file.
+.\"
+.\" This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+.\" WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\"
+.\" See http://www.trolltech.com/gpl/ for GPL licensing information.
+.\"
+.\" Contact info@trolltech.com if any conditions of this licensing are
+.\" not clear to you.
+.\"
+.SH NAME
+lupdate \- update Qt Linguist translation files
+.SH SYNOPSIS
+.B lupdate
+.RI "[ " options " ] " project-file
+.br
+.B lupdate
+.RI "[ " options " ] " source-files " -ts " ts-files
+.SH DESCRIPTION
+This page documents the
+.B Qt Linguist Update
+tool for the Qt GUI toolkit.
+.B Lupdate
+reads a qmake/tmake project file (.pro file), finds the translatable
+strings in the specified source, header and interface files, and
+updates the translation files (.ts files) specified in it. The
+translation files are given to the translator who uses
+.B Qt Linguist
+to read the files and insert the translations.
+.PP
+The .ts file format is a simple human-readable XML format that can be
+used with version control systems if required.
+.PP
+.SH OPTIONS
+.TP
+.I "-help"
+Display the usage and exit.
+.TP
+.I "-noobsolete"
+Drop all obsolete strings.
+.TP
+.I "-verbose"
+Explain what is being done.
+.TP
+.I "-version"
+Display the version of
+.B lupdate
+and exit.
+.SH USAGE
+Here is an example .pro file that can be given to
+.B lupdate:
+.PP
+.in +4
+.nf
+HEADERS = funnydialog.h \\
+ wackywidget.h
+SOURCES = funnydialog.cpp \\
+ main.cpp \\
+ wackywidget.cpp
+FORMS = fancybox.ui
+TRANSLATIONS = gnomovision_dk.ts \\
+ gnomovision_fi.ts \\
+ gnomovision_no.ts \\
+ gnomovision_se.ts
+.fi
+.in -4
+.PP
+When running
+.B lupdate
+on this project file, the translatable strings in all the files
+listed in the HEADERS, SOURCES and FORMS entries will be put in
+the translation files listed in the TRANSLATIONS entry. Previous
+translations will be reused as far as possible, and translated
+strings that have vanished from the source files are marked obsolete.
+.PP
+.B Lupdate
+can also be invoked with a list of C++ source files, .ui files
+and .ts files:
+.PP
+.in +4
+.nf
+lupdate *.cpp *.h *.ui -ts gnomovision_dk.ts
+.fi
+.in -4
+.SH "SEE ALSO"
+.BR lrelease (1)
+and
+.BR http://doc.trolltech.com/i18n.html
diff --git a/config.profiles/harmattan/manpages/moc.1 b/config.profiles/harmattan/manpages/moc.1
new file mode 100644
index 0000000..131827a
--- /dev/null
+++ b/config.profiles/harmattan/manpages/moc.1
@@ -0,0 +1,449 @@
+.TH moc 1 "24 June 2001" "Trolltech AS" \" -*- nroff -*-
+.\"
+.\" $Id: qt/moc.1 3.3.4 edited May 27 2003 $
+.\"
+.\" Copyright 1992-2002 Trolltech AS. All rights reserved.
+.\"
+.\" This file is part of Qt and may be distributed and used according to
+.\" the terms and conditions described in the LICENSE file.
+.\"
+.nh
+.SH NAME
+moc \- generate Qt meta object support code
+.SH SYNOPSIS
+.B moc
+[\-o file] [\-i] [\-f] [\-k] [\-ldbg] [\-nw] [\-p path] [\-q path] [\-v] file
+.SH DESCRIPTION
+This page documents the
+.B Meta Object Compiler
+for the Qt GUI application framework. The
+.B moc
+reads one or more C++ class declarations from a C++ header or source
+file and generates one C++ source file containing meta object
+information for the classes. The C++ source file generated by the
+.B moc
+must be compiled and linked with the implementation of the class (or it
+can be #included into the class's source file).
+.PP
+If you use
+.B qmake
+to create your Makefiles, build rules will be included that call the
+.B moc
+when required, so you will not need to use the
+.B moc
+directly.
+.PP
+In brief, the meta object system is a structure used by Qt (see
+.BR http://doc.trolltech.com ")"
+for component programming and run time type information. It adds
+properties and inheritance information to (some) classes and
+provides a new type of communication between those instances of those
+classes, signal\-slot
+connections.
+.SH OPTIONS
+.TP
+.I "\-o file"
+Write output to
+.I file
+rather than to stdout.
+.TP
+.I \-f
+Force the generation of an #include statement in the output.
+This is the default for files whose name matches the regular
+expression .[hH][^.]* (i.e. the extension starts with
+.B H
+or
+.B h
+). This
+option is only useful if you have header files that do not follow the
+standard naming conventions.
+.TP
+.I "\-i"
+Do not generate an #include statement in the output. This may be used
+to run
+.B moc
+on a C++ file containing one or more class declarations. You should then
+#include the meta object code in the .cpp file (see USAGE below). If both
+.I \-f
+and
+.I \-i
+are present, the last one wins.
+.TP
+.I "\-nw"
+Do not generate any warnings. Not recommended.
+.TP
+.I "\-ldbg"
+Write a flood of lex debug information to stdout.
+.TP
+.I "\-p path"
+Makes
+.B moc
+prepend
+.IR path /
+to the file name in the generated #include statement (if one is generated).
+.TP
+.I "\-q path"
+Makes
+.B moc
+prepend
+.IR path /
+to the file name of qt #include files in the generated code.
+.TP
+.I "\-v"
+Displays the version of
+.B moc
+and Qt.
+.PP
+You can explicitly tell the
+.B moc
+not to parse parts of a header
+file. It recognizes any C++ comment (//) that contains the substrings
+MOC_SKIP_BEGIN or MOC_SKIP_END. They work as you would expect and you
+can have several levels of them. The net result as seen by the
+.B moc
+is as if you had removed all lines between a MOC_SKIP_BEGIN and a
+MOC_SKIP_END
+.SH USAGE
+.B moc
+is almost always invoked by
+.BR make (1),
+not by hand.
+.PP
+.B moc
+is typically used with an input file containing class declarations
+like this:
+.PP
+.in +4
+.nf
+class YourClass : public QObject {
+ Q_OBJECT
+ Q_PROPERTY( ... )
+ Q_CLASSINFO( ... )
+
+public:
+ YourClass( QObject * parent=0, const char * name=0 );
+ ~YourClass();
+
+signals:
+
+public slots:
+
+};
+.fi
+.in -4
+.PP
+Here is a useful makefile rule if you only use GNU make:
+.PP
+.in +4
+.nf
+m%.cpp: %.h
+ moc $< -o $@
+.fi
+.in -4
+.PP
+If you want to write portably, you can use individual rules of the
+following form:
+.PP
+.in +4
+.nf
+mNAME.cpp: NAME.h
+ moc $< -o $@
+.fi
+.in -4
+.PP
+You must also remember to add
+.I mNAME.cpp
+to your SOURCES (substitute your favorite name) variable and
+.I mNAME.o
+to your OBJECTS variable.
+.PP
+(While we prefer to name our C++ source files .cpp, the
+.B moc
+doesn't know that, so you can use .C, .cc, .CC, .cxx or even .c++ if
+you prefer.)
+.PP
+If you have class declarations in C++ files, we recommend that you use
+a makefile rule like this:
+.PP
+.in +4
+.nf
+NAME.o: mNAME.cpp
+
+mNAME.cpp: NAME.cpp
+ moc -i $< -o $@
+.fi
+.in -4
+.PP
+This guarantees that
+.BR make (1)
+will run the
+.B moc
+before it compiles
+.IR NAME.cpp .
+You can then put
+.PP
+.ti +4
+#include "nNAME.cpp"
+.PP
+at the end of
+.IR NAME.cpp ,
+where all the classes declared in that file are fully known.
+.SH DIAGNOSTICS
+Sometimes you may get linkage errors, saying that
+YourClass::className() is undefined or that YourClass lacks a vtbl.
+Those errors happen most often when you forget to compile the
+moc-generated C++ code or include that object file in the link
+command.
+.PP
+The
+.B moc
+will warn you about a number of dangerous or illegal constructs.
+.SH BUGS
+
+The
+.B moc
+does not expand #include or #define, it simply skips any preprocessor
+directives it encounters. This is regrettable, but is normally not a
+problem in practice.
+
+The
+.B moc
+does not handle all of C++. The main problem is that class templates
+cannot have signals or slots. This is an important bug. Here is an
+example:
+.PP
+.in +4
+.nf
+class SomeTemplate<int> : public QFrame {
+ Q_OBJECT
+ ....
+signals:
+ void bugInMocDetected( int );
+};
+.fi
+.in -4
+.PP
+Less importantly, the following constructs are illegal. All of them
+have have alternatives which we think are usually better, so removing
+these limitations is not a high priority for us.
+.SS "Multiple inheritance requires QObject to be first."
+If you are using multiple inheritance,
+.B moc
+assumes that the
+.B first
+inherited class is a subclass of QObject. Also, be sure that
+.B only
+the first inherited class is a QObject.
+.PP
+.in +4
+.nf
+class SomeClass : public QObject, public OtherClass {
+ ...
+};
+.fi
+.in -4
+.PP
+This bug is almost impossible to fix; since the
+.B moc
+does not expand
+#include or #define, it cannot find out which one of the base classes is a
+QObject.
+.SS "Function pointers cannot be arguments to signals or slots."
+In most cases where you would consider that, we think inheritance is a
+better alternative. Here is an example of illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+public slots:
+ // illegal
+ void apply( void (*apply)(List *, void *), void * );
+};
+.fi
+.in -4
+.PP
+You can work around this restriction like this:
+.PP
+.in +4
+.nf
+typedef void (*ApplyFunctionType)( List *, void * );
+
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+public slots:
+ void apply( ApplyFunctionType, char * );
+};
+.fi
+.in -4
+.PP
+It may sometimes be even better to replace the function pointer with
+inheritance and virtual functions, signals or slots.
+.SS "Friend declarations cannot be placed in signals or slots sections"
+Sometimes it will work, but in general, friend declarations cannot be
+placed in
+.B signals
+or
+.B slots
+sections. Put them in the good old
+.BR private ", " protected
+or
+.B public
+sections instead. Here is an example of the illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+signals:
+ friend class ClassTemplate<char>; // illegal
+};
+.fi
+.in -4
+.SS "Signals and slots cannot be upgraded"
+The C++ feature of upgrading an inherited member function to
+.B public
+status is not extended to cover signals and slots. Here is an illegal
+example:
+.PP
+.in +4
+.nf
+class Whatever : public QButtonGroup {
+ ...
+public slots:
+ QButtonGroup::buttonPressed; // illegal
+ ...
+};
+.fi
+.in -4
+.PP
+The QButtonGroup::buttonPressed() slot is protected.
+.PP
+C++ quiz: What happens if you try to upgrade a protected member
+function which is overloaded?
+.IP
+- All the functions are upgraded.
+.IP
+- That is not legal C++.
+.\" Good idea, but look in the SEE ALSO section...
+.SS "Type macros cannot be used for signal and slot arguments"
+
+Since the
+.B moc
+does not expand #define, type macros that take an argument
+will not work in signals and slots. Here is an illegal example:
+.PP
+.in +4
+.nf
+#ifdef ultrix
+#define SIGNEDNESS(a) unsigned a
+#else
+#define SIGNEDNESS(a) a
+#endif
+class Whatever : public QObject {
+ ...
+signals:
+ void someSignal( SIGNEDNESS(int) ); // illegal
+};
+.PP
+A #define without arguments works.
+.fi
+.in -4
+.SS "Nested classes cannot be in the signals or slots sections nor have signals or slots"
+Here's an example:
+.PP
+.in +4
+.nf
+class A {
+ Q_OBJECT
+public:
+ class B {
+ public slots: // illegal
+ void b();
+ ...
+ };
+signals:
+ class B { // illegal
+ void b();
+ ...
+ }:
+};
+.fi
+.in -4
+.PP
+.SS "Constructors cannot be used in signals or slots sections"
+It is a mystery to us why anyone would put a constructor on either the
+.B signals
+or
+.B slots
+sections. You can't, anyway (except that it happens to work in some
+cases). Put them in
+.BR private ", " protected
+or
+.B public
+sections, where they belong. Here is an example of the illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+public slots:
+ SomeClass( QObject *parent, const char *name )
+ : QObject( parent, name ) {} // illegal
+ ...
+};
+.fi
+.in -4
+.SS "Properties need to be declared before the public section that contains the respective get and set functions"
+.PP
+Declaring the first property within or after the public section that
+contains the type definition and the respective get and set functions
+does not work as expected. The
+.B moc
+will complain that it can neither
+find the functions nor resolve the type. Here is an example of the
+illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+public:
+ ...
+ // illegal
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+};
+.fi
+.in -4
+.PP
+Work around this limitation by declaring all properties at the
+beginning of the class declaration, right after Q_OBJECT:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+public:
+ ...
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+};
+.fi
+.in -4
+.PP
+.SH "SEE ALSO"
+.BR http://www.trolltech.com ", "
+.BR "C++ ARM, section r.11.3" " (for the answer to the quiz), and"
+.BR http://doc.trolltech.com " (for complete Qt documentation)."
diff --git a/config.profiles/harmattan/manpages/qmake.1 b/config.profiles/harmattan/manpages/qmake.1
new file mode 100644
index 0000000..62ab78a
--- /dev/null
+++ b/config.profiles/harmattan/manpages/qmake.1
@@ -0,0 +1,106 @@
+.TH QMAKE 1 "2005-07-23"
+.SH NAME
+qmake \- cross-platform makefile generator for Qt
+
+.SH SYNOPSIS
+.B qmake
+.I "[mode] [options] [files]"
+.br
+.SH "DESCRIPTION"
+.B qmake
+has two modes, one mode for generating project files based on some
+heuristics, and the other for generating makefiles. Normally you
+shouldn't need to specify a mode, as makefile generation is the default
+mode for qmake, but you may use this to test qmake on an existing
+project.
+
+.SH MODE
+.TP
+.B "\-project"
+Put qmake into project file generation mode In this mode qmake
+interprets files as files to be built, defaults to *.c; *.ui; *.y; *.l;
+*.ts; *.qrc; *.h; *.hpp; *.hh; *.hxx; *.H; *.cpp; *.cc; *.cxx; *.C
+.TP
+.B "\-makefile"
+Put qmake into makefile generation mode (default) In this mode qmake
+interprets files as project files to be processed, if skipped qmake will
+try to find a project file in your current working directory
+
+.SH WARNINGS OPTIONS
+.TP
+.BI "\-Wnone"
+Turn off all warnings
+.TP
+.BI "\-Wall"
+Turn on all warnings
+.TP
+.BI "\-Wparser"
+Turn on parser warnings
+.TP
+.BI "\-Wlogic"
+Turn on logic warnings
+
+.SH OPTIONS
+.TP
+.BI "\-o" file
+Write output to file
+.TP
+.BI "\-unix"
+Run in unix mode
+.TP
+.BI "\-win32"
+Run in win32 mode
+.TP
+.BI "\-macx"
+Run in Mac OS X mode
+.TP
+.BI "\-d"
+Increase debug level
+.TP
+.BI "\-t" templ
+Overrides TEMPLATE as templ
+.TP
+.BI "\-tp" prefix
+Overrides TEMPLATE so that prefix is prefixed
+.TP
+into the value
+.BI "\-help"
+This help
+.TP
+.BI "\-v"
+Version information
+.TP
+.BI "\-after"
+All variable assignments after this will be parsed after [files]
+.TP
+.BI "\-norecursive"
+Don't do a recursive search
+.TP
+.BI "\-recursive"
+Do a recursive search
+.TP
+.BI "\-cache file"
+Use file as cache [makefile mode only]
+.TP
+.BI "\-spec spec"
+Use spec as QMAKESPEC [makefile mode only]
+.TP
+.BI "\-nocache"
+Don't use a cache file [makefile mode only]
+.TP
+.BI "\-nodepend"
+Don't generate dependencies [makefile mode only]
+.TP
+.BI "\-nomoc"
+Don't generate moc targets [makefile mode only]
+.TP
+.BI "\-nopwd"
+Don't look for files in pwd [project mode only]
+
+.SH SEE ALSO
+.PP
+.BR /usr/share/qt4/doc/html/qmake-manual.html,
+.SH AUTHOR
+This manual page was written by Brian Nelson <pyro@debian.org> based on
+the output of
+.B "qmake -help".
diff --git a/config.profiles/harmattan/manpages/qtconfig.1 b/config.profiles/harmattan/manpages/qtconfig.1
new file mode 100644
index 0000000..08989fb
--- /dev/null
+++ b/config.profiles/harmattan/manpages/qtconfig.1
@@ -0,0 +1,34 @@
+.TH "qtconfig" "1" "3.0.3" "Troll Tech AS, Norway." ""
+.SH "NAME"
+.LP
+qtconfig \- Configuration tool for Qt
+.SH "DESCRIPTION"
+.LP
+QConfig allows for GUI based configuration of Qt and
+ other Qt based sources.
+
+.SH "ENVIRONMENT VARIABLES"
+.LP
+.TP
+\fBQTDIR\fP
+Specifies the base Qt dir
+.SH "AUTHORS"
+.LP
+TrollTech <http://www.trolltech.com/>
+.TH "qtconfig" "1" "3.0.3" "Troll Tech AS, Norway." ""
+.SH "NAME"
+.LP
+qtconfig \- Configuration tool for Qt
+.SH "DESCRIPTION"
+.LP
+QConfig allows for GUI based configuration of Qt and
+ other Qt based sources.
+
+.SH "ENVIRONMENT VARIABLES"
+.LP
+.TP
+\fBQTDIR\fP
+Specifies the base Qt dir
+.SH "AUTHORS"
+.LP
+TrollTech <http://www.trolltech.com/>
diff --git a/config.profiles/harmattan/manpages/uic.1 b/config.profiles/harmattan/manpages/uic.1
new file mode 100644
index 0000000..79d03b8
--- /dev/null
+++ b/config.profiles/harmattan/manpages/uic.1
@@ -0,0 +1,136 @@
+.TH uic 1 "2 Aug 2001" "Trolltech AS" \" -*- nroff -*-
+.\"
+.\" Copyright 2000 Trolltech AS. All rights reserved.
+.\"
+.\" This file is part of Qt and may be distributed and used according to
+.\" the terms and conditions described in the LICENSE file.
+.\"
+.SH NAME
+uic \- Qt user interface compiler
+.SH SYNOPSIS
+.B uic
+[options] file
+.SH DESCRIPTION
+This page documents the
+.B User Interface Compiler
+for the Qt GUI toolkit. The
+.B uic
+reads a user interface definition (.ui) file in XML as generated by
+.I Qt Designer
+and creates corresponding C++ header or source files. It also
+generates an image file that embeds raw image data in C++ source code.
+.PP
+.PP
+Generate declaration:
+.br
+.I "\fB uic [options] \fI<file>"
+.br
+.PP
+Generate implementation:
+.br
+.I "\fB uic [options] -impl \fI<headerfile> <file>"
+.br
+ \fI<headerfile>\fP: name of the declaration file
+.br
+.PP
+Generate image collection:
+.br
+.I "\fB uic [options] -embed \fI<project> <image1> <image2> <image3>\fP ..."
+.br
+ \fI<project>\fP: project name
+ \fI<image[1..n]>\fP: image files
+.br
+.\" .PP
+.\" Generate binary UI file:
+.\" .br
+.\" .I "\fB uic [options] -binary \fI<file>"
+.\" .br
+.PP
+.PP
+For convenience,
+.B uic
+can also generate declaration or implementation stubs for subclasses.
+.PP
+Generate subclass declaration:
+.br
+.I "\fB uic [options] -subdecl \fI<subclassname> <baseclassheaderfile> <file>"
+.br
+ \fI<subclassname>\fP: name of the subclass to generate
+.br
+ \fI<baseclassheaderfile>\fP: declaration file of the baseclass
+.PP
+Generate subclass implementation:
+.br
+.I "\fB uic [options] -subimpl \fI<subclassname> <subclassheaderfile> <file>"
+.br
+ \fI<subclassname>\fP: name of the subclass to generate
+.br
+ \fI<subclassheaderfile>\fP: declaration file of the subclass
+
+.SH GENERAL OPTIONS
+.TP
+.I "-o file"
+Write output to
+.I file
+rather than to stdout.
+.TP
+.I "-nofwd"
+Omit forward declarations of custom classes in the generated
+header file. This is necessary if typedef classes are used.
+.TP
+.I "-tr func"
+Use
+.I func()
+instead of tr() for internationalization.
+.TP
+.I "-version"
+Display the version of
+.B uic
+and exit.
+
+.SH USAGE
+.B uic
+is almost always invoked by
+.BR make (1),
+rather than by hand.
+.PP
+Here are useful makefile rules if you only use GNU make:
+.PP
+.in +4
+%.h: %.ui
+.br
+ uic $< -o $@
+.br
+%.cpp: %.ui
+.br
+ uic -impl $*.h $< -o $@
+.in -4
+.PP
+If you want to write portably, you can use individual rules of the
+following form:
+.PP
+.in +4
+NAME.h: NAME.ui
+.br
+ uic $< -o $@
+.br
+NAME.cpp: NAME.ui
+.br
+ uic -impl $*.h $< -o $@
+.in -4
+.PP
+You must also remember to add
+.I NAME.cpp
+to your SOURCES (substitute your favorite name) variable and
+.I NAME.o
+to your OBJECTS variable.
+.PP
+(While we prefer to name our C++ source files .cpp, the
+.B uic
+doesn't care, so you can use .C, .cc, .CC, .cxx or even .c++ if
+you prefer.)
+.PP
+.SH "SEE ALSO"
+.BR http://www.trolltech.com/ " "
+.SH AUTHOR
+Trolltech AS <info@trolltech.com>
diff --git a/config.profiles/harmattan/mkspecs/linux-g++-cross/qmake.conf b/config.profiles/harmattan/mkspecs/linux-g++-cross/qmake.conf
new file mode 100644
index 0000000..245da1e
--- /dev/null
+++ b/config.profiles/harmattan/mkspecs/linux-g++-cross/qmake.conf
@@ -0,0 +1,54 @@
+#
+# qmake configuration for linux-g++-cross
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/g++.conf)
+include(../common/linux.conf)
+
+QMAKE_CC = arm-none-linux-gnueabi-gcc
+QMAKE_CFLAGS += -march=armv7a -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=softfp -fno-omit-frame-pointer -fno-optimize-sibling-calls
+QMAKE_CFLAGS_RELEASE = -O3
+QMAKE_CFLAGS_DEBUG = -O0
+
+QMAKE_CXX = arm-none-linux-gnueabi-g++
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+
+QMAKE_LINK = arm-none-linux-gnueabi-g++
+QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++
+QMAKE_LINK_C = arm-none-linux-gnueabi-gcc
+QMAKE_LINK_C_SHLIB = arm-none-linux-gnueabi-gcc
+QMAKE_LFLAGS += -Wl,-O1 -Wl,--hash-style=gnu
+
+QMAKE_AR = arm-none-linux-gnueabi-ar cqs
+QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy
+QMAKE_STRIP = arm-none-linux-gnueabi-strip
+
+#QMAKE_INCDIR =
+#QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+#QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+#QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+#QMAKE_INCDIR_EGL =
+#QMAKE_LIBDIR_EGL =
+#QMAKE_INCDIR_OPENVG =
+#QMAKE_LIBDIR_OPENVG =
+
+QMAKE_LIBS_X11 = -lXext -lX11 -lm -lz -lXau -lxcb -lXdmcp -lexpat
+
+QMAKE_LIBS_OPENGL = -lEGL -lGLESv2 -lIMGegl -lsrv_um
+QMAKE_LIBS_OPENGL_QT = -lEGL -lGLESv2 -lIMGegl -lsrv_um
+
+QT_CFLAGS_GSTREAMER += -pthread -Igstreamer-0.10 -Iglib-2.0 -Iglib-2.0/include
+
+load(qt_config)
diff --git a/config.profiles/harmattan/mkspecs/linux-g++-cross/qplatformdefs.h b/config.profiles/harmattan/mkspecs/linux-g++-cross/qplatformdefs.h
new file mode 100644
index 0000000..857eaf3
--- /dev/null
+++ b/config.profiles/harmattan/mkspecs/linux-g++-cross/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff --git a/config.profiles/harmattan/not-installed b/config.profiles/harmattan/not-installed
new file mode 100644
index 0000000..d19a756
--- /dev/null
+++ b/config.profiles/harmattan/not-installed
@@ -0,0 +1,18 @@
+usr/share/qt4/translations/qvfb_pl.qm
+usr/share/qt4/translations/qvfb_zh_TW.qm
+usr/share/qt4/translations/qvfb_zh_CN.qm
+usr/lib/libQtSvg.la
+usr/lib/libQtXml.la
+usr/lib/libQtSql.la
+usr/lib/libQtOpenGL.la
+usr/lib/libQtNetwork.la
+usr/lib/libQtGui.la
+usr/lib/libQt3Support.la
+usr/lib/libQtTest.la
+usr/lib/libQtCLucene.la
+usr/lib/libQtScript.la
+usr/lib/libQtXmlPatterns.la
+usr/lib/libQtHelp.la
+usr/lib/libQtCore.la
+usr/lib/libQtDBus.la
+
diff --git a/config.profiles/harmattan/patches/default_widget_size.diff b/config.profiles/harmattan/patches/default_widget_size.diff
new file mode 100644
index 0000000..1f72881
--- /dev/null
+++ b/config.profiles/harmattan/patches/default_widget_size.diff
@@ -0,0 +1,13 @@
+Index: qt-maemo-qtp/src/gui/kernel/qwidget.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/gui/kernel/qwidget.cpp
++++ qt-maemo-qtp/src/gui/kernel/qwidget.cpp
+@@ -1326,7 +1326,7 @@
+ data.crect = parentWidget ? QRect(0,0,100,30) : QRect(0,0,360,640);
+ }
+ #else
+- data.crect = parentWidget ? QRect(0,0,100,30) : QRect(0,0,640,480);
++ data.crect = parentWidget ? QRect(0,0,100,30) : QRect(0,0,854,480);
+ #endif
+
+ focus_next = focus_prev = q;
diff --git a/config.profiles/harmattan/patches/glshadercache.diff b/config.profiles/harmattan/patches/glshadercache.diff
new file mode 100644
index 0000000..2c6ad9a
--- /dev/null
+++ b/config.profiles/harmattan/patches/glshadercache.diff
@@ -0,0 +1,1003 @@
+Index: qt-maemo-qtp/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
++++ qt-maemo-qtp/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
+@@ -42,12 +42,12 @@
+ #include "qglengineshadermanager_p.h"
+ #include "qglengineshadersource_p.h"
+ #include "qpaintengineex_opengl2_p.h"
++#include "qglshadercache_p.h"
+
+ #if defined(QT_DEBUG)
+ #include <QMetaEnum>
+ #endif
+
+-
+ QT_BEGIN_NAMESPACE
+
+ static void qt_shared_shaders_free(void *data)
+@@ -165,62 +165,89 @@
+
+ QGLShader* fragShader;
+ QGLShader* vertexShader;
+- QByteArray source;
++ QByteArray vertexSource;
++ QByteArray fragSource;
+
+ // Compile up the simple shader:
+- source.clear();
+- source.append(qShaderSnippets[MainVertexShader]);
+- source.append(qShaderSnippets[PositionOnlyVertexShader]);
+- vertexShader = new QGLShader(QGLShader::Vertex, context, this);
+- if (!vertexShader->compileSourceCode(source))
+- qWarning("Vertex shader for simpleShaderProg (MainVertexShader & PositionOnlyVertexShader) failed to compile");
+-
+- source.clear();
+- source.append(qShaderSnippets[MainFragmentShader]);
+- source.append(qShaderSnippets[ShockingPinkSrcFragmentShader]);
+- fragShader = new QGLShader(QGLShader::Fragment, context, this);
+- if (!fragShader->compileSourceCode(source))
+- qWarning("Fragment shader for simpleShaderProg (MainFragmentShader & ShockingPinkSrcFragmentShader) failed to compile");
++ vertexSource.append(qShaderSnippets[MainVertexShader]);
++ vertexSource.append(qShaderSnippets[PositionOnlyVertexShader]);
++
++ fragSource.append(qShaderSnippets[MainFragmentShader]);
++ fragSource.append(qShaderSnippets[ShockingPinkSrcFragmentShader]);
+
+ simpleShaderProg = new QGLShaderProgram(context, this);
+- simpleShaderProg->addShader(vertexShader);
+- simpleShaderProg->addShader(fragShader);
+- simpleShaderProg->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
+- simpleShaderProg->bindAttributeLocation("pmvMatrix1", QT_PMV_MATRIX_1_ATTR);
+- simpleShaderProg->bindAttributeLocation("pmvMatrix2", QT_PMV_MATRIX_2_ATTR);
+- simpleShaderProg->bindAttributeLocation("pmvMatrix3", QT_PMV_MATRIX_3_ATTR);
++
++ CachedShader simpleShaderCache(fragSource, vertexSource);
++
++ bool inCache = simpleShaderCache.load(simpleShaderProg, context);
++
++ if (!inCache) {
++ vertexShader = new QGLShader(QGLShader::Vertex, context, this);
++ if (!vertexShader->compileSourceCode(vertexSource))
++ qWarning("Vertex shader for simpleShaderProg (MainVertexShader & PositionOnlyVertexShader) failed to compile");
++
++ fragShader = new QGLShader(QGLShader::Fragment, context, this);
++ if (!fragShader->compileSourceCode(fragSource))
++ qWarning("Fragment shader for simpleShaderProg (MainFragmentShader & ShockingPinkSrcFragmentShader) failed to compile");
++
++ simpleShaderProg->addShader(vertexShader);
++ simpleShaderProg->addShader(fragShader);
++
++ simpleShaderProg->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
++ simpleShaderProg->bindAttributeLocation("pmvMatrix1", QT_PMV_MATRIX_1_ATTR);
++ simpleShaderProg->bindAttributeLocation("pmvMatrix2", QT_PMV_MATRIX_2_ATTR);
++ simpleShaderProg->bindAttributeLocation("pmvMatrix3", QT_PMV_MATRIX_3_ATTR);
++ }
++
+ simpleShaderProg->link();
+- if (!simpleShaderProg->isLinked()) {
++
++ if (simpleShaderProg->isLinked()) {
++ if (!inCache)
++ simpleShaderCache.store(simpleShaderProg, context);
++ } else {
+ qCritical() << "Errors linking simple shader:"
+ << simpleShaderProg->log();
+ }
+
+ // Compile the blit shader:
+- source.clear();
+- source.append(qShaderSnippets[MainWithTexCoordsVertexShader]);
+- source.append(qShaderSnippets[UntransformedPositionVertexShader]);
+- vertexShader = new QGLShader(QGLShader::Vertex, context, this);
+- if (!vertexShader->compileSourceCode(source))
+- qWarning("Vertex shader for blitShaderProg (MainWithTexCoordsVertexShader & UntransformedPositionVertexShader) failed to compile");
+-
+- source.clear();
+- source.append(qShaderSnippets[MainFragmentShader]);
+- source.append(qShaderSnippets[ImageSrcFragmentShader]);
+- fragShader = new QGLShader(QGLShader::Fragment, context, this);
+- if (!fragShader->compileSourceCode(source))
+- qWarning("Fragment shader for blitShaderProg (MainFragmentShader & ImageSrcFragmentShader) failed to compile");
++ vertexSource.clear();
++ vertexSource.append(qShaderSnippets[MainWithTexCoordsVertexShader]);
++ vertexSource.append(qShaderSnippets[UntransformedPositionVertexShader]);
++
++ fragSource.clear();
++ fragSource.append(qShaderSnippets[MainFragmentShader]);
++ fragSource.append(qShaderSnippets[ImageSrcFragmentShader]);
+
+ blitShaderProg = new QGLShaderProgram(context, this);
+- blitShaderProg->addShader(vertexShader);
+- blitShaderProg->addShader(fragShader);
+- blitShaderProg->bindAttributeLocation("textureCoordArray", QT_TEXTURE_COORDS_ATTR);
+- blitShaderProg->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
++
++ CachedShader blitShaderCache(fragSource, vertexSource);
++
++ inCache = blitShaderCache.load(blitShaderProg, context);
++
++ if (!inCache) {
++ vertexShader = new QGLShader(QGLShader::Vertex, context, this);
++ if (!vertexShader->compileSourceCode(vertexSource))
++ qWarning("Vertex shader for blitShaderProg (MainWithTexCoordsVertexShader & UntransformedPositionVertexShader) failed to compile");
++
++ fragShader = new QGLShader(QGLShader::Fragment, context, this);
++ if (!fragShader->compileSourceCode(fragSource))
++ qWarning("Fragment shader for blitShaderProg (MainFragmentShader & ImageSrcFragmentShader) failed to compile");
++
++ blitShaderProg->addShader(vertexShader);
++ blitShaderProg->addShader(fragShader);
++
++ blitShaderProg->bindAttributeLocation("textureCoordArray", QT_TEXTURE_COORDS_ATTR);
++ blitShaderProg->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
++ }
++
+ blitShaderProg->link();
+- if (!blitShaderProg->isLinked()) {
++ if (blitShaderProg->isLinked()) {
++ if (!inCache)
++ blitShaderCache.store(blitShaderProg, context);
++ } else {
+ qCritical() << "Errors linking blit shader:"
+- << simpleShaderProg->log();
++ << blitShaderProg->log();
+ }
+-
+ }
+
+ QGLEngineSharedShaders::~QGLEngineSharedShaders()
+@@ -262,99 +289,108 @@
+ }
+ }
+
+- QGLShader *vertexShader = 0;
+- QGLShader *fragShader = 0;
+- QGLEngineShaderProg *newProg = 0;
+- bool success = false;
++ QScopedPointer<QGLEngineShaderProg> newProg;
+
+ do {
+- QByteArray source;
++ QByteArray fragSource;
+ // Insert the custom stage before the srcPixel shader to work around an ATI driver bug
+ // where you cannot forward declare a function that takes a sampler as argument.
+ if (prog.srcPixelFragShader == CustomImageSrcFragmentShader)
+- source.append(prog.customStageSource);
+- source.append(qShaderSnippets[prog.mainFragShader]);
+- source.append(qShaderSnippets[prog.srcPixelFragShader]);
++ fragSource.append(prog.customStageSource);
++ fragSource.append(qShaderSnippets[prog.mainFragShader]);
++ fragSource.append(qShaderSnippets[prog.srcPixelFragShader]);
+ if (prog.compositionFragShader)
+- source.append(qShaderSnippets[prog.compositionFragShader]);
++ fragSource.append(qShaderSnippets[prog.compositionFragShader]);
+ if (prog.maskFragShader)
+- source.append(qShaderSnippets[prog.maskFragShader]);
+- fragShader = new QGLShader(QGLShader::Fragment, ctxGuard.context(), this);
+- QByteArray description;
++ fragSource.append(qShaderSnippets[prog.maskFragShader]);
++
++ QByteArray vertexSource;
++ vertexSource.append(qShaderSnippets[prog.mainVertexShader]);
++ vertexSource.append(qShaderSnippets[prog.positionVertexShader]);
++
++ QScopedPointer<QGLShaderProgram> shaderProgram(new QGLShaderProgram(ctxGuard.context(), this));
++
++ CachedShader shaderCache(fragSource, vertexSource);
++ bool inCache = shaderCache.load(shaderProgram.data(), ctxGuard.context());
++
++ if (!inCache) {
++
++ QScopedPointer<QGLShader> fragShader(new QGLShader(QGLShader::Fragment, ctxGuard.context(), this));
++ QByteArray description;
+ #if defined(QT_DEBUG)
+- // Name the shader for easier debugging
+- description.append("Fragment shader: main=");
+- description.append(snippetNameStr(prog.mainFragShader));
+- description.append(", srcPixel=");
+- description.append(snippetNameStr(prog.srcPixelFragShader));
+- if (prog.compositionFragShader) {
+- description.append(", composition=");
+- description.append(snippetNameStr(prog.compositionFragShader));
+- }
+- if (prog.maskFragShader) {
+- description.append(", mask=");
+- description.append(snippetNameStr(prog.maskFragShader));
+- }
+- fragShader->setObjectName(QString::fromLatin1(description));
++ // Name the shader for easier debugging
++ description.append("Fragment shader: main=");
++ description.append(snippetNameStr(prog.mainFragShader));
++ description.append(", srcPixel=");
++ description.append(snippetNameStr(prog.srcPixelFragShader));
++ if (prog.compositionFragShader) {
++ description.append(", composition=");
++ description.append(snippetNameStr(prog.compositionFragShader));
++ }
++ if (prog.maskFragShader) {
++ description.append(", mask=");
++ description.append(snippetNameStr(prog.maskFragShader));
++ }
++ fragShader->setObjectName(QString::fromLatin1(description));
+ #endif
+- if (!fragShader->compileSourceCode(source)) {
+- qWarning() << "Warning:" << description << "failed to compile!";
+- break;
+- }
++ if (!fragShader->compileSourceCode(fragSource)) {
++ qWarning() << "Warning:" << description << "failed to compile!";
++ break;
++ }
+
+- source.clear();
+- source.append(qShaderSnippets[prog.mainVertexShader]);
+- source.append(qShaderSnippets[prog.positionVertexShader]);
+- vertexShader = new QGLShader(QGLShader::Vertex, ctxGuard.context(), this);
++ QScopedPointer<QGLShader> vertexShader(new QGLShader(QGLShader::Vertex, ctxGuard.context(), this));
+ #if defined(QT_DEBUG)
+- // Name the shader for easier debugging
+- description.clear();
+- description.append("Vertex shader: main=");
+- description.append(snippetNameStr(prog.mainVertexShader));
+- description.append(", position=");
+- description.append(snippetNameStr(prog.positionVertexShader));
+- vertexShader->setObjectName(QString::fromLatin1(description));
++ // Name the shader for easier debugging
++ description.clear();
++ description.append("Vertex shader: main=");
++ description.append(snippetNameStr(prog.mainVertexShader));
++ description.append(", position=");
++ description.append(snippetNameStr(prog.positionVertexShader));
++ vertexShader->setObjectName(QString::fromLatin1(description));
+ #endif
+- if (!vertexShader->compileSourceCode(source)) {
+- qWarning() << "Warning:" << description << "failed to compile!";
+- break;
+- }
++ if (!vertexShader->compileSourceCode(vertexSource)) {
++ qWarning() << "Warning:" << description << "failed to compile!";
++ break;
++ }
+
+- newProg = new QGLEngineShaderProg(prog);
++ shaderProgram->addShader(vertexShader.take());
++ shaderProgram->addShader(fragShader.take());
+
+- // If the shader program's not found in the cache, create it now.
+- newProg->program = new QGLShaderProgram(ctxGuard.context(), this);
+- newProg->program->addShader(vertexShader);
+- newProg->program->addShader(fragShader);
+-
+- // We have to bind the vertex attribute names before the program is linked:
+- newProg->program->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
+- if (newProg->useTextureCoords)
+- newProg->program->bindAttributeLocation("textureCoordArray", QT_TEXTURE_COORDS_ATTR);
+- if (newProg->useOpacityAttribute)
+- newProg->program->bindAttributeLocation("opacityArray", QT_OPACITY_ATTR);
+- if (newProg->usePmvMatrixAttribute) {
+- newProg->program->bindAttributeLocation("pmvMatrix1", QT_PMV_MATRIX_1_ATTR);
+- newProg->program->bindAttributeLocation("pmvMatrix2", QT_PMV_MATRIX_2_ATTR);
+- newProg->program->bindAttributeLocation("pmvMatrix3", QT_PMV_MATRIX_3_ATTR);
++ // We have to bind the vertex attribute names before the program is linked:
++ shaderProgram->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
++ if (prog.useTextureCoords)
++ shaderProgram->bindAttributeLocation("textureCoordArray", QT_TEXTURE_COORDS_ATTR);
++ if (prog.useOpacityAttribute)
++ shaderProgram->bindAttributeLocation("opacityArray", QT_OPACITY_ATTR);
++ if (prog.usePmvMatrixAttribute) {
++ shaderProgram->bindAttributeLocation("pmvMatrix1", QT_PMV_MATRIX_1_ATTR);
++ shaderProgram->bindAttributeLocation("pmvMatrix2", QT_PMV_MATRIX_2_ATTR);
++ shaderProgram->bindAttributeLocation("pmvMatrix3", QT_PMV_MATRIX_3_ATTR);
++ }
+ }
+
++ newProg.reset(new QGLEngineShaderProg(prog));
++ newProg->program = shaderProgram.take();
++
+ newProg->program->link();
+- if (!newProg->program->isLinked()) {
++ if (newProg->program->isLinked()) {
++ if (!inCache)
++ shaderCache.store(newProg->program, ctxGuard.context());
++ } else {
+ QLatin1String none("none");
+ QLatin1String br("\n");
+ QString error;
+- error = QLatin1String("Shader program failed to link,")
++ error = QLatin1String("Shader program failed to link,");
+ #if defined(QT_DEBUG)
+- + br
+- + QLatin1String(" Shaders Used:") + br
+- + QLatin1String(" ") + vertexShader->objectName() + QLatin1String(": ") + br
+- + QLatin1String(vertexShader->sourceCode()) + br
+- + QLatin1String(" ") + fragShader->objectName() + QLatin1String(": ") + br
+- + QLatin1String(fragShader->sourceCode()) + br
++ error += QLatin1String("\n Shaders Used:\n");
++ for (int i = 0; i < newProg->program->shaders().count(); ++i) {
++ QGLShader *shader = newProg->program->shaders().at(i);
++ error += QLatin1String(" ") + shader->objectName() + QLatin1String(": \n")
++ + QLatin1String(shader->sourceCode()) + br;
++ }
+ #endif
+- + QLatin1String(" Error Log:\n")
+- + QLatin1String(" ") + newProg->program->log();
++ error += QLatin1String(" Error Log:\n")
++ + QLatin1String(" ") + newProg->program->log();
+ qWarning() << error;
+ break;
+ }
+@@ -376,26 +412,10 @@
+ }
+ }
+
+- cachedPrograms.insert(0, newProg);
+-
+- success = true;
++ cachedPrograms.insert(0, newProg.data());
+ } while (false);
+
+- // Clean up everything if we weren't successful
+- if (!success) {
+- if (newProg) {
+- delete newProg; // Also deletes the QGLShaderProgram which in turn deletes the QGLShaders
+- newProg = 0;
+- }
+- else {
+- if (vertexShader)
+- delete vertexShader;
+- if (fragShader)
+- delete fragShader;
+- }
+- }
+-
+- return newProg;
++ return newProg.take();
+ }
+
+ void QGLEngineSharedShaders::cleanupCustomStage(QGLCustomShaderStage* stage)
+Index: qt-maemo-qtp/src/opengl/gl2paintengineex/qglshadercache_meego_p.h
+===================================================================
+--- /dev/null
++++ qt-maemo-qtp/src/opengl/gl2paintengineex/qglshadercache_meego_p.h
+@@ -0,0 +1,457 @@
++/****************************************************************************
++**
++** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
++** All rights reserved.
++** Contact: Nokia Corporation (qt-info@nokia.com)
++**
++** This file is part of the QtOpenGL module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** No Commercial Usage
++** This file contains pre-release code and may not be distributed.
++** You may use this file in accordance with the terms and conditions
++** contained in the Technology Preview License Agreement accompanying
++** this package.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 2.1 requirements
++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** In addition, as a special exception, Nokia gives you certain additional
++** rights. These rights are described in the Nokia Qt LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** If you have questions regarding the use of this file, please contact
++** Nokia at qt-info@nokia.com.
++**
++**
++**
++**
++**
++**
++**
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++//
++// W A R N I N G
++// -------------
++//
++// This file is not part of the Qt API. It exists purely as an
++// implementation detail. This header file may change from version to
++// version without notice, or even be removed.
++//
++// We mean it.
++//
++
++#ifndef QGLSHADERCACHE_MEEGO_P_H
++#define QGLSHADERCACHE_MEEGO_P_H
++
++#include <QtCore/qglobal.h>
++
++#if defined(QT_MEEGO_EXPERIMENTAL_SHADERCACHE) && defined(QT_OPENGL_ES_2)
++
++#include <QtCore/qcryptographichash.h>
++#include <QtCore/qsharedmemory.h>
++#include <QtCore/qsystemsemaphore.h>
++
++#ifndef QT_BOOTSTRAPPED
++# include <GLES2/gl2ext.h>
++#endif
++#if defined(QT_DEBUG) || defined(QT_MEEGO_EXPERIMENTAL_SHADERCACHE_TRACE)
++# include <syslog.h>
++#endif
++
++QT_BEGIN_HEADER
++
++/*
++ This cache stores internal Qt shader programs in shared memory.
++
++ This header file is ugly on purpose and can only be included once. It is only to be used
++ for the internal shader cache, not as a generic cache for anyone's shaders.
++
++ The cache stores either ShaderCacheMaxEntries shader programs or ShaderCacheDataSize kilobytes
++ of shader programs, whatever limit is reached first.
++
++ The layout of the cache is as outlined in the CachedShaders struct. After some
++ integers, an array of headers is reserved, then comes the space for the actual binaries.
++
++ Shader Programs are identified by the md5sum of their frag and vertex shader source code.
++
++ Shader Programs are never removed. The cache never shrinks or re-shuffles. This is done
++ on purpose to ensure minimum amount of locking, no alignment problems and very few write
++ operations.
++
++ Note: Locking the shader cache could be expensive, because the entire system might hang.
++ That's why the cache is immutable to minimize the time we need to keep it locked.
++
++ Why is it Meego specific?
++
++ First, the size is chosen so that it fits to generic meego usage. Second, on Meego, there's
++ always at least one Qt application active (the launcher), so the cache will never be destroyed.
++ Only when the last Qt app exits, the cache dies, which should only be when someone kills the
++ X11 server. And last but not least it was only tested with Meego's SGX driver.
++
++ There's a small tool in src/opengl/util/meego that dumps the contents of the cache.
++ */
++
++// anonymous namespace, prevent exporting of the private symbols
++namespace
++{
++
++struct CachedShaderHeader
++{
++ /* the index in the data[] member of CachedShaders */
++ int index;
++ /* the size of the binary shader */
++ GLsizei size;
++ /* the format of the binary shader */
++ GLenum format;
++ /* the md5sum of the frag+vertex shaders */
++ char md5Sum[16];
++};
++
++enum
++{
++ /* The maximum amount of shader programs the cache can hold */
++ ShaderCacheMaxEntries = 20
++};
++
++typedef CachedShaderHeader CachedShaderHeaders[ShaderCacheMaxEntries];
++
++enum
++{
++ // ShaderCacheDataSize is 20k minus the other data members of CachedShaders
++ ShaderCacheDataSize = 1024 * ShaderCacheMaxEntries - sizeof(CachedShaderHeaders) - 2 * sizeof(int)
++};
++
++struct CachedShaders
++{
++ /* How much space is still available in the cache */
++ inline int availableSize() const { return ShaderCacheDataSize - dataSize; }
++
++ /* The current amount of cached shaders */
++ int shaderCount;
++
++ /* The current amount (in bytes) of cached data */
++ int dataSize;
++
++ /* The headers describing the shaders */
++ CachedShaderHeaders headers;
++
++ /* The actual binary data of the shader programs */
++ char data[ShaderCacheDataSize];
++};
++
++//#define QT_DEBUG_SHADER_CACHE
++#ifdef QT_DEBUG_SHADER_CACHE
++static QDebug shaderCacheDebug()
++{
++ return QDebug(QtDebugMsg);
++}
++#else
++static inline QNoDebug shaderCacheDebug() { return QNoDebug(); }
++#endif
++
++class ShaderCacheSharedMemory
++{
++public:
++ ShaderCacheSharedMemory()
++ : shm(QLatin1String("qt_gles2_shadercache_" QT_VERSION_STR))
++ {
++ // we need a system semaphore here, since cache creation and initialization must be atomic
++ QSystemSemaphore attachSemaphore(QLatin1String("qt_gles2_shadercache_mutex_" QT_VERSION_STR), 1);
++
++ if (!attachSemaphore.acquire()) {
++ shaderCacheDebug() << "Unable to require shader cache semaphore:" << attachSemaphore.errorString();
++ return;
++ }
++
++ if (shm.attach()) {
++ // success!
++ shaderCacheDebug() << "Attached to shader cache";
++ } else {
++
++ // no cache exists - create and initialize it
++ if (shm.create(sizeof(CachedShaders))) {
++ shaderCacheDebug() << "Created new shader cache";
++ initializeCache();
++ } else {
++ shaderCacheDebug() << "Unable to create shader cache:" << shm.errorString();
++ }
++ }
++
++ attachSemaphore.release();
++ }
++
++ inline bool isAttached() const { return shm.isAttached(); }
++
++ inline bool lock() { return shm.lock(); }
++ inline bool unlock() { return shm.unlock(); }
++ inline void *data() { return shm.data(); }
++ inline QString errorString() { return shm.errorString(); }
++
++ ~ShaderCacheSharedMemory()
++ {
++ if (!shm.detach())
++ shaderCacheDebug() << "Unable to detach shader cache" << shm.errorString();
++ }
++
++private:
++ void initializeCache()
++ {
++ // no need to lock the shared memory since we're already protected by the
++ // attach system semaphore.
++
++ void *data = shm.data();
++ Q_ASSERT(data);
++
++ memset(data, 0, sizeof(CachedShaders));
++ }
++
++ QSharedMemory shm;
++};
++
++class ShaderCacheLocker
++{
++public:
++ inline ShaderCacheLocker(ShaderCacheSharedMemory *cache)
++ : shm(cache->lock() ? cache : (ShaderCacheSharedMemory *)0)
++ {
++ if (!shm)
++ shaderCacheDebug() << "Unable to lock shader cache" << cache->errorString();
++ }
++
++ inline bool isLocked() const { return shm; }
++
++ inline ~ShaderCacheLocker()
++ {
++ if (!shm)
++ return;
++ if (!shm->unlock())
++ shaderCacheDebug() << "Unable to unlock shader cache" << shm->errorString();
++ }
++
++private:
++ ShaderCacheSharedMemory *shm;
++};
++
++#ifdef QT_BOOTSTRAPPED
++} // end namespace
++#else
++
++static void traceCacheOverflow(const char *message)
++{
++#if defined(QT_DEBUG) || defined (QT_MEEGO_EXPERIMENTAL_SHADERCACHE_TRACE)
++ openlog(qPrintable(QCoreApplication::applicationName()), LOG_PID | LOG_ODELAY, LOG_USER);
++ syslog(LOG_DEBUG, message);
++ closelog();
++#endif
++ shaderCacheDebug() << message;
++}
++
++Q_GLOBAL_STATIC(ShaderCacheSharedMemory, shaderCacheSharedMemory)
++
++/*
++ Finds the index of the shader program identified by md5Sum in the cache.
++ Note: Does NOT lock the cache for reading, the cache must already be locked!
++
++ Returns -1 when no shader was found.
++ */
++static int qt_cache_index_unlocked(const QByteArray &md5Sum, CachedShaders *cache)
++{
++ for (int i = 0; i < cache->shaderCount; ++i) {
++ if (qstrncmp(md5Sum.constData(), cache->headers[i].md5Sum, 16) == 0) {
++ return i;
++ }
++ }
++ return -1;
++}
++
++/* Returns the index of the shader identified by md5Sum */
++static int qt_cache_index(const QByteArray &md5Sum)
++{
++ ShaderCacheSharedMemory *shm = shaderCacheSharedMemory();
++ if (!shm || !shm->isAttached())
++ return false;
++
++ Q_ASSERT(md5Sum.length() == 16);
++
++ ShaderCacheLocker locker(shm);
++ if (!locker.isLocked())
++ return false;
++
++ void *data = shm->data();
++ Q_ASSERT(data);
++
++ CachedShaders *cache = reinterpret_cast<CachedShaders *>(data);
++
++ return qt_cache_index_unlocked(md5Sum, cache);
++}
++
++/* Loads the cached shader at index \a shaderIndex into \a program
++ * Note: Since the cache is immutable, this operation doesn't lock the shared memory.
++ */
++static bool qt_cached_shader(QGLShaderProgram *program, const QGLContext *ctx, int shaderIndex)
++{
++ Q_ASSERT(shaderIndex >= 0 && shaderIndex <= ShaderCacheMaxEntries);
++ Q_ASSERT(program);
++
++ ShaderCacheSharedMemory *shm = shaderCacheSharedMemory();
++ if (!shm || !shm->isAttached())
++ return false;
++
++ void *data = shm->data();
++ Q_ASSERT(data);
++
++ CachedShaders *cache = reinterpret_cast<CachedShaders *>(data);
++
++ shaderCacheDebug() << "fetching cached shader at index" << shaderIndex
++ << "dataIndex" << cache->headers[shaderIndex].index
++ << "size" << cache->headers[shaderIndex].size
++ << "format" << cache->headers[shaderIndex].format;
++
++ // call program->programId first, since that resolves the glProgramBinaryOES symbol
++ GLuint programId = program->programId();
++ glProgramBinaryOES(programId, cache->headers[shaderIndex].format,
++ cache->data + cache->headers[shaderIndex].index,
++ cache->headers[shaderIndex].size);
++
++ return true;
++}
++
++/* Stores the shader program in the cache. Returns false if there's an error with the cache, or
++ if the cache is too small to hold the shader. */
++static bool qt_cache_shader(const QGLShaderProgram *shader, const QGLContext *ctx, const QByteArray &md5Sum)
++{
++ ShaderCacheSharedMemory *shm = shaderCacheSharedMemory();
++ if (!shm || !shm->isAttached())
++ return false;
++
++ void *data = shm->data();
++ Q_ASSERT(data);
++
++ CachedShaders *cache = reinterpret_cast<CachedShaders *>(data);
++
++ ShaderCacheLocker locker(shm);
++ if (!locker.isLocked())
++ return false;
++
++ int cacheIdx = cache->shaderCount;
++ if (cacheIdx >= ShaderCacheMaxEntries) {
++ traceCacheOverflow("Qt OpenGL shader cache index overflow!");
++ return false;
++ }
++
++ // now that we have the lock on the shared memory, make sure no one
++ // inserted the shader already while we were unlocked
++ if (qt_cache_index_unlocked(md5Sum, cache) != -1)
++ return true; // already cached
++
++ shaderCacheDebug() << "Caching shader at index" << cacheIdx;
++
++ GLint binaryLength = 0;
++ glGetProgramiv(shader->programId(), GL_PROGRAM_BINARY_LENGTH_OES, &binaryLength);
++
++ if (!binaryLength) {
++ shaderCacheDebug() << "Unable to determine binary shader size!";
++ return false;
++ }
++
++ if (binaryLength > cache->availableSize()) {
++ traceCacheOverflow("Qt OpenGL shader cache data overflow!");
++ return false;
++ }
++
++ GLsizei size = 0;
++ GLenum format = 0;
++ glGetProgramBinaryOES(shader->programId(), binaryLength, &size, &format,
++ cache->data + cache->dataSize);
++
++ if (!size) {
++ shaderCacheDebug() << "Unable to get binary shader!";
++ return false;
++ }
++
++ cache->headers[cacheIdx].index = cache->dataSize;
++ cache->dataSize += binaryLength;
++ ++cache->shaderCount;
++ cache->headers[cacheIdx].size = binaryLength;
++ cache->headers[cacheIdx].format = format;
++
++ memcpy(cache->headers[cacheIdx].md5Sum, md5Sum.constData(), 16);
++
++ shaderCacheDebug() << "cached shader size" << size
++ << "format" << format
++ << "binarySize" << binaryLength
++ << "cache index" << cacheIdx
++ << "data index" << cache->headers[cacheIdx].index;
++
++ return true;
++}
++
++} // namespace
++
++QT_BEGIN_NAMESPACE
++
++QT_MODULE(OpenGL)
++
++class CachedShader
++{
++public:
++ CachedShader(const QByteArray &fragSource, const QByteArray &vertexSource)
++ : cacheIdx(-1)
++ {
++ QCryptographicHash md5Hash(QCryptographicHash::Md5);
++
++ md5Hash.addData(fragSource);
++ md5Hash.addData(vertexSource);
++
++ md5Sum = md5Hash.result();
++ }
++
++ bool isCached()
++ {
++ return cacheIndex() != -1;
++ }
++
++ int cacheIndex()
++ {
++ if (cacheIdx != -1)
++ return cacheIdx;
++ cacheIdx = qt_cache_index(md5Sum);
++ return cacheIdx;
++ }
++
++ bool load(QGLShaderProgram *program, const QGLContext *ctx)
++ {
++ if (cacheIndex() == -1)
++ return false;
++ return qt_cached_shader(program, ctx, cacheIdx);
++ }
++
++ bool store(QGLShaderProgram *program, const QGLContext *ctx)
++ {
++ return qt_cache_shader(program, ctx, md5Sum);
++ }
++
++private:
++ QByteArray md5Sum;
++ int cacheIdx;
++};
++
++
++QT_END_NAMESPACE
++
++#endif
++
++QT_END_HEADER
++
++#endif
++#endif
+Index: qt-maemo-qtp/src/opengl/gl2paintengineex/qglshadercache_p.h
+===================================================================
+--- /dev/null
++++ qt-maemo-qtp/src/opengl/gl2paintengineex/qglshadercache_p.h
+@@ -0,0 +1,98 @@
++/****************************************************************************
++**
++** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
++** All rights reserved.
++** Contact: Nokia Corporation (qt-info@nokia.com)
++**
++** This file is part of the QtOpenGL module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** No Commercial Usage
++** This file contains pre-release code and may not be distributed.
++** You may use this file in accordance with the terms and conditions
++** contained in the Technology Preview License Agreement accompanying
++** this package.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 2.1 requirements
++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** In addition, as a special exception, Nokia gives you certain additional
++** rights. These rights are described in the Nokia Qt LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** If you have questions regarding the use of this file, please contact
++** Nokia at qt-info@nokia.com.
++**
++**
++**
++**
++**
++**
++**
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++//
++// W A R N I N G
++// -------------
++//
++// This file is not part of the Qt API. It exists purely as an
++// implementation detail. This header file may change from version to
++// version without notice, or even be removed.
++//
++// We mean it.
++//
++
++#ifndef QGLSHADERCACHE_P_H
++#define QGLSHADERCACHE_P_H
++
++#include <QtCore/qglobal.h>
++
++#if defined(QT_MEEGO_EXPERIMENTAL_SHADERCACHE) && defined(QT_OPENGL_ES_2)
++# include "qglshadercache_meego_p.h"
++#else
++
++QT_BEGIN_HEADER
++
++QT_BEGIN_NAMESPACE
++
++QT_MODULE(OpenGL)
++
++class QGLShaderProgram;
++class QGLContext;
++
++class CachedShader
++{
++public:
++ inline CachedShader(const QByteArray &, const QByteArray &)
++ {}
++
++ inline bool isCached()
++ {
++ return false;
++ }
++
++ inline bool load(QGLShaderProgram *, const QGLContext *)
++ {
++ return false;
++ }
++
++ inline bool store(QGLShaderProgram *, const QGLContext *)
++ {
++ return false;
++ }
++};
++
++QT_END_NAMESPACE
++
++QT_END_HEADER
++
++#endif
++#endif
+Index: qt-maemo-qtp/src/opengl/opengl.pro
+===================================================================
+--- qt-maemo-qtp.orig/src/opengl/opengl.pro
++++ qt-maemo-qtp/src/opengl/opengl.pro
+@@ -58,7 +58,9 @@
+ gl2paintengineex/qglcustomshaderstage_p.h \
+ gl2paintengineex/qtriangulatingstroker_p.h \
+ gl2paintengineex/qtriangulator_p.h \
+- gl2paintengineex/qtextureglyphcache_gl_p.h
++ gl2paintengineex/qtextureglyphcache_gl_p.h \
++ gl2paintengineex/qglshadercache_p.h \
++ gl2paintengineex/qglshadercache_meego_p.h
+
+ SOURCES += qglshaderprogram.cpp \
+ qglpixmapfilter.cpp \
+Index: qt-maemo-qtp/src/opengl/util/meego/main.cpp
+===================================================================
+--- /dev/null
++++ qt-maemo-qtp/src/opengl/util/meego/main.cpp
+@@ -0,0 +1,48 @@
++#include <QtCore/qdebug.h>
++
++#define QT_DEBUG_SHADER_CACHE
++#define QT_MEEGO_EXPERIMENTAL_SHADERCACHE
++#define QT_OPENGL_ES_2
++#define QT_BOOTSTRAPPED
++
++typedef int GLsizei;
++typedef unsigned int GLenum;
++
++#include "../../gl2paintengineex/qglshadercache_meego_p.h"
++
++#include <stdlib.h>
++#include <stdio.h>
++
++int main()
++{
++ ShaderCacheSharedMemory shm;
++
++ if (!shm.isAttached()) {
++ fprintf(stderr, "Unable to attach to shared memory\n");
++ return EXIT_FAILURE;
++ }
++
++ ShaderCacheLocker locker(&shm);
++ if (!locker.isLocked()) {
++ fprintf(stderr, "Unable to lock shared memory\n");
++ return EXIT_FAILURE;
++ }
++
++ void *data = shm.data();
++ Q_ASSERT(data);
++
++ CachedShaders *cache = reinterpret_cast<CachedShaders *>(data);
++
++ for (int i = 0; i < cache->shaderCount; ++i) {
++ printf("Shader %d: %d bytes\n", i, cache->headers[i].size);
++ }
++
++ printf("\nSummary:\n\n"
++ " Amount of cached shaders: %d\n"
++ " Bytes used: %d\n"
++ " Bytes available: %d\n",
++ cache->shaderCount, cache->dataSize, cache->availableSize());
++
++ return EXIT_SUCCESS;
++}
++
+Index: qt-maemo-qtp/src/opengl/util/meego/shader-cache-introspector.pro
+===================================================================
+--- /dev/null
++++ qt-maemo-qtp/src/opengl/util/meego/shader-cache-introspector.pro
+@@ -0,0 +1,7 @@
++TEMPLATE = app
++
++SOURCES += main.cpp
++
++TARGET = shader-cache-introspector
++
++QT = core
diff --git a/config.profiles/harmattan/patches/icu.diff b/config.profiles/harmattan/patches/icu.diff
new file mode 100644
index 0000000..16a17fd
--- /dev/null
+++ b/config.profiles/harmattan/patches/icu.diff
@@ -0,0 +1,732 @@
+diff --git a/configure b/configure
+index 3a748e2..77232dc 100755
+--- a/configure
++++ b/configure
+@@ -779,6 +779,7 @@ CFG_PULSEAUDIO=auto
+ CFG_COREWLAN=auto
+ CFG_ICD=auto
+ CFG_NOPROCESS=no
++CFG_ICU=no
+
+ # initalize variables used for installation
+ QT_INSTALL_PREFIX=
+@@ -940,7 +941,7 @@ while [ "$#" -gt 0 ]; do
+ VAL=no
+ ;;
+ #Qt style yes options
+- -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles)
++ -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles|-icu)
+ VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
+ VAL=yes
+ ;;
+@@ -2242,6 +2243,13 @@ while [ "$#" -gt 0 ]; do
+ QT_CFLAGS_FPU=$VAL
+ fi
+ ;;
++ icu)
++ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
++ CFG_ICU="$VAL"
++ else
++ UNKNOWN_OPT=yes
++ fi
++ ;;
+ *)
+ UNKNOWN_OPT=yes
+ ;;
+@@ -7040,6 +7048,10 @@ if [ "$CFG_ICD" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG icd"
+ fi
+
++if [ "$CFG_ICU" = "yes" ]; then
++ QT_CONFIG="$QT_CONFIG icu"
++fi
++
+ #
+ # Some Qt modules are too advanced in C++ for some old compilers
+ # Detect here the platforms where they are known to work.
+diff --git a/src/corelib/tools/qchar.cpp b/src/corelib/tools/qchar.cpp
+index 7cdc256..11a85d5 100644
+--- a/src/corelib/tools/qchar.cpp
++++ b/src/corelib/tools/qchar.cpp
+@@ -57,6 +57,12 @@
+
+ QT_BEGIN_NAMESPACE
+
++#ifdef QT_USE_ICU
++// from qlocale_icu.cpp
++extern uint qt_u_toUpper(uint c);
++extern uint qt_u_toLower(uint c);
++#endif
++
+ #ifndef QT_NO_CODEC_FOR_C_STRINGS
+ # ifdef QT_NO_TEXTCODEC
+ # define QT_NO_CODEC_FOR_C_STRINGS
+@@ -1076,6 +1082,12 @@ QChar::UnicodeVersion QChar::unicodeVersion(ushort ucs2)
+ */
+ QChar QChar::toLower() const
+ {
++#ifdef QT_USE_ICU
++ uint res = qt_u_toLower(ucs);
++ if (res)
++ return QChar(res);
++ // else fall through
++#endif
+ const QUnicodeTables::Properties *p = qGetProp(ucs);
+ if (!p->lowerCaseSpecial)
+ return ucs + p->lowerCaseDiff;
+@@ -1090,6 +1102,12 @@ QChar QChar::toLower() const
+ */
+ uint QChar::toLower(uint ucs4)
+ {
++#ifdef QT_USE_ICU
++ uint res = qt_u_toLower(ucs4);
++ if (res)
++ return res;
++ // else fall through
++#endif
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
+ return ucs4;
+ const QUnicodeTables::Properties *p = qGetProp(ucs4);
+@@ -1106,6 +1124,12 @@ uint QChar::toLower(uint ucs4)
+ */
+ ushort QChar::toLower(ushort ucs2)
+ {
++#ifdef QT_USE_ICU
++ uint res = qt_u_toLower(ucs2);
++ if (res)
++ return res & 0xffff;
++ // else fall through
++#endif
+ const QUnicodeTables::Properties *p = qGetProp(ucs2);
+ if (!p->lowerCaseSpecial)
+ return ucs2 + p->lowerCaseDiff;
+@@ -1118,6 +1142,12 @@ ushort QChar::toLower(ushort ucs2)
+ */
+ QChar QChar::toUpper() const
+ {
++#ifdef QT_USE_ICU
++ uint res = qt_u_toUpper(ucs);
++ if (res)
++ return QChar(res);
++ // else fall through
++#endif
+ const QUnicodeTables::Properties *p = qGetProp(ucs);
+ if (!p->upperCaseSpecial)
+ return ucs + p->upperCaseDiff;
+@@ -1132,6 +1162,12 @@ QChar QChar::toUpper() const
+ */
+ uint QChar::toUpper(uint ucs4)
+ {
++#ifdef QT_USE_ICU
++ uint res = qt_u_toUpper(ucs4);
++ if (res)
++ return res;
++ // else fall through
++#endif
+ if (ucs4 > UNICODE_LAST_CODEPOINT)
+ return ucs4;
+ const QUnicodeTables::Properties *p = qGetProp(ucs4);
+@@ -1148,6 +1184,12 @@ uint QChar::toUpper(uint ucs4)
+ */
+ ushort QChar::toUpper(ushort ucs2)
+ {
++#ifdef QT_USE_ICU
++ uint res = qt_u_toUpper(ucs2);
++ if (res)
++ return res & 0xffff;
++ // else fall through
++#endif
+ const QUnicodeTables::Properties *p = qGetProp(ucs2);
+ if (!p->upperCaseSpecial)
+ return ucs2 + p->upperCaseDiff;
+diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
+index 6515edb..5470048 100644
+--- a/src/corelib/tools/qlocale.cpp
++++ b/src/corelib/tools/qlocale.cpp
+@@ -134,6 +134,10 @@ void qt_symbianUpdateSystemPrivate();
+ void qt_symbianInitSystemLocale();
+ #endif
+
++#ifdef QT_USE_ICU
++extern bool qt_initIcu(const QString &localeName);
++#endif
++
+ /******************************************************************************
+ ** Helpers for accessing Qt locale database
+ */
+@@ -2346,6 +2350,10 @@ void QLocale::setDefault(const QLocale &locale)
+ {
+ default_lp = locale.d();
+ default_number_options = locale.numberOptions();
++
++#ifdef QT_USE_ICU
++ qt_initIcu(locale.name());
++#endif
+ }
+
+ /*!
+diff --git a/src/corelib/tools/qlocale_icu.cpp b/src/corelib/tools/qlocale_icu.cpp
+new file mode 100644
+index 0000000..7fe3801
+--- /dev/null
++++ b/src/corelib/tools/qlocale_icu.cpp
+@@ -0,0 +1,247 @@
++/****************************************************************************
++**
++** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
++** All rights reserved.
++** Contact: Nokia Corporation (qt-info@nokia.com)
++**
++** This file is part of the QtCore module of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL$
++** No Commercial Usage
++** This file contains pre-release code and may not be distributed.
++** You may use this file in accordance with the terms and conditions
++** contained in the Technology Preview License Agreement accompanying
++** this package.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 as published by the Free Software
++** Foundation and appearing in the file LICENSE.LGPL included in the
++** packaging of this file. Please review the following information to
++** ensure the GNU Lesser General Public License version 2.1 requirements
++** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** In addition, as a special exception, Nokia gives you certain additional
++** rights. These rights are described in the Nokia Qt LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** If you have questions regarding the use of this file, please contact
++** Nokia at qt-info@nokia.com.
++**
++**
++**
++**
++**
++**
++**
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++#include "qglobal.h"
++#include "qlibrary.h"
++#include "qdebug.h"
++
++#include "unicode/uversion.h"
++#include "unicode/ucol.h"
++
++QT_BEGIN_NAMESPACE
++
++typedef UCollator *(*Ptr_ucol_open)(const char *loc, UErrorCode *status);
++typedef void (*Ptr_ucol_close)(UCollator *coll);
++typedef UCollationResult (*Ptr_ucol_strcoll)(const UCollator *coll, const UChar *source, int32_t sourceLength, const UChar *target, int32_t targetLength);
++typedef int32_t (*Ptr_u_strToCase)(UChar *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, const char *locale, UErrorCode *pErrorCode);
++
++static Ptr_ucol_open ptr_ucol_open = 0;
++static Ptr_ucol_strcoll ptr_ucol_strcoll = 0;
++static Ptr_ucol_close ptr_ucol_close = 0;
++static Ptr_u_strToCase ptr_u_strToUpper = 0;
++static Ptr_u_strToCase ptr_u_strToLower = 0;
++
++enum LibLoadStatus
++{
++ ErrorLoading = -1,
++ NotLoaded = 0,
++ Loaded = 1
++};
++
++static LibLoadStatus status = NotLoaded;
++
++static UCollator *icuCollator = 0;
++
++#define STRINGIFY2(x) #x
++#define STRINGIFY(x) STRINGIFY2(x)
++
++bool qt_initIcu(const QString &localeString)
++{
++ if (status == ErrorLoading)
++ return false;
++
++ if (status == NotLoaded) {
++
++ // resolve libicui18n
++ QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
++ if (!lib.load()) {
++ qWarning() << "Unable to load library icui18n" << lib.errorString();
++ status = ErrorLoading;
++ return false;
++ }
++
++ ptr_ucol_open = (Ptr_ucol_open)lib.resolve("ucol_open");
++ ptr_ucol_close = (Ptr_ucol_close)lib.resolve("ucol_close");
++ ptr_ucol_strcoll = (Ptr_ucol_strcoll)lib.resolve("ucol_strcoll");
++
++ if (!ptr_ucol_open || !ptr_ucol_close || !ptr_ucol_strcoll) {
++ // try again with decorated symbol names
++ ptr_ucol_open = (Ptr_ucol_open)lib.resolve("ucol_open" STRINGIFY(U_ICU_VERSION_SUFFIX));
++ ptr_ucol_close = (Ptr_ucol_close)lib.resolve("ucol_close" STRINGIFY(U_ICU_VERSION_SUFFIX));
++ ptr_ucol_strcoll = (Ptr_ucol_strcoll)lib.resolve("ucol_strcoll" STRINGIFY(U_ICU_VERSION_SUFFIX));
++ }
++
++ if (!ptr_ucol_open || !ptr_ucol_close || !ptr_ucol_strcoll) {
++ ptr_ucol_open = 0;
++ ptr_ucol_close = 0;
++ ptr_ucol_strcoll = 0;
++
++ qWarning("Unable to find symbols in icui18n");
++ status = ErrorLoading;
++ return false;
++ }
++
++ // resolve libicuuc
++ QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
++ if (!ucLib.load()) {
++ qWarning() << "Unable to load library icuuc" << ucLib.errorString();
++ status = ErrorLoading;
++ return false;
++ }
++
++ ptr_u_strToUpper = (Ptr_u_strToCase)ucLib.resolve("u_strToUpper");
++ ptr_u_strToLower = (Ptr_u_strToCase)ucLib.resolve("u_strToLower");
++
++ if (!ptr_u_strToUpper || !ptr_u_strToLower) {
++ ptr_u_strToUpper = (Ptr_u_strToCase)ucLib.resolve("u_strToUpper" STRINGIFY(U_ICU_VERSION_SUFFIX));
++ ptr_u_strToLower = (Ptr_u_strToCase)ucLib.resolve("u_strToLower" STRINGIFY(U_ICU_VERSION_SUFFIX));
++ }
++
++ if (!ptr_u_strToUpper || !ptr_u_strToLower) {
++ ptr_u_strToUpper = 0;
++ ptr_u_strToLower = 0;
++
++ qWarning("Unable to find symbols in icuuc");
++ status = ErrorLoading;
++ return false;
++ }
++
++ // success :)
++ status = Loaded;
++ }
++
++ if (icuCollator) {
++ ptr_ucol_close(icuCollator);
++ icuCollator = 0;
++ }
++
++ UErrorCode icuStatus = U_ZERO_ERROR;
++ icuCollator = ptr_ucol_open(localeString.toLatin1().constData(), &icuStatus);
++
++ if (!icuCollator) {
++ qWarning("Unable to open locale %s in ICU, error code %d", qPrintable(localeString), icuStatus);
++ return false;
++ }
++
++ return true;
++}
++
++bool qt_ucol_strcoll(const QChar *source, int sourceLength, const QChar *target, int targetLength, int *result)
++{
++ Q_ASSERT(result);
++ Q_ASSERT(source);
++ Q_ASSERT(target);
++
++ if (!icuCollator)
++ return false;
++
++ *result = ptr_ucol_strcoll(icuCollator, reinterpret_cast<const UChar *>(source), int32_t(sourceLength),
++ reinterpret_cast<const UChar *>(target), int32_t(targetLength));
++
++ return true;
++}
++
++// caseFunc can either be u_strToUpper or u_strToLower
++static bool qt_u_strToCase(const QString &str, QString *out, const QLocale &locale, Ptr_u_strToCase caseFunc)
++{
++ Q_ASSERT(out);
++
++ if (!icuCollator)
++ return false;
++
++ QString result(str.size(), Qt::Uninitialized);
++
++ UErrorCode status = U_ZERO_ERROR;
++
++ int32_t size = caseFunc(reinterpret_cast<UChar *>(result.data()), result.size(),
++ reinterpret_cast<const UChar *>(str.constData()), str.size(),
++ locale.name().toLatin1().constData(), &status);
++
++ if (U_FAILURE(status))
++ return false;
++
++ if (size < result.size()) {
++ result.resize(size);
++ } else if (size > result.size()) {
++ qDebug() << "RESULT SIZE MISMATCH";
++ // the resulting string is larger than our source string
++ result.resize(size);
++
++ status = U_ZERO_ERROR;
++ size = caseFunc(reinterpret_cast<UChar *>(result.data()), result.size(),
++ reinterpret_cast<const UChar *>(str.constData()), str.size(),
++ locale.name().toLatin1().constData(), &status);
++
++ if (U_FAILURE(status))
++ return false;
++
++ // if the sizes don't match now, we give up.
++ if (size != result.size())
++ return false;
++ }
++
++ *out = result;
++ return true;
++}
++
++bool qt_u_strToUpper(const QString &str, QString *out, const QLocale &locale)
++{
++ return qt_u_strToCase(str, out, locale, ptr_u_strToUpper);
++}
++
++bool qt_u_strToLower(const QString &str, QString *out, const QLocale &locale)
++{
++ return qt_u_strToCase(str, out, locale, ptr_u_strToLower);
++}
++
++uint qt_u_toUpper(uint c)
++{
++ if (c > 0xffff)
++ return 0;
++
++ QString out;
++ if (qt_u_strToUpper(QChar(c), &out, QLocale()) && !out.isEmpty())
++ return out.at(0).unicode();
++ return 0;
++}
++
++uint qt_u_toLower(uint c)
++{
++ if (c > 0xffff)
++ return 0;
++
++ QString out;
++ if (qt_u_strToLower(QChar(c), &out, QLocale()) && !out.isEmpty())
++ return out.at(0).unicode();
++ return 0;
++}
++
++QT_END_NAMESPACE
+diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
+index d641d74..0f5cee1 100644
+--- a/src/corelib/tools/qstring.cpp
++++ b/src/corelib/tools/qstring.cpp
+@@ -112,6 +112,13 @@ int qFindString(const QChar *haystack, int haystackLen, int from,
+ int qFindStringBoyerMoore(const QChar *haystack, int haystackLen, int from,
+ const QChar *needle, int needleLen, Qt::CaseSensitivity cs);
+
++#ifdef QT_USE_ICU
++// qlocale_icu.cpp
++extern bool qt_ucol_strcoll(const QChar *source, int sourceLength, const QChar *target, int targetLength, int *result);
++extern bool qt_u_strToUpper(const QString &str, QString *out, const QLocale &locale);
++extern bool qt_u_strToLower(const QString &str, QString *out, const QLocale &locale);
++#endif
++
+
+ // Unicode case-insensitive comparison
+ static int ucstricmp(const ushort *a, const ushort *ae, const ushort *b, const ushort *be)
+@@ -4808,6 +4815,14 @@ int QString::localeAwareCompare_helper(const QChar *data1, int length1,
+ TPtrC p2 = TPtrC16(reinterpret_cast<const TUint16 *>(data2), length2);
+ return p1.CompareC(p2);
+ #elif defined(Q_OS_UNIX)
++# if defined(QT_USE_ICU)
++ int res;
++ if (qt_ucol_strcoll(data1, length1, data2, length2, &res)) {
++ if (res == 0)
++ res = ucstrcmp(data1, length1, data2, length2);
++ return res;
++ } // else fall through
++# endif
+ // declared in <string.h>
+ int delta = strcoll(toLocal8Bit_helper(data1, length1), toLocal8Bit_helper(data2, length2));
+ if (delta == 0)
+@@ -4943,6 +4958,15 @@ QString QString::toLower() const
+ if (!d->size)
+ return *this;
+
++#ifdef QT_USE_ICU
++ {
++ QString result;
++ if (qt_u_strToLower(*this, &result, QLocale()))
++ return result;
++ // else fall through and use Qt's toUpper
++ }
++#endif
++
+ const ushort *e = d->data + d->size;
+
+ // this avoids one out of bounds check in the loop
+@@ -5034,6 +5058,15 @@ QString QString::toUpper() const
+ if (!d->size)
+ return *this;
+
++#ifdef QT_USE_ICU
++ {
++ QString result;
++ if (qt_u_strToUpper(*this, &result, QLocale()))
++ return result;
++ // else fall through and use Qt's toUpper
++ }
++#endif
++
+ const ushort *e = d->data + d->size;
+
+ // this avoids one out of bounds check in the loop
+diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
+index d81ab04..46c39f3 100644
+--- a/src/corelib/tools/tools.pri
++++ b/src/corelib/tools/tools.pri
+@@ -92,6 +92,11 @@ else:SOURCES += tools/qelapsedtimer_generic.cpp
+ contains(QT_CONFIG, zlib):include($$PWD/../../3rdparty/zlib.pri)
+ else:include($$PWD/../../3rdparty/zlib_dependency.pri)
+
++contains(QT_CONFIG,icu) {
++ SOURCES += tools/qlocale_icu.cpp
++ DEFINES += QT_USE_ICU
++}
++
+ DEFINES += HB_EXPORT=Q_CORE_EXPORT
+ INCLUDEPATH += ../3rdparty/harfbuzz/src
+ HEADERS += ../3rdparty/harfbuzz/src/harfbuzz.h
+diff --git a/tests/auto/qchar/qchar.pro b/tests/auto/qchar/qchar.pro
+index 3813e4e..d991365 100644
+--- a/tests/auto/qchar/qchar.pro
++++ b/tests/auto/qchar/qchar.pro
+@@ -13,3 +13,5 @@ symbian: {
+ } else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
+ }
++
++contains(QT_CONFIG,icu):DEFINES += QT_USE_ICU
+diff --git a/tests/auto/qchar/tst_qchar.cpp b/tests/auto/qchar/tst_qchar.cpp
+index 45dd7eb..514a836 100644
+--- a/tests/auto/qchar/tst_qchar.cpp
++++ b/tests/auto/qchar/tst_qchar.cpp
+@@ -103,7 +103,8 @@ tst_QChar::~tst_QChar()
+ { }
+
+ void tst_QChar::initTestCase()
+-{ }
++{
++}
+
+ void tst_QChar::cleanupTestCase()
+ { }
+@@ -114,6 +115,7 @@ void tst_QChar::init()
+ int argc = 0;
+ app = new QCoreApplication(argc, NULL);
+ #endif
++ QLocale::setDefault(QLocale::C);
+ }
+
+ void tst_QChar::cleanup()
+@@ -143,9 +145,36 @@ void tst_QChar::toUpper()
+ QVERIFY(QChar::toUpper((uint)0x1c8) == 0x1c7);
+ QVERIFY(QChar::toUpper((uint)0x1c9) == 0x1c7);
+
+- QVERIFY(QChar::toUpper((uint)0x10400) == 0x10400);
+- QVERIFY(QChar::toUpper((uint)0x10428) == 0x10400);
++ QCOMPARE(QChar::toUpper((uint)0x10400), 0x10400u);
++ QCOMPARE(QChar::toUpper((uint)0x10428), 0x10400u);
++
++#ifdef QT_USE_ICU
++ QCOMPARE(QChar('i').toUpper(), QChar('I'));
++ QCOMPARE(QChar::toUpper(ushort('i')), ushort('I'));
++ QCOMPARE(QChar::toUpper(uint('i')), uint('I'));
++
++ QLocale::setDefault(QLocale(QLocale::Turkish, QLocale::Turkey));
++
++ // in Turkish locale, upper-caseing a 'i' will result in a capital I plus dot (0x0130)
++ QCOMPARE(QChar('i').toUpper(), QChar(0x0130u));
++ QCOMPARE(QChar::toUpper(ushort('i')), ushort(0x0130u));
++ QCOMPARE(QChar::toUpper(uint('i')), 0x0130u);
++
++ // upper-casing a lower-case i without dot (0x0131) will result in 'I'
++ QCOMPARE(QChar(0x0131u).toUpper(), QChar('I'));
++ QCOMPARE(QChar::toUpper(ushort(0x0131u)), ushort('I'));
++ QCOMPARE(QChar::toUpper(uint(0x0131u)), uint('I'));
++
++ // upper-casing an upper-case 0x0130 should do nothing
++ QCOMPARE(QChar(0x0130u).toUpper(), QChar(0x0130u));
++ QCOMPARE(QChar::toUpper(ushort(0x0130u)), ushort(0x0130u));
++ QCOMPARE(QChar::toUpper(uint(0x0130u)), uint(0x0130u));
+
++ // upper-casing an upper-case I should do nothing
++ QCOMPARE(QChar('I').toUpper(), QChar('I'));
++ QCOMPARE(QChar::toUpper(ushort('I')), ushort('I'));
++ QCOMPARE(QChar::toUpper(uint('I')), uint('I'));
++#endif
+ }
+
+ void tst_QChar::toLower()
+@@ -170,6 +199,34 @@ void tst_QChar::toLower()
+
+ QVERIFY(QChar::toLower((uint)0x10400) == 0x10428);
+ QVERIFY(QChar::toLower((uint)0x10428) == 0x10428);
++
++#ifdef QT_USE_ICU
++ QCOMPARE(QChar('I').toLower(), QChar('i'));
++ QCOMPARE(QChar::toLower(ushort('I')), ushort('i'));
++ QCOMPARE(QChar::toLower(uint('I')), uint('i'));
++
++ QLocale::setDefault(QLocale(QLocale::Turkish, QLocale::Turkey));
++
++ // in turkish locale, lower-casing an 'I' will result with a lower-case i without dot (0x0131)
++ QCOMPARE(QChar('I').toLower(), QChar(0x0131u));
++ QCOMPARE(QChar::toLower(ushort('I')), ushort(0x0131u));
++ QCOMPARE(QChar::toLower(uint('I')), uint(0x0131u));
++
++ // lower-casing a captial I with dot (0x0130) will result in 'i'
++ QCOMPARE(QChar(0x0130u).toLower(), QChar('i'));
++ QCOMPARE(QChar::toLower(ushort(0x0130u)), ushort('i'));
++ QCOMPARE(QChar::toLower(uint(0x0130u)), uint('i'));
++
++ // lower-casing a lower-case i should do nothing
++ QCOMPARE(QChar('i').toLower(), QChar('i'));
++ QCOMPARE(QChar::toLower(ushort('i')), ushort('i'));
++ QCOMPARE(QChar::toLower(uint('i')), uint('i'));
++
++ // lower-casing a lower-case i without dot (0x0131) should do nothing
++ QCOMPARE(QChar(0x0131u).toLower(), QChar(0x0131u));
++ QCOMPARE(QChar::toLower(ushort(0x0131u)), ushort(0x0131u));
++ QCOMPARE(QChar::toLower(uint(0x0131u)), uint(0x0131u));
++#endif
+ }
+
+ void tst_QChar::toTitle()
+diff --git a/tests/auto/qstring/qstring.pro b/tests/auto/qstring/qstring.pro
+index ed758c6..92dd755 100644
+--- a/tests/auto/qstring/qstring.pro
++++ b/tests/auto/qstring/qstring.pro
+@@ -6,3 +6,5 @@ symbian:LIBS += -llibm
+ QT = core
+
+ DEFINES += QT_NO_CAST_TO_ASCII
++
++contains(QT_CONFIG,icu):DEFINES += QT_USE_ICU
+diff --git a/tests/auto/qstring/tst_qstring.cpp b/tests/auto/qstring/tst_qstring.cpp
+index ecae3d8..6baf9fc 100644
+--- a/tests/auto/qstring/tst_qstring.cpp
++++ b/tests/auto/qstring/tst_qstring.cpp
+@@ -210,6 +210,8 @@ private slots:
+ void task262677remove();
+ void QTBUG10404_compareRef();
+ void QTBUG9281_arg_locale();
++
++ void toUpperLower_icu();
+ };
+
+ typedef QList<int> IntList;
+@@ -1544,6 +1546,11 @@ void tst_QString::toUpper()
+ QCOMPARE( lower.toUpper(), upper);
+
+
++#ifdef QT_USE_ICU
++ // test doesn't work with ICU support, since QChar is unaware of any locale
++ QEXPECT_FAIL("", "test doesn't work with ICU support, since QChar is unaware of any locale", Continue);
++ QVERIFY(false);
++#else
+ for (int i = 0; i < 65536; ++i) {
+ QString str(1, QChar(i));
+ QString upper = str.toUpper();
+@@ -1551,6 +1558,7 @@ void tst_QString::toUpper()
+ if (upper.length() == 1)
+ QVERIFY(upper == QString(1, QChar(i).toUpper()));
+ }
++#endif
+ }
+
+ void tst_QString::toLower()
+@@ -1582,6 +1590,11 @@ void tst_QString::toLower()
+ upper += QChar(QChar::lowSurrogate(0x10400));
+ QCOMPARE( upper.toLower(), lower);
+
++#ifdef QT_USE_ICU
++ // test doesn't work with ICU support, since QChar is unaware of any locale
++ QEXPECT_FAIL("", "test doesn't work with ICU support, since QChar is unaware of any locale", Continue);
++ QVERIFY(false);
++#else
+ for (int i = 0; i < 65536; ++i) {
+ QString str(1, QChar(i));
+ QString lower = str.toLower();
+@@ -1589,6 +1602,7 @@ void tst_QString::toLower()
+ if (lower.length() == 1)
+ QVERIFY(str.toLower() == QString(1, QChar(i).toLower()));
+ }
++#endif
+ }
+
+ void tst_QString::trimmed()
+@@ -4200,6 +4214,8 @@ void tst_QString::localeAwareCompare()
+
+ #elif defined (Q_WS_MAC)
+ QSKIP("Setting the locale is not supported on OS X (you can set the C locale, but that won't affect CFStringCompare which is used to compare strings)", SkipAll);
++#elif defined(QT_USE_ICU)
++ QLocale::setDefault(QLocale(locale));
+ #else
+ if (!locale.isEmpty()) {
+ const char *newLocale = setlocale(LC_ALL, locale.toLatin1());
+@@ -4211,6 +4227,11 @@ void tst_QString::localeAwareCompare()
+ }
+ #endif
+
++#ifdef QT_USE_ICU
++ // ### for c1, ICU disagrees with libc on how to compare
++ QEXPECT_FAIL("c1", "ICU disagrees with test", Abort);
++#endif
++
+ int testres = QString::localeAwareCompare(s1, s2);
+ if (result < 0) {
+ QVERIFY(testres < 0);
+@@ -4912,6 +4933,40 @@ void tst_QString::QTBUG9281_arg_locale()
+ QLocale::setDefault(QLocale::C);
+ }
+
++void tst_QString::toUpperLower_icu()
++{
++#ifndef QT_USE_ICU
++ QSKIP("Qt was built without ICU support", QTest::SkipAll);
++#endif
++
++ QString s = QString::fromLatin1("i");
++
++ QCOMPARE(s.toUpper(), QString::fromLatin1("I"));
++ QCOMPARE(s.toLower(), QString::fromLatin1("i"));
++
++ QLocale::setDefault(QLocale(QLocale::Turkish, QLocale::Turkey));
++
++ // turkish locale has a capital I with a dot (U+0130, utf8 c4b0)
++
++ QCOMPARE(s.toUpper(), QString::fromUtf8("\xc4\xb0"));
++ QCOMPARE(QString::fromUtf8("\xc4\xb0").toLower(), s);
++
++ // nothing should happen here
++ QCOMPARE(s.toLower(), s);
++ QCOMPARE(QString::fromLatin1("I").toUpper(), QString::fromLatin1("I"));
++
++ // U+0131, utf8 c4b1 is the lower-case i without a dot
++ QString sup = QString::fromUtf8("\xc4\xb1");
++
++ QCOMPARE(sup.toUpper(), QString::fromLatin1("I"));
++ QCOMPARE(QString::fromLatin1("I").toLower(), sup);
++
++ // nothing should happen here
++ QCOMPARE(sup.toLower(), sup);
++ QCOMPARE(QString::fromLatin1("i").toLower(), QString::fromLatin1("i"));
++
++ // the cleanup function will restore the default locale
++}
+
+
+ QTEST_APPLESS_MAIN(tst_QString)
diff --git a/config.profiles/harmattan/patches/no_read_pro_from_quilt_dir.diff b/config.profiles/harmattan/patches/no_read_pro_from_quilt_dir.diff
new file mode 100644
index 0000000..f5ddb67
--- /dev/null
+++ b/config.profiles/harmattan/patches/no_read_pro_from_quilt_dir.diff
@@ -0,0 +1,13 @@
+Index: qt-maemo-qtp/configure
+===================================================================
+--- qt-maemo-qtp.orig/configure
++++ qt-maemo-qtp/configure
+@@ -8465,7 +8465,7 @@
+ # .projects.3 -> the rest
+ rm -f .projects .projects.1 .projects.2 .projects.3
+
+-QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -print | sed 's-/\./-/-'`
++QMAKE_PROJECTS=`find "$relpath/." -name '*.pro' -a ! -path '*/.pc/*' -print | sed 's-/\./-/-'`
+ if [ -z "$AWK" ]; then
+ for p in `echo $QMAKE_PROJECTS`; do
+ echo "$p" >> .projects
diff --git a/config.profiles/harmattan/patches/pinch_gesture_sent_twice.diff b/config.profiles/harmattan/patches/pinch_gesture_sent_twice.diff
new file mode 100644
index 0000000..61dfbf9
--- /dev/null
+++ b/config.profiles/harmattan/patches/pinch_gesture_sent_twice.diff
@@ -0,0 +1,56 @@
+Index: qt-maemo-qtp/src/gui/kernel/qstandardgestures.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/gui/kernel/qstandardgestures.cpp
++++ qt-maemo-qtp/src/gui/kernel/qstandardgestures.cpp
+@@ -66,6 +66,9 @@
+ #else
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
+ #endif
++ } else if (target) {
++ return 0; // this assumes the target is a QGraphicsObject, so we return
++ // NULL to indicate that the recognizer doesn't support graphicsobject
+ }
+ return new QPanGesture;
+ }
+@@ -157,7 +160,11 @@
+ {
+ if (target && target->isWidgetType()) {
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
++ } else if (target) {
++ return 0; // this assumes the target is a QGraphicsObject, so we return
++ // NULL to indicate that the recognizer doesn't support graphicsobject
+ }
++
+ return new QPinchGesture;
+ }
+
+@@ -286,6 +293,9 @@
+ {
+ if (target && target->isWidgetType()) {
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
++ } else if (target) {
++ return 0; // this assumes the target is a QGraphicsObject, so we return
++ // NULL to indicate that the recognizer doesn't support graphicsobject
+ }
+ return new QSwipeGesture;
+ }
+@@ -424,6 +434,9 @@
+ {
+ if (target && target->isWidgetType()) {
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
++ } else if (target) {
++ return 0; // this assumes the target is a QGraphicsObject, so we return
++ // NULL to indicate that the recognizer doesn't support graphicsobject
+ }
+ return new QTapGesture;
+ }
+@@ -495,6 +508,9 @@
+ {
+ if (target && target->isWidgetType()) {
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
++ } else if (target) {
++ return 0; // this assumes the target is a QGraphicsObject, so we return
++ // NULL to indicate that the recognizer doesn't support graphicsobject
+ }
+ return new QTapAndHoldGesture;
+ }
diff --git a/config.profiles/harmattan/patches/qgltexturecache.diff b/config.profiles/harmattan/patches/qgltexturecache.diff
new file mode 100644
index 0000000..0fa8ad2
--- /dev/null
+++ b/config.profiles/harmattan/patches/qgltexturecache.diff
@@ -0,0 +1,23 @@
+Index: qt-maemo-qtp/src/opengl/qgl.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/opengl/qgl.cpp
++++ qt-maemo-qtp/src/opengl/qgl.cpp
+@@ -1831,18 +1831,6 @@
+ void QGLTextureCache::insert(QGLContext* ctx, qint64 key, QGLTexture* texture, int cost)
+ {
+ QWriteLocker locker(&m_lock);
+- if (m_cache.totalCost() + cost > m_cache.maxCost()) {
+- // the cache is full - make an attempt to remove something
+- const QList<QGLTextureCacheKey> keys = m_cache.keys();
+- int i = 0;
+- while (i < m_cache.count()
+- && (m_cache.totalCost() + cost > m_cache.maxCost())) {
+- QGLTexture *tex = m_cache.object(keys.at(i));
+- if (tex->context == ctx)
+- m_cache.remove(keys.at(i));
+- ++i;
+- }
+- }
+ const QGLTextureCacheKey cacheKey = {key, QGLContextPrivate::contextGroup(ctx)};
+ m_cache.insert(cacheKey, texture, cost);
+ }
diff --git a/config.profiles/harmattan/patches/qwidget_x11.diff b/config.profiles/harmattan/patches/qwidget_x11.diff
new file mode 100644
index 0000000..8bcb011
--- /dev/null
+++ b/config.profiles/harmattan/patches/qwidget_x11.diff
@@ -0,0 +1,39 @@
+commit 4ecc45086102807901a3bd2b9e02a169ca212716
+Author: Harald Fernengel <harald.fernengel@nokia.com>
+Date: Thu Dec 9 10:51:01 2010 +0100
+
+ Fix a rare race condition when showing windows
+
+ When setting a window to translucent shortly before showing it with the
+ OpenGL graphics system, the hijacking would call XDestroyWindow without
+ resetting the internal state. This might lead to the window waiting for
+ a map notify message forever.
+
+ The patch now properly resets the internal state when destroying the old
+ window, so it'll get mapped correctly when show() is called.
+
+ Reviewed-by: Denis Dzyubenko
+
+Index: qt-maemo-qtp/src/gui/kernel/qwidget_x11.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/gui/kernel/qwidget_x11.cpp
++++ qt-maemo-qtp/src/gui/kernel/qwidget_x11.cpp
+@@ -961,8 +961,17 @@
+ inputContext->setFocusWidget(q);
+ }
+
+- if (destroyw)
++ if (destroyw) {
+ qt_XDestroyWindow(q, dpy, destroyw);
++ if (QTLWExtra *topData = maybeTopData()) {
++#ifndef QT_NO_XSYNC
++ if (topData->syncUpdateCounter)
++ XSyncDestroyCounter(dpy, topData->syncUpdateCounter);
++#endif
++ // we destroyed our old window - reset the top-level state
++ createTLSysExtra();
++ }
++ }
+
+ // newly created windows are positioned at the window system's
+ // (0,0) position. If the parent uses wrect mapping to expand the
diff --git a/config.profiles/harmattan/patches/qwidget_x11_mapping.diff b/config.profiles/harmattan/patches/qwidget_x11_mapping.diff
new file mode 100644
index 0000000..4866cfb
--- /dev/null
+++ b/config.profiles/harmattan/patches/qwidget_x11_mapping.diff
@@ -0,0 +1,17 @@
+Index: qt-maemo-qtp/src/gui/kernel/qwidget_x11.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/gui/kernel/qwidget_x11.cpp
++++ qt-maemo-qtp/src/gui/kernel/qwidget_x11.cpp
+@@ -1353,6 +1353,12 @@
+ //cannot trust that !isWindow() implies parentWidget() before create
+ return (q->isWindow() || !q->parentWidget()) ? p : q->parentWidget()->d_func()->mapToGlobal(p);
+ }
++
++ // we're not embedded - use the client rect to compute the global position
++ if (!q->window()->d_func()->topData()->embedded)
++ return mapFromWS(QPoint(pos.x() - q->data->crect.left(), pos.y() - q->data->crect.top()));
++
++ // otherwise, go through the (slow-ish) X11 round-trip
+ int x, y;
+ Window child;
+ QPoint p = mapToWS(pos);
diff --git a/config.profiles/harmattan/patches/runtime-window-geometry-revert.diff b/config.profiles/harmattan/patches/runtime-window-geometry-revert.diff
new file mode 100644
index 0000000..af55a60
--- /dev/null
+++ b/config.profiles/harmattan/patches/runtime-window-geometry-revert.diff
@@ -0,0 +1,12 @@
+Index: qt-maemo-qtp/src/gui/painting/qgraphicssystem_runtime.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/gui/painting/qgraphicssystem_runtime.cpp
++++ qt-maemo-qtp/src/gui/painting/qgraphicssystem_runtime.cpp
+@@ -285,7 +285,6 @@
+
+ void QRuntimeWindowSurface::setGeometry(const QRect &rect)
+ {
+- QWindowSurface::setGeometry(rect);
+ m_windowSurface->setGeometry(rect);
+ }
+
diff --git a/config.profiles/harmattan/patches/series b/config.profiles/harmattan/patches/series
new file mode 100644
index 0000000..f2ee5f9
--- /dev/null
+++ b/config.profiles/harmattan/patches/series
@@ -0,0 +1,14 @@
+tst_qscrollbar.diff
+signon_authenticator4.diff
+pinch_gesture_sent_twice.diff
+no_read_pro_from_quilt_dir.diff
+tst_qvariant.diff
+icu.diff
+qgltexturecache.diff
+qwidget_x11.diff
+qwidget_x11_mapping.diff
+glshadercache.diff
+temppath.diff
+tst_qprogressbar.diff
+default_widget_size.diff
+runtime-window-geometry-revert.diff
diff --git a/config.profiles/harmattan/patches/signon_authenticator4.diff b/config.profiles/harmattan/patches/signon_authenticator4.diff
new file mode 100644
index 0000000..63e8d51
--- /dev/null
+++ b/config.profiles/harmattan/patches/signon_authenticator4.diff
@@ -0,0 +1,230 @@
+Index: qt-maemo-qtp/src/3rdparty/signon/signon.pri
+===================================================================
+--- /dev/null
++++ qt-maemo-qtp/src/3rdparty/signon/signon.pri
+@@ -0,0 +1,2 @@
++# signon dependency
++CONFIG += qdbus
+Index: qt-maemo-qtp/src/network/access/access.pri
+===================================================================
+--- qt-maemo-qtp.orig/src/network/access/access.pri
++++ qt-maemo-qtp/src/network/access/access.pri
+@@ -61,3 +61,4 @@
+ access/qnetworkdiskcache.cpp
+
+ include($$PWD/../../3rdparty/zlib_dependency.pri)
++include($$PWD/../../3rdparty/signon/signon.pri)
+Index: qt-maemo-qtp/src/network/kernel/qauthenticator.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/network/kernel/qauthenticator.cpp
++++ qt-maemo-qtp/src/network/kernel/qauthenticator.cpp
+@@ -129,6 +129,9 @@
+ \sa QSslSocket
+ */
+
++#ifndef QT_NO_SIGNON
++#include <QtDBus/QtDBus>
++#endif //QT_NO_SIGNON
+
+ /*!
+ Constructs an empty authentication object
+@@ -421,17 +424,40 @@
+ {
+ QByteArray response;
+ const char *methodString = 0;
++#ifndef QT_NO_SIGNON
++ bool valid = false;
++ qint32 id = 0;
++#endif //QT_NO_SIGNON
++
+ switch(method) {
+ case QAuthenticatorPrivate::None:
+ methodString = "";
+ phase = Done;
+ break;
+ case QAuthenticatorPrivate::Plain:
++#ifndef QT_NO_SIGNON
++ id = this->options.value(QLatin1String("identity")).toInt(&valid);
++ if (valid) {
++ //get response from sso
++ QVariantMap signon = signonResponse(id, QLatin1String("password"),QVariantMap());
++ response = '\0' + signon.value(QLatin1String("UserName")).toString().toUtf8()
++ + '\0' + signon.value(QLatin1String("Secret")).toString().toUtf8();
++ } else
++#endif //QT_NO_SIGNON
+ response = '\0' + user.toUtf8() + '\0' + password.toUtf8();
+ phase = Done;
+ break;
+ case QAuthenticatorPrivate::Basic:
+ methodString = "Basic ";
++#ifndef QT_NO_SIGNON
++ id = this->options.value(QLatin1String("identity")).toInt(&valid);
++ if (valid) {
++ //get response from sso
++ QVariantMap signon = signonResponse(id, QLatin1String("password"),QVariantMap());
++ response = signon.value(QLatin1String("UserName")).toString().toLatin1()
++ + ':' + signon.value(QLatin1String("Secret")).toString().toLatin1();
++ } else
++#endif //QT_NO_SIGNON
+ response = user.toLatin1() + ':' + password.toLatin1();
+ response = response.toBase64();
+ phase = Done;
+@@ -613,6 +639,90 @@
+ return hash.result().toHex();
+ }
+
++#ifndef QT_NO_SIGNON
++
++static QVariantMap signonResponse(const quint32 id, const QString &method, QVariantMap args)
++{
++ //check dbus connection
++ QDBusConnection connection = QDBusConnection::sessionBus();
++ if (!QDBusConnection::sessionBus().isConnected()) {
++ qCritical() << "DBus connection failed";
++ return QVariantMap();
++ }
++
++ QDBusMessage msg =
++ QDBusMessage::createMethodCall(QLatin1String("com.nokia.SingleSignOn"),
++ QLatin1String("/com/nokia/SingleSignOn") ,
++ QLatin1String("com.nokia.SingleSignOn.AuthService"),
++ QLatin1String("getAuthSessionObjectPath"));
++ msg << id << method;
++ QDBusReply<QString> pathReply = connection.call(msg);
++
++ QString sessionPath;
++ if (pathReply.isValid()) {
++ sessionPath = pathReply.value();
++ } else {
++ qDebug() << pathReply.error();
++ return QVariantMap();
++ }
++
++ //authenticate using auth session
++ msg = QDBusMessage::createMethodCall(QLatin1String("com.nokia.SingleSignOn"),
++ sessionPath, QString(),
++ QLatin1String("process"));
++ msg << args << method;
++ QDBusReply<QVariantMap> reply = connection.call(msg);
++
++ if (reply.isValid()) {
++ QVariantMap map = reply.value();
++ return map;
++ } else {
++ qDebug() << reply.error();
++ return QVariantMap();
++ }
++ return QVariantMap();
++}
++
++static QByteArray signonDigestMd5(
++ const quint32 id,
++ const QByteArray &alg,
++ QString &user,
++ const QByteArray &realm,
++ const QByteArray &nonce, /* nonce from server */
++ QByteArray &nonceCount, /* 8 hex digits */
++ QByteArray &cNonce, /* client nonce */
++ const QByteArray &qop, /* qop-value: "", "auth", "auth-int" */
++ const QByteArray &method, /* method from the request */
++ const QByteArray &digestUri, /* requested URL */
++ const QByteArray &hEntity /* H(entity body) if qop="auth-int" */
++ )
++{
++ QByteArray digest = QByteArray();
++ nonceCount = "00000001";
++
++ QVariantMap args;
++ args.insert(QLatin1String("Algorithm"), alg);
++ args.insert(QLatin1String("Realm"), QLatin1String(realm));
++ args.insert(QLatin1String("nonce"), nonce);
++ args.insert(QLatin1String("nonceCount"), nonceCount);
++ args.insert(QLatin1String("cNonce"), cNonce);
++ args.insert(QLatin1String("qop"), qop);
++ args.insert(QLatin1String("method"), method);
++ args.insert(QLatin1String("digestUri"), digestUri);
++ args.insert(QLatin1String("Entity"), hEntity);
++
++ QVariantMap response = signonResponse(id, QLatin1String("digest"), args);
++
++ if (response.isEmpty())
++ return digest;
++ digest = response.value(QLatin1String("Digest")).toByteArray();
++ user = response.value(QLatin1String("UserName")).toString();
++ cNonce = response.value(QLatin1String("cNonce")).toByteArray();
++
++ return digest;
++}
++#endif //QT_NO_SIGNON
++
+ QByteArray QAuthenticatorPrivate::digestMd5Response(const QByteArray &challenge, const QByteArray &method, const QByteArray &path)
+ {
+ QHash<QByteArray,QByteArray> options = parseDigestAuthenticationChallenge(challenge);
+@@ -625,9 +735,23 @@
+ QByteArray nonce = options.value("nonce");
+ QByteArray opaque = options.value("opaque");
+ QByteArray qop = options.value("qop");
++ QByteArray response;
+
+ // qDebug() << "calculating digest: method=" << method << "path=" << path;
+- QByteArray response = digestMd5ResponseHelper(options.value("algorithm"), user.toLatin1(),
++
++#ifndef QT_NO_SIGNON
++ bool valid = false;
++ qint32 id = this->options.value(QLatin1String("identity")).toInt(&valid);
++ if (valid) {
++ //get response from sso
++ response = signonDigestMd5(id, options.value("algorithm"), user,
++ realm.toLatin1(),
++ nonce, nonceCountString,
++ cnonce, qop, method,
++ path, QByteArray());
++ } else
++#endif //QT_NO_SIGNON
++ response = digestMd5ResponseHelper(options.value("algorithm"), user.toLatin1(),
+ realm.toLatin1(), password.toLatin1(),
+ nonce, nonceCountString,
+ cnonce, qop, method,
+Index: qt-maemo-qtp/src/network/kernel/qauthenticator_p.h
+===================================================================
+--- qt-maemo-qtp.orig/src/network/kernel/qauthenticator_p.h
++++ qt-maemo-qtp/src/network/kernel/qauthenticator_p.h
+@@ -109,6 +109,23 @@
+
+ };
+
++#ifndef QT_NO_SIGNON
++ static QVariantMap signonResponse(const quint32 id, const QString &method, QVariantMap args);
++ static QByteArray signonDigestMd5(
++ const quint32 id,
++ const QByteArray &alg,
++ QString &user,
++ const QByteArray &realm,
++ const QByteArray &nonce, /* nonce from server */
++ QByteArray &nonceCount, /* 8 hex digits */
++ QByteArray &cNonce, /* client nonce */
++ const QByteArray &qop, /* qop-value: "", "auth", "auth-int" */
++ const QByteArray &method, /* method from the request */
++ const QByteArray &digestUri, /* requested URL */
++ const QByteArray &hEntity /* H(entity body) if qop="auth-int" */
++ );
++#endif //QT_NO_SIGNON
++
+
+ QT_END_NAMESPACE
+
+Index: qt-maemo-qtp/src/src.pro
+===================================================================
+--- qt-maemo-qtp.orig/src/src.pro
++++ qt-maemo-qtp/src/src.pro
+@@ -4,8 +4,9 @@
+ unset(SRC_SUBDIRS)
+ win32:SRC_SUBDIRS += src_winmain
+ symbian:SRC_SUBDIRS += src_s60main
+-SRC_SUBDIRS += src_corelib src_xml src_network src_sql src_testlib
++SRC_SUBDIRS += src_corelib src_xml
+ !symbian:contains(QT_CONFIG, dbus):SRC_SUBDIRS += src_dbus
++SRC_SUBDIRS += src_network src_sql src_testlib
+ !contains(QT_CONFIG, no-gui): SRC_SUBDIRS += src_gui
+ !wince*:!symbian:!vxworks:contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
+
diff --git a/config.profiles/harmattan/patches/temppath.diff b/config.profiles/harmattan/patches/temppath.diff
new file mode 100644
index 0000000..065c2d0
--- /dev/null
+++ b/config.profiles/harmattan/patches/temppath.diff
@@ -0,0 +1,28 @@
+Index: qt-maemo-qtp/mkspecs/linux-g++-maemo/qplatformdefs.h
+===================================================================
+--- qt-maemo-qtp.orig/mkspecs/linux-g++-maemo/qplatformdefs.h
++++ qt-maemo-qtp/mkspecs/linux-g++-maemo/qplatformdefs.h
+@@ -43,3 +43,8 @@
+
+ #define QT_GUI_DOUBLE_CLICK_RADIUS 20
+ #define QT_GUI_DRAG_DISTANCE 16
++
++// TMPDIR sometimes points to /tmp and sometimes to /var/tmp
++// To guarantee native platform key generation for QSharedMemory and friends,
++// we must hard code the temp path to /var/tmp here.
++#define QT_UNIX_TEMP_PATH_OVERRIDE "/var/tmp"
+Index: qt-maemo-qtp/src/corelib/io/qfsfileengine_unix.cpp
+===================================================================
+--- qt-maemo-qtp.orig/src/corelib/io/qfsfileengine_unix.cpp
++++ qt-maemo-qtp/src/corelib/io/qfsfileengine_unix.cpp
+@@ -643,7 +643,9 @@
+
+ QString QFSFileEngine::tempPath()
+ {
+-#if defined(Q_OS_SYMBIAN)
++#if defined(QT_UNIX_TEMP_PATH_OVERRIDE)
++ QString temp = QLatin1String(QT_UNIX_TEMP_PATH_OVERRIDE);
++#elif defined(Q_OS_SYMBIAN)
+ TFileName symbianPath = PathInfo::PhoneMemoryRootPath();
+ QString temp = QDir::fromNativeSeparators(qt_TDesC2QString(symbianPath));
+ temp += QLatin1String( "temp/");
diff --git a/config.profiles/harmattan/patches/tst_qprogressbar.diff b/config.profiles/harmattan/patches/tst_qprogressbar.diff
new file mode 100644
index 0000000..d252fe3
--- /dev/null
+++ b/config.profiles/harmattan/patches/tst_qprogressbar.diff
@@ -0,0 +1,19 @@
+Index: qt-maemo-qtp/tests/auto/qprogressbar/tst_qprogressbar.cpp
+===================================================================
+--- qt-maemo-qtp.orig/tests/auto/qprogressbar/tst_qprogressbar.cpp
++++ qt-maemo-qtp/tests/auto/qprogressbar/tst_qprogressbar.cpp
+@@ -179,10 +179,14 @@
+ bar.repainted = false;
+ bar.setFormat("%v of %m (%p%)");
+ qApp->processEvents();
++
++#if 0 // Removed
+ #ifndef Q_WS_MAC
+ // The Mac scroll bar is animated, which means we get paint events all the time.
+ QVERIFY(!bar.repainted);
+ #endif
++#endif
++
+ QCOMPARE(bar.text(), QString("1 of 10 (10%)"));
+ bar.setRange(5, 5);
+ bar.setValue(5);
diff --git a/config.profiles/harmattan/patches/tst_qscrollbar.diff b/config.profiles/harmattan/patches/tst_qscrollbar.diff
new file mode 100644
index 0000000..3c777a9
--- /dev/null
+++ b/config.profiles/harmattan/patches/tst_qscrollbar.diff
@@ -0,0 +1,12 @@
+Index: qt-maemo-qtp/tests/auto/qscrollbar/tst_qscrollbar.cpp
+===================================================================
+--- qt-maemo-qtp.orig/tests/auto/qscrollbar/tst_qscrollbar.cpp
++++ qt-maemo-qtp/tests/auto/qscrollbar/tst_qscrollbar.cpp
+@@ -104,6 +104,7 @@
+
+ void tst_QScrollBar::task_209492()
+ {
++ QSKIP("Unstable test on Harmattan", SkipSingle);
+ class MyScrollArea : public QScrollArea
+ {
+ public:
diff --git a/config.profiles/harmattan/patches/tst_qvariant.diff b/config.profiles/harmattan/patches/tst_qvariant.diff
new file mode 100644
index 0000000..bcded52
--- /dev/null
+++ b/config.profiles/harmattan/patches/tst_qvariant.diff
@@ -0,0 +1,21 @@
+Index: qt-maemo-qtp/tests/auto/qvariant/tst_qvariant.cpp
+===================================================================
+--- qt-maemo-qtp.orig/tests/auto/qvariant/tst_qvariant.cpp
++++ qt-maemo-qtp/tests/auto/qvariant/tst_qvariant.cpp
+@@ -3122,6 +3122,7 @@
+
+ void tst_QVariant::numericalConvert()
+ {
++ int low_int = 3;
+ QVariant vfloat(float(5.3));
+ QVariant vdouble(double(5.3));
+ QVariant vreal(qreal(5.3));
+@@ -3137,7 +3138,7 @@
+
+ for(int i = 0; i < vect.size(); i++) {
+ double num = 5.3;
+- if (i >= 3 && i <= 7)
++ if (i >= low_int && i <= 7)
+ num = 5;
+ QVariant *v = vect.at(i);
+ QCOMPARE(v->toFloat() , float(num));
diff --git a/config.profiles/harmattan/qt4-acceptance-tests.lintian b/config.profiles/harmattan/qt4-acceptance-tests.lintian
new file mode 100644
index 0000000..c44aad8
--- /dev/null
+++ b/config.profiles/harmattan/qt4-acceptance-tests.lintian
@@ -0,0 +1,6 @@
+qt4-acceptance-tests: unknown-control-file digsigsums
+qt4-acceptance-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusconnection
+qt4-acceptance-tests: file-in-unusual-dir usr/tests/qt4/tst_qhash
+qt4-acceptance-tests: file-in-unusual-dir usr/tests/qt4/tst_qlist
+qt4-acceptance-tests: file-in-unusual-dir usr/tests/qt4/tst_qmap
+qt4-acceptance-tests: non-standard-dir-in-usr usr/tests/
diff --git a/config.profiles/harmattan/qt4-declarative-qmlviewer.install b/config.profiles/harmattan/qt4-declarative-qmlviewer.install
new file mode 100644
index 0000000..2822108
--- /dev/null
+++ b/config.profiles/harmattan/qt4-declarative-qmlviewer.install
@@ -0,0 +1,3 @@
+usr/bin/qmlviewer
+usr/share/applications/QMLViewer.desktop
+usr/share/icons/hicolor/64x64/apps/QMLViewer.png
diff --git a/config.profiles/harmattan/qt4-declarative-qmlviewer.lintian b/config.profiles/harmattan/qt4-declarative-qmlviewer.lintian
new file mode 100644
index 0000000..4acdec6
--- /dev/null
+++ b/config.profiles/harmattan/qt4-declarative-qmlviewer.lintian
@@ -0,0 +1 @@
+qt4-declarative-qmlviewer: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/qt4-doc-html.doc-base b/config.profiles/harmattan/qt4-doc-html.doc-base
new file mode 100644
index 0000000..58063c6
--- /dev/null
+++ b/config.profiles/harmattan/qt4-doc-html.doc-base
@@ -0,0 +1,11 @@
+Document: qt4-doc-html
+Title: Qt4 Reference Documentation
+Author: Trolltech AS
+Abstract: Qt is a cross-platform C++ application framework. Qt's
+ primary feature is its rich set of widgets that provide standard GUI
+ functionality.
+Section: Apps/programming
+
+Format: HTML
+Index: /usr/share/doc/qt4-doc-html/html/index.html
+Files: /usr/share/doc/qt4-doc-html/html/*.html
diff --git a/config.profiles/harmattan/qt4-doc-html.install b/config.profiles/harmattan/qt4-doc-html.install
new file mode 100644
index 0000000..8467be4
--- /dev/null
+++ b/config.profiles/harmattan/qt4-doc-html.install
@@ -0,0 +1,2 @@
+usr/share/qt4/doc/html
+
diff --git a/config.profiles/harmattan/qt4-doc-html.links b/config.profiles/harmattan/qt4-doc-html.links
new file mode 100644
index 0000000..d1fed65
--- /dev/null
+++ b/config.profiles/harmattan/qt4-doc-html.links
@@ -0,0 +1,2 @@
+usr/share/qt4/doc/html usr/share/doc/qt4-doc-html/html
+
diff --git a/config.profiles/harmattan/qt4-doc.install b/config.profiles/harmattan/qt4-doc.install
new file mode 100644
index 0000000..1037a6c
--- /dev/null
+++ b/config.profiles/harmattan/qt4-doc.install
@@ -0,0 +1,3 @@
+usr/share/qt4/doc/qch/*
+usr/share/qt4/doc/src/*
+
diff --git a/config.profiles/harmattan/qt4-linguist-tools.install b/config.profiles/harmattan/qt4-linguist-tools.install
new file mode 100644
index 0000000..73c0bb1
--- /dev/null
+++ b/config.profiles/harmattan/qt4-linguist-tools.install
@@ -0,0 +1,4 @@
+usr/bin/native-lrelease
+usr/bin/host-lrelease
+usr/bin/lupdate
+usr/bin/lconvert
diff --git a/config.profiles/harmattan/qt4-linguist-tools.lintian b/config.profiles/harmattan/qt4-linguist-tools.lintian
new file mode 100644
index 0000000..0f8ed2b
--- /dev/null
+++ b/config.profiles/harmattan/qt4-linguist-tools.lintian
@@ -0,0 +1,4 @@
+qt4-linguist-tools: unknown-control-file digsigsums
+qt4-linguist-tools: binary-from-other-architecture ./usr/bin/host-lrelease
+qt4-linguist-tools: binary-or-shlib-defines-rpath ./usr/bin/host-lrelease /scratchbox/host_shared/lib
+qt4-linguist-tools: binary-or-shlib-defines-rpath ./usr/bin/host-lrelease /host_usr/lib
diff --git a/config.profiles/harmattan/qt4-linguist-tools.postinst b/config.profiles/harmattan/qt4-linguist-tools.postinst
new file mode 100644
index 0000000..2453b95
--- /dev/null
+++ b/config.profiles/harmattan/qt4-linguist-tools.postinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+PREFIX=native
+if [ -f /targets/links/scratchbox.config ]; then
+ PREFIX=host
+fi
+
+BINARIES="lrelease"
+
+for bin in $BINARIES; do
+ ln -sf "/usr/bin/${PREFIX}-${bin}" "/usr/bin/${bin}"
+done
+
+#DEBHELPER#
diff --git a/config.profiles/harmattan/qt4-linguist-tools.prerm b/config.profiles/harmattan/qt4-linguist-tools.prerm
new file mode 100644
index 0000000..04b51bd
--- /dev/null
+++ b/config.profiles/harmattan/qt4-linguist-tools.prerm
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+BINARIES="lrelease"
+
+case "$1" in
+ upgrade) ;;
+ remove|failed-upgrade|deconfigure)
+ for bin in $BINARIES; do
+ rm -f "/usr/bin/${bin}"
+ done
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/config.profiles/harmattan/qt4-maemo-auto-tests.lintian b/config.profiles/harmattan/qt4-maemo-auto-tests.lintian
new file mode 100644
index 0000000..3745c80
--- /dev/null
+++ b/config.profiles/harmattan/qt4-maemo-auto-tests.lintian
@@ -0,0 +1,41 @@
+qt4-maemo-auto-tests: unknown-control-file digsigsums
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusabstractadaptor
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusabstractinterface
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbuscontext
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusinterface
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbuslocalcalls
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusmetaobject
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusmetatype
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbuspendingcall
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbuspendingreply
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusreply
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusservicewatcher
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusthreading
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusxmlparser
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdebug
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qmutexlocker
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkaddressentry
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkcookie
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkcookiejar
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkproxy
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkrequest
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qobjectrace
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qpainterpathstroker
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qpen
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qpoint
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qpolygon
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qquaternion
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qqueue
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qrand
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qreadlocker
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qreadwritelock
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qrect
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qringbuffer
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscopedpointer
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptclass
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptcontextinfo
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptstring
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptvalueiterator
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qsequentialanimationgroup
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qset
+qt4-maemo-auto-tests: non-standard-dir-in-usr usr/tests/
diff --git a/config.profiles/harmattan/readdir-hppa-test.c b/config.profiles/harmattan/readdir-hppa-test.c
new file mode 100644
index 0000000..eb893ba
--- /dev/null
+++ b/config.profiles/harmattan/readdir-hppa-test.c
@@ -0,0 +1,25 @@
+#include <sys/types.h>
+#include <dirent.h>
+#include <errno.h>
+#include <stdio.h>
+
+main() {
+ int return_code;
+ DIR *dir;
+ struct dirent entry;
+ struct dirent *result;
+
+ if ((dir = opendir(".")) == NULL)
+ perror("opendir() error");
+ else {
+ // puts("contents of .:");
+ for (return_code = readdir_r(dir, &entry, &result);
+ result != NULL && return_code == 0;
+ return_code = readdir_r(dir, &entry, &result))
+ printf("%s\n", entry.d_name);
+ if (return_code != 0)
+ perror("readdir_r() error");
+ closedir(dir);
+ }
+}
+
diff --git a/config.profiles/harmattan/rules b/config.profiles/harmattan/rules
new file mode 100755
index 0000000..3042551
--- /dev/null
+++ b/config.profiles/harmattan/rules
@@ -0,0 +1,404 @@
+#!/usr/bin/make -f
+
+export QTDIR := $(shell pwd)
+export PATH := $(QTDIR)/bin:$(PATH)
+# workaround to use lrelease.
+export LD_LIBRARY_PATH := $(QTDIR)/lib:$(LD_LIBRARY_PATH)
+export QT_PLUGIN_PATH := $(QTDIR)/plugins
+export DH_VERBOSE=1
+
+# Only present in official source package
+#QTVERSION := $(shell ls changes-* | cut -f2 -d '-')
+CURRENTVERSION := $(shell head -1 debian/changelog | sed 's/[^(]*(\([^)]*\)).*/\1/')
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/makefile.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
+include /usr/share/cdbs/1/rules/utils.mk
+
+# Find out how many parallel threads to run
+TMP_BUILD_OPTS = $(subst $(comma),$(space),$(DEB_BUILD_OPTIONS))
+ifneq (,$(filter parallel=%,$(TMP_BUILD_OPTS)))
+ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(TMP_BUILD_OPTS)))
+ PARALLEL_MAKEFLAGS += -j$(NUMJOBS)
+endif
+BUILD_NOOPT := no
+ifneq (,$(filter noopt,$(TMP_BUILD_OPTS)))
+ BUILD_NOOPT := yes
+endif
+BUILD_DOCS := yes
+ifneq (,$(filter nodoc,$(TMP_BUILD_OPTS)))
+ BUILD_DOCS := no
+endif
+ifneq (,$(filter nodocs,$(TMP_BUILD_OPTS)))
+ BUILD_DOCS := no
+endif
+TRY_TARGET_BUILD := no
+ifneq (,$(filter native-tools,$(TMP_BUILD_OPTS)))
+ TRY_TARGET_BUILD := yes
+endif
+
+DEB_MAKE_INVOKE := $(MAKE) $(PARALLEL_MAKEFLAGS)
+DEB_MAKE_BUILD_TARGET := sub-src
+DEB_MAKE_INSTALL_TARGET := INSTALL_ROOT=$(DEB_DESTDIR) install
+DEB_DH_INSTALL_SOURCEDIR := debian/tmp
+
+# Ensure the *.debug files aren't included in any package other than libqt4-dbg
+DEB_DH_INSTALL_ARGS := --exclude=.debug
+
+DEB_MAKE_CLEAN_TARGET := confclean distclean
+
+# Shlibs of the current upstream version
+DEB_DH_MAKESHLIBS_ARGS_ALL := -V
+
+DEB_DH_SHLIBDEPS_ARGS_ALL := --exclude=.debug -Xusr/bin/host-
+
+# Only present in official source package
+#DEB_INSTALL_CHANGELOGS_ALL := changes-$(QTVERSION)
+
+QT_MAEMO_TESTDIR := debian/tests
+export QMAKEFEATURES=$(CURDIR)/debian/tests
+export QMAKE_INVOKE=$(CURDIR)/bin/qmake
+export QMAKE_BUILD_ROOT=$(CURDIR)
+
+#Test packages that will run using -style option
+QT_AUTOTESTS_GUI_STYLE := "libqt4-gui-tests"
+
+# Select OpenGL backend driver
+# Enable multituch support
+ifeq ($(DEB_HOST_ARCH),arm)
+ CONFIG_ARCH_OPT = armv6
+else
+ ifeq ($(DEB_HOST_ARCH),armel)
+ CONFIG_ARCH_OPT = armv6
+ else
+ CONFIG_ARCH_OPT = i386
+ endif
+
+endif
+
+EXTRA_CONFIGURE_OPTS += -DQT_QLOCALE_USES_FCVT -DQT_EXPERIMENTAL_CLIENT_DECORATIONS -DQT_MEEGO_EXPERIMENTAL_SHADERCACHE -DQT_MEEGO_EXPERIMENTAL_SHADERCACHE_TRACE
+
+# Check if running inside scratchbox, and that host-gcc works
+IN_SBOX = $(shell if [ -f /targets/links/scratchbox.config ]; then echo yes; else echo no; fi)
+HOST_GCC_WORKS = $(shell if host-gcc --version > /dev/null; then echo yes; else echo no; fi)
+TARGET_BUILD = no
+ifeq ($(TRY_TARGET_BUILD),yes)
+ ifeq ($(IN_SBOX),yes)
+ ifeq ($(HOST_GCC_WORKS),yes)
+ TARGET_BUILD = yes
+ endif
+ endif
+# Except don't use host-gcc if building for i386
+ ifeq ($(DEB_HOST_ARCH),i386)
+ TARGET_BUILD = no
+ endif
+endif
+
+TARGET_PLATFORM = linux-g++-maemo
+HOST_PLATFORM = unsupported/linux-host-g++
+PLATFORM_FLAG = -platform $(TARGET_PLATFORM)
+FORCE_PKG_CONFIG_FLAG =
+HOST_EXLUDES =
+ifeq ($(TARGET_BUILD),yes)
+ PLATFORM_FLAG = -platform $(HOST_PLATFORM) \
+ -xplatform $(TARGET_PLATFORM)
+ FORCE_PKG_CONFIG_FLAG = -force-pkg-config
+ HOST_EXCLUDES := usr/bin/host- usr/bin/qmake
+endif
+
+DEB_STRIP_EXCLUDE := $(HOST_EXCLUDES)
+
+# Determine target architecture
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+ ifeq ($(CONFIG_ARCH_OPT),armv6)
+ GL_BACKEND=es2
+ EXTRA_CONFIGURE_OPTS += -graphicssystem runtime \
+ -runtimegraphicssystem meego
+ CONFIG_BUILD_OPT = -release
+ else
+ GL_BACKEND=desktop
+ CONFIG_BUILD_OPT = -debug
+ endif
+else
+ TARGET_PLATFORM = glibc-g++
+endif
+
+#If noopt is selected, force -debug and some compilation flags
+ifeq ($(BUILD_NOOPT),yes)
+ CONFIG_BUILD_OPT = -debug
+ CFLAGS = -g
+ CXXFLAGS = -g
+ export CFLAGS
+ export CXXFLAGS
+endif
+
+MAKE_DOCS := -make docs
+DOCS_EXCLUDE :=
+ifeq ($(BUILD_DOCS),no)
+ MAKE_DOCS := -nomake docs
+endif
+
+common-build-arch:: debian/stamp-makefile-build-tools
+
+debian/stamp-makefile-build-tools: debian/stamp-makefile-build
+ $(DEB_MAKE_INVOKE) sub-tools
+ touch $@
+
+common-configure-arch:: config.status
+
+config.status:
+ # Create mkspecs/glibc-g++ from mkspecs/linux-g++, needed by GNU/kFreeBSD
+ # we cannot use directly linux-g++ due to src/corelib/io/io.pri
+ rm -rf mkspecs/glibc-g++
+ cp -a mkspecs/linux-g++ mkspecs/glibc-g++
+ ./configure -opensource \
+ -confirm-license \
+ $(CONFIG_BUILD_OPT) \
+ -prefix "/usr" \
+ -bindir "/usr/bin" \
+ -libdir "/usr/lib" \
+ -docdir "/usr/share/qt4/doc" \
+ -headerdir "/usr/include/qt4" \
+ -datadir "/usr/share/qt4" \
+ -plugindir "/usr/lib/qt4/plugins" \
+ -importdir "/usr/lib/qt4/imports" \
+ -translationdir "/usr/share/qt4/translations" \
+ -sysconfdir "/etc/xdg" \
+ $(PLATFORM_FLAG) \
+ $(FORCE_PKG_CONFIG_FLAG) \
+ -arch $(CONFIG_ARCH_OPT) \
+ -fast \
+ -no-optimized-qmake \
+ -reduce-relocations \
+ -no-separate-debug-info \
+ -no-rpath \
+ -system-zlib \
+ -system-libtiff \
+ -system-libpng \
+ -system-libjpeg \
+ -no-nas-sound \
+ -qt-gif \
+ -no-qt3support \
+ -no-libmng \
+ -opengl $(GL_BACKEND) \
+ -accessibility \
+ -make tools \
+ $(MAKE_DOCS) \
+ -nomake examples \
+ -nomake demos \
+ -little-endian \
+ -no-cups \
+ -no-gtkstyle \
+ -exceptions \
+ -no-xinerama \
+ -no-xcursor \
+ -dbus-linked \
+ -glib \
+ -no-pch \
+ -gstreamer \
+ -svg \
+ -no-webkit \
+ -no-sql-ibase \
+ -xmlpatterns \
+ -system-sqlite \
+ -plugin-sql-sqlite \
+ -openssl \
+ -phonon \
+ -xinput2 \
+ -icu \
+ $(EXTRA_CONFIGURE_OPTS)
+
+BINARY_NAMES := qmake moc lrelease rcc uic
+HOST_BINARIES := $(addprefix $(CURDIR)/bin/, $(addprefix host-, $(BINARY_NAMES)))
+
+# host-prefixed binaries are to be copied anyway regardless of the platform
+common-build-arch:: $(HOST_BINARIES) debian/stamp-makefile-build-target-binaries
+
+$(HOST_BINARIES):
+ cp "$(subst host-,,$@)" "$@"
+ if [ -n "$(HOST_EXCLUDES)" ]; then host-strip --strip-all "$@"; fi
+
+debian/stamp-makefile-build-target-binaries: $(HOST_BINARIES)
+# Build target-platform tools when cross-compiling
+ # First make sure qdoc3 is built
+ if [ "x$(BUILD_DOCS)" = "xyes" ]; then $(DEB_MAKE_INVOKE) -C tools/qdoc3; fi
+ # Keep qmake as is while building the rest, build into native-qmake
+ (cd qmake && $(DEB_MAKE_INVOKE) clean && $(QMAKE_INVOKE) -spec "$(CURDIR)/mkspecs/$(TARGET_PLATFORM)" && $(DEB_MAKE_INVOKE) "TARGET=$(QTDIR)/bin/native-qmake")
+ # bootstrap needs to be first
+ for dir in src/tools/bootstrap src/tools/moc tools/linguist/lrelease src/tools/rcc src/tools/uic; do \
+ (cd "$$dir" && $(DEB_MAKE_INVOKE) clean && $(QMAKE_INVOKE) -spec "$(CURDIR)/mkspecs/$(TARGET_PLATFORM)" && $(DEB_MAKE_INVOKE)) \
+ done
+ #Use the host binaries for the rest of the Qt build
+ for binary in moc rcc uic lrelease; do \
+ mv "$(CURDIR)/bin/$$binary" "$(CURDIR)/bin/native-$$binary" ; \
+ cp "$(CURDIR)/bin/host-$$binary" "$(CURDIR)/bin/$$binary"; \
+ done
+ touch $@
+
+#Build the auto tests
+TEST_PACKAGES := $(filter %-tests, $(DEB_PACKAGES))
+common-build-arch:: $(addprefix debian/stamp-makefile-build-autotest-,$(TEST_PACKAGES))
+
+BUILD_TEST_PACKAGE_NAME = $(subst debian/stamp-makefile-build-autotest-,,$@)
+BUILD_TEST_DIR = build_tests/$(BUILD_TEST_PACKAGE_NAME)
+$(addprefix debian/stamp-makefile-build-autotest-,$(TEST_PACKAGES)) :
+ rm -f tests/auto/$(BUILD_TEST_PACKAGE_NAME).pro
+ cp debian/tests/$(BUILD_TEST_PACKAGE_NAME).pro tests/auto
+ mkdir -p $(BUILD_TEST_DIR)
+ cd $(BUILD_TEST_DIR) && $(QMAKE_INVOKE) -recursive $(CURDIR)/tests/auto/$(BUILD_TEST_PACKAGE_NAME).pro CONFIG+=maemo_tests
+ $(DEB_MAKE_INVOKE) -C $(BUILD_TEST_DIR)
+ touch $@
+
+
+clean::
+# Extra stuff missed by confclean/distclean
+
+ # Misc. files
+ rm -f \
+ config.status \
+ config.tests/.qmake.cache \
+ .qmake.cache \
+ examples/dbus/*/Makefile.* \
+ mkspecs/qconfig.pri \
+ src/corelib/global/qconfig.* \
+ src/tools/uic/qclass_lib_map.h \
+ lib/*.so.* \
+ lib/*.la \
+ tests/auto/libqt4-gui-tests.pri \
+ tests/auto/maemo-auto.pro \
+ tests/auto/qt4-acceptance-tests.pri \
+ tests/auto/qt4-maemo-auto-tests.pri \
+ ;
+
+ # Misc. directories
+ rm -rf \
+ examples/tools/plugandpaint/plugins/ \
+ examples/tools/styleplugin/styles/ \
+ mkspecs/glibc-g++/ \
+ plugins/ \
+ include/ \
+ doc-build/ \
+ doc/html/ \
+ doc/qch/ \
+ ;
+
+ # hppa test directory
+ rm -rf debian/hppa-tmp
+
+ # Leftover dirs
+ find -depth -type d \( -false \
+ -o -name debug-shared \
+ -o -name debug-static \
+ -o -name \*.gch \
+ -o -name .moc\* \
+ -o -name .obj\* \
+ -o -name .pch \
+ -o -name pkgconfig \
+ -o -name .rcc \
+ -o -name release-shared \
+ -o -name release-static \
+ -o -name .uic \
+ \) -print0 | xargs -0 rm -rf
+
+ # Leftover files and all symlinks except those in .git
+ find \( -false \
+ -o \( -name \*.a -a ! -path \*/tests/auto/qdir/types/\*.a \) \
+ -o -name Makefile.Debug \
+ -o -name Makefile.Release \
+ -o -name \*.o \
+ -o -name \*.prl \
+ -o \( -name \*.so -a ! -path \*/tests/auto/qlibrary/library_path/invalid.so \) \
+ -o -name \*.so.debug \
+ -o -type l \
+ \! -path ./.git/\* \
+ \) -print0 | xargs -0 rm -rf
+
+ # Delete all Makefiles, excluding some from src/3rdparty
+ find $(CURDIR) -name Makefile \
+ ! -path $(CURDIR)/src/3rdparty/Makefile \
+ ! -path $(CURDIR)/src/3rdparty/freetype/\* \
+ ! -path $(CURDIR)/src/3rdparty/zlib/\* \
+ ! -path $(CURDIR)/src/3rdparty/ptmalloc/Makefile \
+ ! -path $(CURDIR)/util/gencmap/Makefile \
+ -print0 | xargs -0 rm -rf
+
+ # Any remaining executables
+ find $(CURDIR) -type f -perm +111 -exec file -i '{}' \; \
+ | grep -e application/x-executable \
+ | cut -d ':' -f 1 | xargs rm -f
+
+ # Generated on build
+ rm -f debian/shlibs.local
+ rm -f debian/stamp-makefile-build-tools
+ rm -f debian/stamp-makefile-build-docs
+ rm -f debian/stamp-makefile-build-target-binaries
+ rm -f $(addprefix debian/stamp-makefile-build-autotest-,$(TEST_PACKAGES))
+ rm -f $(addprefix debian/,$(addsuffix .install, $(TEST_PACKAGES)))
+ rm -f $(addprefix tests/auto/,$(addsuffix .pro, $(TEST_PACKAGES)))
+ rm -rf build_tests/
+
+
+common-install-arch::
+ mkdir -p $(DEB_DESTDIR)/usr/share/qt4/translations/
+ cp $(CURDIR)/translations/*.ts $(DEB_DESTDIR)/usr/share/qt4/translations/.
+ find $(DEB_DESTDIR)/usr/share/qt4/translations/ -type f -name "*.ts" | xargs $(CURDIR)/bin/lrelease
+ rm -rf $(DEB_DESTDIR)/usr/share/qt4/translations/*.ts
+# Fix wrong path in pkgconfig files
+ find $(DEB_DESTDIR)/usr/lib/pkgconfig -type f -name '*.pc' \
+ -exec perl -pi -e "s, -L$(CURDIR)/?\S+,,g" {} \;
+# Fix wrong path in prl files
+ find $(DEB_DESTDIR)/usr/lib -type f -name '*.prl' \
+ -exec perl -pi -e "s, -L$(CURDIR)/\S+,,g" {} \;
+ find $(DEB_DESTDIR)/usr/lib -type f -name '*.prl' \
+ -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/" {} \;
+
+
+install/qt4-declarative-qmlviewer::
+ install -p -D "debian/QMLViewer.desktop" "$(DEB_DESTDIR)/usr/share/applications/QMLViewer.desktop"
+ install -p -D "debian/QMLViewer.png" "$(DEB_DESTDIR)/usr/share/icons/hicolor/64x64/apps/QMLViewer.png"
+
+
+$(patsubst %,install/%,$(TEST_PACKAGES)) :: install/%:
+ rm -f debian/$(cdbs_curpkg).install
+ $(DEB_MAKE_INVOKE) -C build_tests/$(cdbs_curpkg) $(DEB_MAKE_INSTALL_TARGET)
+ $(DEB_MAKE_INVOKE) -C build_tests/$(cdbs_curpkg) QTM_TEST_INSTALL_FILE=$(CURDIR)/debian/$(cdbs_curpkg).install installtests
+ if [ -z "$(findstring $(cdbs_curpkg),$(QT_AUTOTESTS_GUI_STYLE))" ]; then \
+ $(QT_MAEMO_TESTDIR)/create_tests_xml -t $(QT_MAEMO_TESTDIR) \
+ -i $(DEB_DESTDIR) -p $(CURDIR)/debian/$(cdbs_curpkg).install ;\
+ else \
+ $(QT_MAEMO_TESTDIR)/create_tests_xml -t $(QT_MAEMO_TESTDIR) -c "-style plastique" \
+ -i $(DEB_DESTDIR) -p $(CURDIR)/debian/$(cdbs_curpkg).install ;\
+ fi
+
+common-install-arch::
+ find "$(CURDIR)/bin" -name "host-*" -exec install -p -D {} "$(DEB_DESTDIR)/usr/bin" \;
+ find "$(CURDIR)/bin" -name "native-*" -exec install -p -D {} "$(DEB_DESTDIR)/usr/bin" \;
+
+
+install/libqt4-doc::
+ mkdir -p "$(DEB_DESTDIR)/usr/share/qt4/doc/html/"
+ if [ "x$(BUILD_DOCS)" = "xno" ]; then touch "$(DEB_DESTDIR)/usr/share/qt4/doc/html/BUILT_WITH_NODOCS"; fi
+
+common-build-indep:: debian/stamp-makefile-build-docs
+
+debian/stamp-makefile-build-docs:
+ if [ "x$(BUILD_DOCS)" = "xyes" ]; then $(DEB_MAKE_INVOKE) docs; fi
+ touch $@
+
+binary-predeb/libqt4-dev::
+ sed -i -e 's/#PLATFORM_ARG#/$(TARGET_PLATFORM)/g' debian/$(cdbs_curpkg)/DEBIAN/postinst
+
+# Automatically install lintian overrides, stolen from debian-qt-kde.mk
+$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
+ if test -e debian/$(cdbs_curpkg).lintian; then \
+ install -p -D -m644 debian/$(cdbs_curpkg).lintian \
+ debian/$(cdbs_curpkg)/usr/share/lintian/overrides/$(cdbs_curpkg); \
+ fi
+
+# Generate shlibs local files
+$(patsubst %,binary-fixup/%,$(DEB_ALL_PACKAGES)) :: binary-fixup/%: binary-strip/%
+ if test -e debian/$(cdbs_curpkg)/DEBIAN/shlibs ; then \
+ sed 's/>=[^)]*/= $(CURRENTVERSION)/' debian/$(cdbs_curpkg)/DEBIAN/shlibs >> debian/shlibs.local ;\
+ fi
+
diff --git a/config.profiles/harmattan/source.lintian-overrides b/config.profiles/harmattan/source.lintian-overrides
new file mode 100644
index 0000000..1835a30
--- /dev/null
+++ b/config.profiles/harmattan/source.lintian-overrides
@@ -0,0 +1,5 @@
+qt4-x11 source: changelog-should-mention-nmu
+qt4-x11 source: native-package-with-dash-version
+qt4-x11 source: source-nmu-has-incorrect-version-number
+qt4-x11 source: virtual-package-depends-without-real-package-depends build-depends: libgl-dev
+qt4-x11 source: virtual-package-depends-without-real-package-depends build-depends: libgl1
diff --git a/config.profiles/harmattan/source/format b/config.profiles/harmattan/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/config.profiles/harmattan/source/format
@@ -0,0 +1 @@
+3.0 (native)
diff --git a/config.profiles/harmattan/tests/create_tests_xml b/config.profiles/harmattan/tests/create_tests_xml
new file mode 100755
index 0000000..d6122bc
--- /dev/null
+++ b/config.profiles/harmattan/tests/create_tests_xml
@@ -0,0 +1,174 @@
+#!/bin/sh
+
+#############################################################################
+##
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is the build configuration utility of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## No Commercial Usage
+## This file contains pre-release code and may not be distributed.
+## You may use this file in accordance with the terms and conditions
+## contained in the Technology Preview License Agreement accompanying
+## this package.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## If you have questions regarding the use of this file, please contact
+## Nokia at qt-info@nokia.com.
+##
+##
+##
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+
+set -e
+#set -u
+
+xmlInstallDir="usr/share"
+
+testSuiteHeader="testsuite_header.txt"
+testSuiteFooter="testsuite_footer.txt"
+testSetTemplate="testset.txt"
+
+
+#-------------------------------------------------------------------------------
+#Parameters: $1 the project file where the tests are defined
+#-------------------------------------------------------------------------------
+create_test_xml()
+{
+
+ mkdir -p "$installDir/$xmlInstallDir/$packageName"
+ xmlFile="$installDir/$xmlInstallDir/$packageName/tests.xml"
+
+
+ begin_test_suite $xmlFile
+
+ for testApp in $(< "$installFile"); do
+ if file -i "$installDir/$testApp"|grep -e "application/x-executable" ; then
+ add_test_set "$testApp" "$xmlFile"
+ fi
+ done
+
+ end_test_suite $xmlFile
+
+ echo "$xmlInstallDir/$packageName/tests.xml" >> "$installFile"
+
+}
+
+#-------------------------------------------------------------------------------
+#Parameters: $1 the xml output file'
+#-------------------------------------------------------------------------------
+begin_test_suite()
+{
+ optstr="/<suite/s;name=\"[^\"]*\";name=\"$packageName\";g"
+ template="$templateDir/$testSuiteHeader"
+ runsed $optstr $template > "$1"
+}
+
+#Parameters: $1 the xml output file
+end_test_suite()
+{
+ cat "$templateDir/$testSuiteFooter" >> "$1"
+}
+
+#-------------------------------------------------------------------------------
+#Parameters: $1 the name of the test application
+#Parameters: $2 the xml output file
+#-------------------------------------------------------------------------------
+add_test_set()
+{
+ templateSetFile="$templateDir/$testSetTemplate"
+ testSuiteName=$(basename $1)
+ add_set_name "$testSuiteName" "$templateSetFile" |add_description "$testSuiteName" |add_case_name "$testSuiteName" |add_step "$1" >> "$2"
+}
+
+add_set_name()
+{
+ optstr="/<set/s;name=\"[^\"]*\";name=\"${packageName}_$1\";g"
+ runsed "$optstr" "$2"
+}
+
+add_case_name()
+{
+ optstr="/<case/s;name=\"[^\"]*\";name=\"$1\";g"
+ runsed "$optstr" "$2"
+}
+
+add_description()
+{
+ optstr="s;<description>.*</description>;<description>${packageName}:$1</description>;g"
+ runsed "$optstr" "$2"
+}
+
+add_step()
+{
+ if [ -n "$testCliOptions" ]; then
+ optstr="s;<step>.*</step>;<step>$1 $testCliOptions</step>;g"
+ else
+ optstr="s;<step>.*</step>;<step>$1</step>;g"
+ fi
+ runsed "$optstr" "$2"
+}
+
+runsed()
+{
+ sedopt=$(echo $1)
+ cmd='sed -e "$sedopt" $2'
+ eval $cmd
+}
+
+
+#======= main =========
+
+programName="$0"
+usage="Usage: `basename $programName` -t <template_dir> -d <debian_dir> \
+-i <dir_where_tests_will_be_installed> <project_files>"
+
+if [ $# -le 0 ]; then
+ echo "$usage" 1>&2
+ exit 1
+fi
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -t) templateDir=$(cd "$2"; pwd)
+ shift
+ ;;
+ -i) installDir=$(cd "$2"; pwd)
+ shift
+ ;;
+ -p) installFile="$2"
+ packageName=$(basename "$installFile" ".install")
+ shift
+ ;;
+ -c) testCliOptions="$2"
+ shift
+ ;;
+ *) projFileList="$projFileList $1";;
+ esac
+ shift
+done
+
+
+create_test_xml
diff --git a/config.profiles/harmattan/tests/libqt4-gui-tests.pro b/config.profiles/harmattan/tests/libqt4-gui-tests.pro
new file mode 100644
index 0000000..d00f139
--- /dev/null
+++ b/config.profiles/harmattan/tests/libqt4-gui-tests.pro
@@ -0,0 +1,64 @@
+#Staging tests for gui
+TEMPLATE = subdirs
+
+SUBDIRS += modeltest \
+ qabstractbutton \
+ qabstractitemmodel \
+ qabstractprintdialog \
+ qabstractproxymodel \
+ qabstractslider \
+ qabstractspinbox \
+ qabstracttextdocumentlayout \
+ qabstractvideobuffer \
+ qabstractvideosurface \
+ qaction \
+ qfileiconprovider \
+ qfocusframe \
+ qfont \
+ qfontmetrics \
+ qformlayout \
+ qgraphicslayout \
+ qnetworkcachemetadata \
+ qpaintengine \
+ qpalette \
+ qparallelanimationgroup \
+ qpauseanimation \
+ qpicture \
+ qplaintextedit \
+ qpointer \
+ qprinterinfo \
+ qprogressbar \
+ qprogressdialog \
+ qpropertyanimation \
+ qradiobutton \
+ qregexpvalidator \
+ qscriptenginedebugger \
+ qscrollarea \
+ qscrollbar \
+ qsharedpointer_and_qwidget \
+ qsignalmapper \
+ qslider \
+ qsortfilterproxymodel \
+ qspinbox \
+ qstackedlayout \
+ qstackedwidget \
+ qstandarditem \
+ qstandarditemmodel \
+ qstatemachine \
+ qstringlistmodel \
+ qstyleoption \
+ qsyntaxhighlighter \
+ qtextblock \
+ qtextcursor \
+ qtextformat \
+ qtextlist \
+ qtextobject \
+ qtextscriptengine \
+ qtexttable \
+ qtoolbox \
+ qtoolbutton \
+ qtreewidgetitemiterator \
+ qundogroup \
+ qundostack \
+ qvideosurfaceformat \
+ qwidgetaction
diff --git a/config.profiles/harmattan/tests/maemo_tests.prf b/config.profiles/harmattan/tests/maemo_tests.prf
new file mode 100644
index 0000000..1b87781
--- /dev/null
+++ b/config.profiles/harmattan/tests/maemo_tests.prf
@@ -0,0 +1,57 @@
+#############################################################################
+##
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is the build configuration utility of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## No Commercial Usage
+## This file contains pre-release code and may not be distributed.
+## You may use this file in accordance with the terms and conditions
+## contained in the Technology Preview License Agreement accompanying
+## this package.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## If you have questions regarding the use of this file, please contact
+## Nokia at qt-info@nokia.com.
+##
+##
+##
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+load(qttest_p4)
+
+installtests.CONFIG = recursive
+!contains(TEMPLATE, subdirs): for(install_set, INSTALLS) {
+ contains(install_set, target) {
+ installtests.commands += echo $${target.path}/$${TARGET} >> \$(QTM_TEST_INSTALL_FILE) ;
+ } else {
+ install_set_path=$$member($${install_set}.path)
+ installtests.commands += echo $${install_set_path} >> \$(QTM_TEST_INSTALL_FILE) ;
+ }
+}
+
+QMAKE_EXTRA_TARGETS += installtests
+
+DEFINES -= $$find(DEFINES, SRCDIR.*)
+DEFINES += SRCDIR=\\\"$${target.path}\\\"
diff --git a/config.profiles/harmattan/tests/qt4-acceptance-tests.pro b/config.profiles/harmattan/tests/qt4-acceptance-tests.pro
new file mode 100644
index 0000000..4549f7a
--- /dev/null
+++ b/config.profiles/harmattan/tests/qt4-acceptance-tests.pro
@@ -0,0 +1,6 @@
+#Acceptance tests
+TEMPLATE = subdirs
+SUBDIRS += qdbusconnection \
+ qhash \
+ qlist \
+ qmap
diff --git a/config.profiles/harmattan/tests/qt4-maemo-auto-tests.pro b/config.profiles/harmattan/tests/qt4-maemo-auto-tests.pro
new file mode 100644
index 0000000..bd218f5
--- /dev/null
+++ b/config.profiles/harmattan/tests/qt4-maemo-auto-tests.pro
@@ -0,0 +1,44 @@
+#Staging tests that require no data or style ibfo
+TEMPLATE = subdirs
+SUBDIRS += qdbusabstractadaptor \
+ qdbusabstractinterface \
+ qdbuscontext \
+ qdbusinterface \
+ qdbuslocalcalls \
+ qdbusmetaobject \
+ qdbusmetatype \
+ qdbuspendingcall \
+ qdbuspendingreply \
+ qdbusreply \
+ qdbusservicewatcher \
+ qdbusthreading \
+ qdbusxmlparser \
+ qdebug \
+ qeventloop \
+ qmutexlocker \
+ qnetworkaddressentry \
+ qnetworkproxy \
+ qnetworkrequest \
+ qnetworkcookie \
+ qnetworkcookiejar \
+ qobjectrace \
+ qpainterpathstroker \
+ qpen \
+ qpoint \
+ qpolygon \
+ qquaternion \
+ qqueue \
+ qrand \
+ qreadlocker \
+ qreadwritelock \
+ qrect \
+ qringbuffer \
+ qscopedpointer \
+ qscriptclass \
+ qscriptcontextinfo \
+ qscriptstring \
+ qscriptvalueiterator \
+ qsequentialanimationgroup \
+ qset \
+ qwaitcondition
+
diff --git a/config.profiles/harmattan/tests/tests.xml b/config.profiles/harmattan/tests/tests.xml
new file mode 100644
index 0000000..e276bfa
--- /dev/null
+++ b/config.profiles/harmattan/tests/tests.xml
@@ -0,0 +1,320 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<testdefinition version="1.0">
+ <suite domain="Application framework" level="Component" name="qt4-acceptance-tests" type="Functional">
+ <description />
+ <set feature="qt" level="Component" name="acceptance_tst_qhash" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash</description>
+ <case level="Component" name="tst_qhash-insert1" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:insert1</description>
+ <step>/usr/tests/qt4/tst_qhash insert1</step>
+ </case>
+ <case level="Component" name="tst_qhash-erase" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:erase</description>
+ <step>/usr/tests/qt4/tst_qhash erase</step>
+ </case>
+ <case level="Component" name="tst_qhash-key" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:key</description>
+ <step>/usr/tests/qt4/tst_qhash key</step>
+ </case>
+ <case level="Component" name="tst_qhash-count" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:count</description>
+ <step>/usr/tests/qt4/tst_qhash count</step>
+ </case>
+ <case level="Component" name="tst_qhash-clear" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:clear</description>
+ <step>/usr/tests/qt4/tst_qhash clear</step>
+ </case>
+ <case level="Component" name="tst_qhash-empty" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:empty</description>
+ <step>/usr/tests/qt4/tst_qhash empty</step>
+ </case>
+ <case level="Component" name="tst_qhash-find" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:find</description>
+ <step>/usr/tests/qt4/tst_qhash find</step>
+ </case>
+ <case level="Component" name="tst_qhash-constFind" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:constFind</description>
+ <step>/usr/tests/qt4/tst_qhash constFind</step>
+ </case>
+ <case level="Component" name="tst_qhash-contains" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:contains</description>
+ <step>/usr/tests/qt4/tst_qhash contains</step>
+ </case>
+ <case level="Component" name="tst_qhash-take" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:take</description>
+ <step>/usr/tests/qt4/tst_qhash take</step>
+ </case>
+ <case level="Component" name="tst_qhash-operator_eq" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:operator_eq</description>
+ <step>/usr/tests/qt4/tst_qhash operator_eq</step>
+ </case>
+ <case level="Component" name="tst_qhash-rehash_isnt_quadratic" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:rehash_isnt_quadratic</description>
+ <step>/usr/tests/qt4/tst_qhash rehash_isnt_quadratic</step>
+ </case>
+ <case level="Component" name="tst_qhash-dont_need_default_constructor" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:dont_need_default_constructor</description>
+ <step>/usr/tests/qt4/tst_qhash dont_need_default_constructor</step>
+ </case>
+ <case level="Component" name="tst_qhash-qhash" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:qhash</description>
+ <step>/usr/tests/qt4/tst_qhash qhash</step>
+ </case>
+ <case level="Component" name="tst_qhash-qmultihash_specific" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:qmultihash_specific</description>
+ <step>/usr/tests/qt4/tst_qhash qmultihash_specific</step>
+ </case>
+ <case level="Component" name="tst_qhash-compare" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:compare</description>
+ <step>/usr/tests/qt4/tst_qhash compare</step>
+ </case>
+ <case level="Component" name="tst_qhash-compare2" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:compare2</description>
+ <step>/usr/tests/qt4/tst_qhash compare2</step>
+ </case>
+ <case level="Component" name="tst_qhash-iterators" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:iterators</description>
+ <step>/usr/tests/qt4/tst_qhash iterators</step>
+ </case>
+ <case level="Component" name="tst_qhash-keys_values_uniqueKeys" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:keys_values_uniqueKeys</description>
+ <step>/usr/tests/qt4/tst_qhash keys_values_uniqueKeys</step>
+ </case>
+ <case level="Component" name="tst_qhash-noNeedlessRehashes" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:noNeedlessRehashes</description>
+ <step>/usr/tests/qt4/tst_qhash noNeedlessRehashes</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qdbusconnection" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection</description>
+ <case level="Component" name="tst_qdbusconnection-noConnection" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:noConnection</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection noConnection</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-connectToBus" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:connectToBus</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection connectToBus</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-connect" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:connect</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection connect</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-send" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:send</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection send</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-sendAsync" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:sendAsync</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection sendAsync</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-sendSignal" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:sendSignal</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection sendSignal</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-registerObject" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:registerObject</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection registerObject</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-registerObject2" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:registerObject2</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection registerObject2</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-registerQObjectChildren" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:registerQObjectChildren</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection registerQObjectChildren</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-callSelf" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:callSelf</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection callSelf</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-callSelfByAnotherName" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:callSelfByAnotherName</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection callSelfByAnotherName</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-multipleInterfacesInQObject" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:multipleInterfacesInQObject</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection multipleInterfacesInQObject</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-slotsWithLessParameters" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:slotsWithLessParameters</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection slotsWithLessParameters</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qaction" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction</description>
+ <case level="Component" name="tst_qaction-getSetCheck" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:getSetCheck</description>
+ <step>/usr/tests/qt4/tst_qaction getSetCheck</step>
+ </case>
+ <case level="Component" name="tst_qaction-setText" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:setText</description>
+ <step>/usr/tests/qt4/tst_qaction setText</step>
+ </case>
+ <case level="Component" name="tst_qaction-setIconText" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:setIconText</description>
+ <step>/usr/tests/qt4/tst_qaction setIconText</step>
+ </case>
+ <case level="Component" name="tst_qaction-actionEvent" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:actionEvent</description>
+ <step>/usr/tests/qt4/tst_qaction actionEvent</step>
+ </case>
+ <case level="Component" name="tst_qaction-setStandardKeys" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:setStandardKeys</description>
+ <step>/usr/tests/qt4/tst_qaction setStandardKeys</step>
+ </case>
+ <case level="Component" name="tst_qaction-alternateShortcuts" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:alternateShortcuts</description>
+ <step>/usr/tests/qt4/tst_qaction alternateShortcuts</step>
+ </case>
+ <case level="Component" name="tst_qaction-enabledVisibleInteraction" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:enabledVisibleInteraction</description>
+ <step>/usr/tests/qt4/tst_qaction enabledVisibleInteraction</step>
+ </case>
+ <case level="Component" name="tst_qaction-task200823_tooltip" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:task200823_tooltip</description>
+ <step>/usr/tests/qt4/tst_qaction task200823_tooltip</step>
+ </case>
+ <case level="Component" name="tst_qaction-task229128TriggeredSignalWithoutActiongroup" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:task229128TriggeredSignalWithoutActiongroup</description>
+ <step>/usr/tests/qt4/tst_qaction task229128TriggeredSignalWithoutActiongroup</step>
+ </case>
+ <case level="Component" name="tst_qaction-task229128TriggeredSignalWhenInActiongroup" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:task229128TriggeredSignalWhenInActiongroup</description>
+ <step>/usr/tests/qt4/tst_qaction task229128TriggeredSignalWhenInActiongroup</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qlist" type="Functional">
+ <description>qt4-acceptance-tests:tst_qlist</description>
+ <case level="Component" name="tst_qlist-length" type="Functional">
+ <description>qt4-acceptance-tests:tst_qlist:length</description>
+ <step>/usr/tests/qt4/tst_qlist length</step>
+ </case>
+ <case level="Component" name="tst_qlist-lengthSignature" type="Functional">
+ <description>qt4-acceptance-tests:tst_qlist:lengthSignature</description>
+ <step>/usr/tests/qt4/tst_qlist lengthSignature</step>
+ </case>
+ <case level="Component" name="tst_qlist-append" type="Functional">
+ <description>qt4-acceptance-tests:tst_qlist:append</description>
+ <step>/usr/tests/qt4/tst_qlist append</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qgraphicslayout" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout</description>
+ <case level="Component" name="tst_qgraphicslayout-sizeHints" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:sizeHints</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout sizeHints</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-compressLayoutRequest" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:compressLayoutRequest</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout compressLayoutRequest</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-automaticReparenting" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:automaticReparenting</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout automaticReparenting</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-verifyActivate" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:verifyActivate</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout verifyActivate</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-constructors" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:constructors</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout constructors</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-alternativeLayoutItems" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:alternativeLayoutItems</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout alternativeLayoutItems</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-ownership" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:ownership</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout ownership</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qmap" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap</description>
+ <case level="Component" name="tst_qmap-count" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:count</description>
+ <step>/usr/tests/qt4/tst_qmap count</step>
+ </case>
+ <case level="Component" name="tst_qmap-clear" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:clear</description>
+ <step>/usr/tests/qt4/tst_qmap clear</step>
+ </case>
+ <case level="Component" name="tst_qmap-beginEnd" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:beginEnd</description>
+ <step>/usr/tests/qt4/tst_qmap beginEnd</step>
+ </case>
+ <case level="Component" name="tst_qmap-key" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:key</description>
+ <step>/usr/tests/qt4/tst_qmap key</step>
+ </case>
+ <case level="Component" name="tst_qmap-operator_eq" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:operator_eq</description>
+ <step>/usr/tests/qt4/tst_qmap operator_eq</step>
+ </case>
+ <case level="Component" name="tst_qmap-empty" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:empty</description>
+ <step>/usr/tests/qt4/tst_qmap empty</step>
+ </case>
+ <case level="Component" name="tst_qmap-contains" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:contains</description>
+ <step>/usr/tests/qt4/tst_qmap contains</step>
+ </case>
+ <case level="Component" name="tst_qmap-find" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:find</description>
+ <step>/usr/tests/qt4/tst_qmap find</step>
+ </case>
+ <case level="Component" name="tst_qmap-constFind" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:constFind</description>
+ <step>/usr/tests/qt4/tst_qmap constFind</step>
+ </case>
+ <case level="Component" name="tst_qmap-lowerUpperBound" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:lowerUpperBound</description>
+ <step>/usr/tests/qt4/tst_qmap lowerUpperBound</step>
+ </case>
+ <case level="Component" name="tst_qmap-mergeCompare" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:mergeCompare</description>
+ <step>/usr/tests/qt4/tst_qmap mergeCompare</step>
+ </case>
+ <case level="Component" name="tst_qmap-take" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:take</description>
+ <step>/usr/tests/qt4/tst_qmap take</step>
+ </case>
+ <case level="Component" name="tst_qmap-iterators" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:iterators</description>
+ <step>/usr/tests/qt4/tst_qmap iterators</step>
+ </case>
+ <case level="Component" name="tst_qmap-keys_values_uniqueKeys" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:keys_values_uniqueKeys</description>
+ <step>/usr/tests/qt4/tst_qmap keys_values_uniqueKeys</step>
+ </case>
+ <case level="Component" name="tst_qmap-qmultimap_specific" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:qmultimap_specific</description>
+ <step>/usr/tests/qt4/tst_qmap qmultimap_specific</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ </suite>
+</testdefinition>
diff --git a/config.profiles/harmattan/tests/testset.txt b/config.profiles/harmattan/tests/testset.txt
new file mode 100644
index 0000000..62de93d
--- /dev/null
+++ b/config.profiles/harmattan/tests/testset.txt
@@ -0,0 +1,11 @@
+ <set feature="qt" level="Component" name="##Package-name_test_name##" type="Functional">
+ <description>##Package-name:test_name##</description>
+ <case level="Component" name="##tst_foo##" type="Functional">
+ <description>##Package-name:test_name##</description>
+ <step>##/usr/tests/qtm/tst_foo##</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
diff --git a/config.profiles/harmattan/tests/testsuite_footer.txt b/config.profiles/harmattan/tests/testsuite_footer.txt
new file mode 100644
index 0000000..8c71c93
--- /dev/null
+++ b/config.profiles/harmattan/tests/testsuite_footer.txt
@@ -0,0 +1,2 @@
+ </suite>
+</testdefinition>
diff --git a/config.profiles/harmattan/tests/testsuite_header.txt b/config.profiles/harmattan/tests/testsuite_header.txt
new file mode 100644
index 0000000..4c57f76
--- /dev/null
+++ b/config.profiles/harmattan/tests/testsuite_header.txt
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<testdefinition version="1.0">
+ <suite domain="Application framework" level="Component" name="##Add your name here##" type="Functional">
+ <description />