Merge lp:~roadmr/checkbox/packaging-checkbox-gui-arch-support into lp:~checkbox-dev/checkbox/checkbox-packaging

Proposed by Daniel Manrique on 2014-02-13
Status: Merged
Approved by: Sylvain Pineau on 2014-02-13
Approved revision: 63
Merged at revision: 63
Proposed branch: lp:~roadmr/checkbox/packaging-checkbox-gui-arch-support
Merge into: lp:~checkbox-dev/checkbox/checkbox-packaging
Diff against target: 111 lines (+27/-9)
3 files modified
debian/changelog (+7/-0)
debian/control (+8/-8)
debian/rules (+12/-1)
To merge this branch: bzr merge lp:~roadmr/checkbox/packaging-checkbox-gui-arch-support
Reviewer Review Type Date Requested Status
Sylvain Pineau 2014-02-13 Approve on 2014-02-13
Review via email: mp+206216@code.launchpad.net

Commit message

uild checkbox-gui only on supported architectures (i386, amd64, armhf).

The reason the others are unsupported is that the qt5declarative set of
packages depends on the v8 javascript engine which is unavailable for those
architectures. If/when this dependency becomes available we can either remove
these restrictions or leave the supported arch list "empty".

Description of the change

Build checkbox-gui only on supported architectures (i386, amd64, armhf).

The reason the others are unsupported is that the qt5declarative set of
packages depends on the v8 javascript engine which is unavailable for those
architectures. If/when this dependency becomes available we can either remove
these restrictions or leave the supported arch list "empty".

To post a comment you must log in.
Sylvain Pineau (sylvain-pineau) wrote :

+1 for me.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2014-02-12 20:11:56 +0000
3+++ debian/changelog 2014-02-13 16:06:36 +0000
4@@ -15,6 +15,13 @@
5 * Removed build dependencies on qt{multimedia,sensors}5-dev as they're not
6 actually needed.
7 * Minor rearranging of checkbox-gui dependencies.
8+ * Ignore some build-depends on a few architectures where they're
9+ unavailable.
10+ * Declare specific architectures for which the checkbox-gui binary package
11+ can be built.
12+ * Make rules file conditionally build, install and package checkbox-gui
13+ files only on supported archs.
14+
15
16 -- Zygmunt Krynicki <zygmunt.krynicki@canonical.com> Tue, 28 Jan 2014 03:15:31 +0100
17
18
19=== modified file 'debian/control'
20--- debian/control 2014-02-12 20:11:56 +0000
21+++ debian/control 2014-02-13 16:06:36 +0000
22@@ -9,11 +9,11 @@
23 dh-translations,
24 libnl-genl-3-dev,
25 libqt4-dev,
26- libqt5qml-graphicaleffects,
27+ libqt5qml-graphicaleffects [!arm64 !powerpc !ppc64el],
28 libqt5sql5-sqlite,
29 libqt5svg5-dev,
30- libqt5v8-5-dev,
31- libqt5webkit5-dev,
32+ libqt5v8-5-dev [!arm64 !powerpc !ppc64el],
33+ libqt5webkit5-dev [!arm64 !powerpc !ppc64el],
34 libqt5xmlpatterns5-dev,
35 po-debconf,
36 python,
37@@ -28,13 +28,13 @@
38 python3-requests ( >= 1.0),
39 python3-setuptools,
40 python3-sphinx,
41- qt3d5-dev,
42+ qt3d5-dev [!arm64 !powerpc !ppc64el],
43 qt4-qmake,
44 qt5-default,
45 qtbase5-dev,
46- qtdeclarative5-dev,
47- qtdeclarative5-dev-tools,
48- qtlocation5-dev,
49+ qtdeclarative5-dev [!arm64 !powerpc !ppc64el],
50+ qtdeclarative5-dev-tools [!arm64 !powerpc !ppc64el],
51+ qtlocation5-dev [!arm64 !powerpc !ppc64el],
52 qtscript5-dev,
53 qttools5-dev,
54 qttools5-dev-tools
55@@ -426,7 +426,7 @@
56 checkbox-certification-server
57
58 Package: checkbox-gui
59-Architecture: any
60+Architecture: i386 armhf amd64
61 Depends: checkbox-ng-service,
62 plainbox-provider-checkbox,
63 qtdeclarative5-localstorage-plugin,
64
65=== modified file 'debian/rules'
66--- debian/rules 2013-12-13 18:12:06 +0000
67+++ debian/rules 2014-02-13 16:06:36 +0000
68@@ -7,7 +7,9 @@
69
70 REL_NO := $(shell lsb_release -rs)
71 RELEASE_GTE_RARING := $(shell expr $(REL_NO) \>= 13.04)
72-
73+# The checkbox-gui binary only makes sense to build for the following
74+# architectures.
75+GUI_ARCHS := amd64 armhf i386
76 %:
77 dh "$@" --with python3,sphinxdoc,translations
78
79@@ -35,7 +37,12 @@
80 echo "from unittest.mock import *" > $(CURDIR)/plainbox/plainbox/vendor/mock.py
81 dh_quilt_patch
82 endif
83+ifneq (,$(findstring $(DEB_BUILD_ARCH), $(GUI_ARCHS)))
84 cd $(CURDIR)/checkbox-gui && qmake PREFIX=/usr && make
85+ $(warning NOTICE: Building GUI on supported architecture)
86+else
87+ $(warning NOTICE: NOT building GUI on unsupported architecture)
88+endif
89 python3 setup.py build
90
91 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
92@@ -55,7 +62,9 @@
93 python3 setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb
94 mkdir -p $(CURDIR)/debian/tmp/usr/lib/checkbox/bin/
95 cp -R $(CURDIR)/debian/tmp/usr/share/checkbox/scripts/* $(CURDIR)/debian/tmp/usr/lib/checkbox/bin/
96+ifneq (,$(findstring $(DEB_BUILD_ARCH), $(GUI_ARCHS)))
97 cd $(CURDIR)/checkbox-gui && make INSTALL_ROOT=$(CURDIR)/debian/tmp install
98+endif
99 dh_install
100
101 override_dh_installdocs:
102@@ -73,7 +82,9 @@
103 # dh_python3 runs automatically on packages with the python3- prefix
104 # let's not forget plainbox
105 dh_python3 --package=plainbox
106+ifneq (,$(findstring $(DEB_BUILD_ARCH), $(GUI_ARCHS)))
107 dh_python3 --no-package=checkbox-gui
108+endif
109
110 override_dh_installdeb:
111 cp debian/checkbox.postrm debian/checkbox-cli.postrm

Subscribers

People subscribed via source and target branches