Merge lp:~timo-jyrinki/ubuntu-ui-toolkit/add_qmlrunner into lp:ubuntu-ui-toolkit

Proposed by Timo Jyrinki
Status: Merged
Approved by: Florian Boucault
Approved revision: 487
Merged at revision: 504
Proposed branch: lp:~timo-jyrinki/ubuntu-ui-toolkit/add_qmlrunner
Merge into: lp:ubuntu-ui-toolkit
Diff against target: 52 lines (+29/-0)
3 files modified
debian/control (+18/-0)
debian/qmlrunner.install (+2/-0)
debian/rules (+9/-0)
To merge this branch: bzr merge lp:~timo-jyrinki/ubuntu-ui-toolkit/add_qmlrunner
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Florian Boucault (community) Needs Fixing
Review via email: mp+162794@code.launchpad.net

Commit message

Offer symlinks for qmlscene via 'qmlrunner' package. See package description for usage instructions. (LP: #1155634)

Description of the change

Offer symlinks for qmlscene via 'qmlrunner' package. See package description for usage instructions. (LP: #1155634)

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Florian Boucault (fboucault) wrote :

from the comment in the bug I thought you would only add a cheap hack: a symlink to qmlscene without writing a custom one. obviously I guess that did not make much sense.

Revision history for this message
Florian Boucault (fboucault) wrote :

1) Author in cpp is incorrect

2) Commented out include should be removed

3) all if/else blocks must have {}, even if they are one liners.

4) #include <QtCore/QLatin1String> seems unused

5) #include #include <QtCore/QByteArray> is missing

6) qmlscene uses a QApplication, not a QGuiApplication

7) QObject::connect(window.engine(), SIGNAL(quit()), qApp, SLOT(quit())); uses qApp even though using the local variable app would be more explicit.

8) This absolutely needs to be revisited as it will slow down the rendering considerably everywhere:
        + // WebKit chokes on threads
 + qputenv("QML_NO_THREADED_RENDERER", QByteArray("1"));

9) That's odd, where did we have a similar hack before?
 + // Ensure that QWebProcess will be found
 + qputenv("PATH", qgetenv("PATH") + ":/opt/qt5/bin");

review: Needs Fixing
Revision history for this message
Florian Boucault (fboucault) wrote :

10) No need to call setQuitOnLastWindowClosed(true) as the default value is true:
http://qt-project.org/doc/qt-5.0/qtgui/qguiapplication.html#quitOnLastWindowClosed-prop

review: Needs Fixing
Revision history for this message
Florian Boucault (fboucault) wrote :

Have you tested apps that use qmlscene on the device?

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Florian: Ok, I thought this was yours, as Zoltan added it without copyright information.

In other news, I'm not sure why the new binary was wanted in the first place. The symlinks qmlscene (conflicting with qtchooser) and qml, depending on the real qmlscene would work as well - just no need to install qt5-default or qtchooser on the device.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Offering the symlink only solution now.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Florian Boucault (fboucault) wrote :

As per the bug report, the binary was _not_ wanted other than to make sure qtbase5-dev is _not_ part of the Ubuntu Touch image.
This looks much better now.

Revision history for this message
Florian Boucault (fboucault) wrote :

Have you tested apps that use qmlscene on the device?

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

I've now removed qtchooser and qt5-default on the device and installed qmlrunner in place. Everything seems to continue working normally after a reboot. I also manually launched "qmlscene /usr/lib/ubuntu-ui-toolkit/examples/ubuntu-ui-toolkit-gallery/ubuntu-ui-toolkit-gallery.qml" via ssh, since I wasn't sure which of the apps are using qmlscene.

Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/control'
2--- debian/control 2013-05-07 15:55:52 +0000
3+++ debian/control 2013-05-08 05:58:27 +0000
4@@ -105,3 +105,21 @@
5 ubuntu-ui-toolkit-examples (>= ${source:Version}),
6 Description: Test package for Ubuntu UI Toolkit
7 Autopilot tests for the ubuntu-ui-toolkit package
8+
9+Package: qmlrunner
10+Architecture: any
11+Depends: qmlscene
12+Conflicts: qtchooser
13+Description: Simple QML Scene symlink provider
14+ A simple qmlscene symlink provider. Depend on this package instead of
15+ qtchooser/qt5-default/qmlscene in the following way:
16+ .
17+ Depends: qmlrunner | qtchooser
18+ .
19+ The conditional dependency allows either having just qmlrunner installed,
20+ or having for example full ubuntu-sdk (and qt5-default/qtchooser).
21+ .
22+ This package will be eventually replaced by upstream 'qml' tool, so
23+ it is encouraged to use the '/usr/bin/qml' symlink already which is also
24+ provided by this package.
25+
26
27=== added file 'debian/qmlrunner.install'
28--- debian/qmlrunner.install 1970-01-01 00:00:00 +0000
29+++ debian/qmlrunner.install 2013-05-08 05:58:27 +0000
30@@ -0,0 +1,2 @@
31+usr/bin/qml
32+usr/bin/qmlscene
33
34=== modified file 'debian/rules'
35--- debian/rules 2013-05-05 18:10:47 +0000
36+++ debian/rules 2013-05-08 05:58:27 +0000
37@@ -7,6 +7,15 @@
38 %:
39 dh $@ --fail-missing
40
41+override_dh_auto_install:
42+ dh_auto_install
43+ # Temporary hacks until proper upstream binary installed
44+ # Provide both legacy qmlscene and future qml links
45+ # -> users may update to use the 'qml' name
46+ mkdir -p $(CURDIR)/debian/tmp/usr/bin
47+ ln -s /usr/lib/*/qt5/bin/qmlscene $(CURDIR)/debian/tmp/usr/bin/qml
48+ ln -s /usr/lib/*/qt5/bin/qmlscene $(CURDIR)/debian/tmp/usr/bin/qmlscene
49+
50 override_dh_install:
51 dh_auto_build -- docs
52 mkdir -p debian/tmp/`qmake -query QT_INSTALL_DOCS`/qch

Subscribers

People subscribed via source and target branches

to status/vote changes: