Merge lp:~fboucault/ubuntu-ui-toolkit/crossbuild_fixes into lp:ubuntu-ui-toolkit/staging

Proposed by Florian Boucault on 2016-07-13
Status: Needs review
Proposed branch: lp:~fboucault/ubuntu-ui-toolkit/crossbuild_fixes
Merge into: lp:ubuntu-ui-toolkit/staging
Diff against target: 190 lines (+34/-7)
11 files modified
debian/control (+2/-1)
debian/control.gles (+2/-1)
debian/qml-module-ubuntu-components-labs.install (+2/-1)
debian/qml-module-ubuntu-components.install (+3/-2)
debian/qml-module-ubuntu-layouts.install (+2/-1)
debian/qml-module-ubuntu-performancemetrics.install (+2/-1)
debian/rules (+5/-0)
features/ubuntu_qml_plugin.prf (+7/-0)
src/Ubuntu/Layouts/LayoutsModule.pro (+2/-0)
src/Ubuntu/Test/TestModule.pro (+2/-0)
ubuntu-sdk.pro (+5/-0)
To merge this branch: bzr merge lp:~fboucault/ubuntu-ui-toolkit/crossbuild_fixes
Reviewer Review Type Date Requested Status
Timo Jyrinki (community) Needs Fixing on 2016-08-17
ubuntu-sdk-build-bot continuous-integration Needs Fixing on 2016-08-17
Zsombor Egri 2016-07-13 Approve on 2016-07-14
Review via email: mp+299920@code.launchpad.net

Commit message

Crossbuilding fixes

Description of the change

Crossbuilding fixes

To post a comment you must log in.
Zsombor Egri (zsombi) wrote :

Looks good, let's get CI passing then we merge.

review: Approve
Andrea Bernabei (faenil) wrote :

will this not create incomplete arm packages? (missing .qmltypes)

It works for development, but if someone starts using it as the official way of building the arm package, then we could get into trouble, right?

Florian Boucault (fboucault) wrote :

in Jenkins, setting up pbuilder a little differently makes it work:

kaleo@tequila:~$ cat .pbuilderrc
PBUILDERSATISFYDEPENDSCMD=/usr/lib/pbuilder/pbuilder-satisfydepends-experimental

Timo Jyrinki (timo-jyrinki) wrote :

The armhf failure is faulty CI, but he i386 gles problem is a real one:

make[2]: Leaving directory '/tmp/buildd/ubuntu-ui-toolkit-gles-1.3.2030+16.10.20160726.2'
make[1]: Leaving directory '/tmp/buildd/ubuntu-ui-toolkit-gles-1.3.2030+16.10.20160726.2'
   dh_install -O--parallel
dh_install: qml-module-ubuntu-components-gles missing files (usr/lib/*/qt5/qml/Ubuntu/Components/Styles/plugins.qmltypes), aborting
debian/rules:19: recipe for target 'binary' failed
make: *** [binary] Error 2

review: Needs Fixing

Unmerged revisions

2045. By Florian Boucault on 2016-07-21

another gles fix

2044. By Florian Boucault on 2016-07-21

Added dh-exec to control.gles too

2043. By Florian Boucault on 2016-07-21

Merged from stagin

2042. By Florian Boucault on 2016-07-14

No change rebuild

2041. By Florian Boucault on 2016-07-14

reorder debian install files

2040. By Florian Boucault on 2016-07-14

reorder debian install files

2039. By Florian Boucault on 2016-07-14

correct packaging order

2038. By Florian Boucault on 2016-07-14

no change commit for rebuild

2037. By Florian Boucault on 2016-07-13

Use dh_exec to conditionally install qmltypes

2036. By Florian Boucault on 2016-07-13

reverted no suggest

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 2016-07-11 10:34:21 +0000
3+++ debian/control 2016-07-21 14:17:09 +0000
4@@ -7,6 +7,7 @@
5 dbus-test-runner,
6 debhelper (>= 9.0.0),
7 devscripts,
8+ dh-exec (>= 0.15),
9 gdb,
10 language-pack-en-base,
11 libdbus-1-dev,
12@@ -53,7 +54,7 @@
13 qtpim5-dev,
14 qtscript5-doc-html,
15 qtsvg5-doc-html,
16- qttools5-dev-tools,
17+ qttools5-dev-tools:native,
18 qtwebkit5-doc-html,
19 suru-icon-theme,
20 unity-action-doc,
21
22=== modified file 'debian/control.gles'
23--- debian/control.gles 2016-07-11 10:38:15 +0000
24+++ debian/control.gles 2016-07-21 14:17:09 +0000
25@@ -7,6 +7,7 @@
26 dbus-test-runner,
27 debhelper (>= 9.0.0),
28 devscripts,
29+ dh-exec (>= 0.15),
30 gdb,
31 language-pack-en-base,
32 libdbus-1-dev,
33@@ -46,7 +47,7 @@
34 qml-module-qtquick-window2,
35 qml-module-qtquick2,
36 qml-module-qttest,
37- qtbase5-dev-tools,
38+ qtbase5-dev-tools:native,
39 qtbase5-gles-dev,
40 qtbase5-private-gles-dev,
41 qtdeclarative5-dev-tools,
42
43=== modified file 'debian/qml-module-ubuntu-components-labs.install' (properties changed: -x to +x)
44--- debian/qml-module-ubuntu-components-labs.install 2016-06-23 13:54:01 +0000
45+++ debian/qml-module-ubuntu-components-labs.install 2016-07-21 14:17:09 +0000
46@@ -1,3 +1,4 @@
47+#!/usr/bin/dh-exec
48+<!cross> usr/lib/*/qt5/qml/Ubuntu/Components/Labs/plugins.qmltypes
49 usr/lib/*/qt5/qml/Ubuntu/Components/Labs/libUbuntuComponentsLabs.so
50-usr/lib/*/qt5/qml/Ubuntu/Components/Labs/plugins.qmltypes
51 usr/lib/*/qt5/qml/Ubuntu/Components/Labs/qmldir
52
53=== modified file 'debian/qml-module-ubuntu-components.install' (properties changed: -x to +x)
54--- debian/qml-module-ubuntu-components.install 2016-06-23 09:13:51 +0000
55+++ debian/qml-module-ubuntu-components.install 2016-07-21 14:17:09 +0000
56@@ -1,3 +1,6 @@
57+#!/usr/bin/dh-exec
58+<!cross> usr/lib/*/qt5/qml/Ubuntu/Components/Styles/plugins.qmltypes
59+<!cross> usr/lib/*/qt5/qml/Ubuntu/Components/plugins.qmltypes
60 usr/lib/*/qt5/qml/Ubuntu/Components/1.0/*.qml
61 usr/lib/*/qt5/qml/Ubuntu/Components/1.1/*.qml
62 usr/lib/*/qt5/qml/Ubuntu/Components/1.2/*.js
63@@ -18,10 +21,8 @@
64 usr/lib/*/qt5/qml/Ubuntu/Components/Styles/1.2/*.qml
65 usr/lib/*/qt5/qml/Ubuntu/Components/Styles/1.3/*.qml
66 usr/lib/*/qt5/qml/Ubuntu/Components/Styles/libUbuntuComponentsStyles.so
67-usr/lib/*/qt5/qml/Ubuntu/Components/Styles/plugins.qmltypes
68 usr/lib/*/qt5/qml/Ubuntu/Components/Styles/qmldir
69 usr/lib/*/qt5/qml/Ubuntu/Components/artwork
70 usr/lib/*/qt5/qml/Ubuntu/Components/libUbuntuComponents.so
71-usr/lib/*/qt5/qml/Ubuntu/Components/plugins.qmltypes
72 usr/lib/*/qt5/qml/Ubuntu/Components/qmldir
73 usr/share/locale/*/LC_MESSAGES/ubuntu-ui-toolkit.mo
74
75=== modified file 'debian/qml-module-ubuntu-layouts.install' (properties changed: -x to +x)
76--- debian/qml-module-ubuntu-layouts.install 2016-03-04 11:58:12 +0000
77+++ debian/qml-module-ubuntu-layouts.install 2016-07-21 14:17:09 +0000
78@@ -1,3 +1,4 @@
79+#!/usr/bin/dh-exec
80+<!cross> usr/lib/*/qt5/qml/Ubuntu/Layouts/plugins.qmltypes
81 usr/lib/*/qt5/qml/Ubuntu/Layouts/libUbuntuLayouts.so
82-usr/lib/*/qt5/qml/Ubuntu/Layouts/plugins.qmltypes
83 usr/lib/*/qt5/qml/Ubuntu/Layouts/qmldir
84
85=== modified file 'debian/qml-module-ubuntu-performancemetrics.install' (properties changed: -x to +x)
86--- debian/qml-module-ubuntu-performancemetrics.install 2016-03-04 11:58:12 +0000
87+++ debian/qml-module-ubuntu-performancemetrics.install 2016-07-21 14:17:09 +0000
88@@ -1,4 +1,5 @@
89+#!/usr/bin/dh-exec
90+<!cross> usr/lib/*/qt5/qml/Ubuntu/PerformanceMetrics/plugins.qmltypes
91 usr/lib/*/qt5/qml/Ubuntu/PerformanceMetrics/*.qml
92 usr/lib/*/qt5/qml/Ubuntu/PerformanceMetrics/libUbuntuPerformanceMetrics.so
93-usr/lib/*/qt5/qml/Ubuntu/PerformanceMetrics/plugins.qmltypes
94 usr/lib/*/qt5/qml/Ubuntu/PerformanceMetrics/qmldir
95
96=== modified file 'debian/rules'
97--- debian/rules 2016-07-07 18:47:22 +0000
98+++ debian/rules 2016-07-21 14:17:09 +0000
99@@ -10,6 +10,11 @@
100 DEB_HOST_MULTI_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)
101 DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
102 DEB_HOST_SERIES ?= $(shell lsb_release -c -s)
103+ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
104+export QT_SELECT=qt5-$(DEB_BUILD_MULTIARCH)-$(DEB_HOST_MULTIARCH)
105+export DEB_BUILD_PROFILES := cross
106+endif
107+export PKG_CONFIG_PATH=/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig
108
109 # Skip tests on the archs they are known to be flaky with current configuration
110 testskip_architectures := powerpc arm64 ppc64el s390x
111
112=== modified file 'features/ubuntu_qml_plugin.prf'
113--- features/ubuntu_qml_plugin.prf 2016-06-17 13:42:23 +0000
114+++ features/ubuntu_qml_plugin.prf 2016-07-21 14:17:09 +0000
115@@ -1,6 +1,11 @@
116 load(qml_plugin)
117 CONFIG -= hide_symbols
118
119+QMAKE_HOST_ARCH=$$QMAKE_HOST.arch
120+!equals(QMAKE_HOST_ARCH, $$QT_ARCH) {
121+ CONFIG += cross_build
122+}
123+
124 load(ubuntu_enable_testing)
125
126 #hacky hacks to build the qmltypes
127@@ -55,6 +60,7 @@
128
129 TARGETPATHBASE = $$replace(TARGETPATH, \\.\\d+\$, )
130
131+ !cross_build {
132 QMLTYPEFILE = $$instbase/$$TARGETPATH/plugins.qmltypes
133 autobld_qmltypes.target = $$QMLTYPEFILE
134 autobld_qmltypes.commands = $$QMLPLUGINDUMP -nonrelocatable $$replace(TARGETPATHBASE, /, .) $$IMPORT_VERSION > $$QMLTYPEFILE
135@@ -69,6 +75,7 @@
136
137 INSTALLS+=autobld_install_qmltypes
138 QMAKE_EXTRA_TARGETS += autobld_qmltypes
139+ }
140 }
141
142 # when building against the system Qt we pick up the CXX_FLAGS for a release build
143
144=== modified file 'src/Ubuntu/Layouts/LayoutsModule.pro'
145--- src/Ubuntu/Layouts/LayoutsModule.pro 2014-11-24 10:39:15 +0000
146+++ src/Ubuntu/Layouts/LayoutsModule.pro 2016-07-21 14:17:09 +0000
147@@ -12,6 +12,7 @@
148 qmldir_file.installPath = $$installPath
149 qmldir_file.files = $$QMLDIR_FILE
150
151+!cross_build {
152 plugins_qmltypes.path = $$installPath
153 plugins_qmltypes.files = plugins.qmltypes
154 # Silence spam on stderr due to fonts
155@@ -22,3 +23,4 @@
156 UBUNTU_QML_MODULE_FILES += qmldir_file
157
158 INSTALLS += plugins_qmltypes
159+}
160
161=== modified file 'src/Ubuntu/Test/TestModule.pro'
162--- src/Ubuntu/Test/TestModule.pro 2014-11-24 10:39:15 +0000
163+++ src/Ubuntu/Test/TestModule.pro 2016-07-21 14:17:09 +0000
164@@ -23,6 +23,7 @@
165
166 UBUNTU_QML_MODULE_FILES += qmldir_file qml_files js_files
167
168+!cross_build {
169 plugins_qmltypes.path = $$installPath
170 plugins_qmltypes.files = plugins.qmltypes
171 # Silence spam on stderr due to fonts
172@@ -31,3 +32,4 @@
173 plugins_qmltypes.extra = $$[QT_INSTALL_BINS]/qmlplugindump -notrelocatable Ubuntu.Test 0.1 ../../ 2>/dev/null > $(INSTALL_ROOT)/$$installPath/plugins.qmltypes
174
175 INSTALLS += plugins_qmltypes
176+}
177
178=== modified file 'ubuntu-sdk.pro'
179--- ubuntu-sdk.pro 2016-06-17 11:26:12 +0000
180+++ ubuntu-sdk.pro 2016-07-21 14:17:09 +0000
181@@ -1,5 +1,10 @@
182 #include( documentation/documentation.pri )
183
184+QMAKE_HOST_ARCH=$$QMAKE_HOST.arch
185+!equals(QMAKE_HOST_ARCH, $$QT_ARCH) {
186+ CONFIG += cross_build
187+}
188+
189 BUILD_PATH_CONTENTS="SRC_DIR=\"$$PWD\"" \
190 "BUILD_DIR=\"$$OUT_PWD\""
191

Subscribers

People subscribed via source and target branches