Copy all Radio presets onto the target
[AGL/meta-agl-demo.git] / recipes-demo-hmi / CES2017-demo / CES2017-demo.bb
1 SUMMARY     = "App Launcher for the AGL Demonstrator @ CES2017"
2 DESCRIPTION = "App Lanucher app in QML format for the AGL Demonstrator @ CESS2017"
3 HOMEPAGE    = "https://git.automotivelinux.org/gerrit/#/admin/projects/AGL/DemoApps/CES2017"
4 LICENSE     = "MPL-2.0"
5 SECTION     = "apps"
6 PV          = "1.0+git${SRCPV}"
7 S           = "${WORKDIR}/git/"
8 PN          = "ces2017-demo"
9
10 inherit qmake5
11 DEPENDS = "homescreen zip-native qtmultimedia qtquickcontrols2"
12
13 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=815ca599c9df247a0c7f619bab123dad"
14
15 # ALS, CES, FOSDEM available
16 AGL_RADIO_PRESETS_LOCALE ?= "CES"
17
18 SRC_URI     = "git://gerrit.automotivelinux.org/gerrit/AGL/DemoApps/CES2017;protocol=http \
19                file://presets-ALS.conf \
20                file://presets-CES.conf \
21                file://presets-FOSDEM.conf \
22 "
23 SRCREV      = "${AUTOREV}"
24
25 RDEPENDS_${PN} += " \
26     qtmultimedia-qmlplugins \
27     qtmultimedia-rtlfm-radio-plugin \
28     qtquickcontrols-qmlplugins \
29     qtquickcontrols2-qmlplugins \
30     qtsvg-plugins \
31     "
32
33 do_install_prepend() {
34     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
35 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"controls\" version=\"0.1\"> \
36   <name>Controls</name> \
37   <content src=\"controls\" type=\"application/x-executable\"/> \
38   <description>Controls app.</description> \
39   <author>Qt</author> \
40   <icon src=\"controls.png\"/> \
41   <license>Apache 2.0</license> \
42 </widget> \
43 " > ${B}/apps/Controls/config.xml
44
45     cd ${B}/apps/Controls/
46     zip controls.wgt config.xml controls
47
48
49
50     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
51 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"dashboard\" version=\"0.1\"> \
52   <name>Dashboard</name> \
53   <content src=\"dashboard\" type=\"application/x-executable\"/> \
54   <description>Dashboard app.</description> \
55   <author>Qt</author> \
56   <icon src=\"dashboard.png\"/> \
57   <license>Apache 2.0</license> \
58 </widget> \
59 " > ${B}/apps/Dashboard/config.xml
60
61     cd ${B}/apps/Dashboard/
62     zip dashboard.wgt config.xml dashboard
63
64
65
66     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
67 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"phone\" version=\"0.1\"> \
68   <name>Phone</name> \
69   <content src=\"phone\" type=\"application/x-executable\"/> \
70   <description>Phone app.</description> \
71   <author>Qt</author> \
72   <icon src=\"phone.png\"/> \
73   <license>Apache 2.0</license> \
74 </widget> \
75 " > ${B}/apps/Phone/config.xml
76
77     cd ${B}/apps/Phone/
78     zip phone.wgt config.xml phone
79
80
81
82     echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \
83 <widget xmlns=\"http://www.w3.org/ns/widgets\" id=\"radio\" version=\"0.1\"> \
84   <name>Radio</name> \
85   <content src=\"radio\" type=\"application/x-executable\"/> \
86   <description>Radio app.</description> \
87   <author>Qt</author> \
88   <icon src=\"radio.png\"/> \
89   <license>Apache 2.0</license> \
90 </widget> \
91 " > ${B}/apps/Radio/config.xml
92
93     cd ${B}/apps/Radio/
94     zip radio.wgt config.xml radio
95
96
97     cat > ${B}/apps/installAllApps.sh <<-EOF
98         #!/bin/sh
99         cd /usr/AGL/apps
100         for file in \`find . -maxdepth 1 -name '*.wgt'\`; do
101
102             /usr/bin/afm-util install \$file
103         done
104         sync
105         
106         #it's Workaround
107         cyad -s -k MANIFESTS -t allow -c User::App::navigation -u '*' -p 'http://tizen.org/privilege/internal/dbus'
108         cyad -s -k MANIFESTS -t allow -c User::App::poi -u '*' -p 'http://tizen.org/privilege/internal/dbus'
109         EOF
110 }
111
112 do_install() {
113     install -d ${D}/usr/AGL/${PN}
114     install -d ${D}/usr/AGL/apps
115     install -m 0644 ${B}/apps/Controls/controls.wgt ${D}/usr/AGL/apps/
116     install -m 0644 ${B}/apps/Dashboard/dashboard.wgt ${D}/usr/AGL/apps/
117     install -m 0644 ${B}/apps/Phone/phone.wgt ${D}/usr/AGL/apps/
118     install -m 0644 ${B}/apps/Radio/radio.wgt ${D}/usr/AGL/apps/
119     install -d ${D}/home/root/app-data/radio
120     install -m 0644 ${WORKDIR}/presets-CES.conf ${D}/home/root/app-data/radio/
121     install -m 0644 ${WORKDIR}/presets-ALS.conf ${D}/home/root/app-data/radio/
122     install -m 0644 ${WORKDIR}/presets-FOSDEM.conf ${D}/home/root/app-data/radio/
123     install -m 0644 ${WORKDIR}/presets-${AGL_RADIO_PRESETS_LOCALE}.conf ${D}/home/root/app-data/radio/presets.conf
124
125     install -m 0755 ${B}/apps/installAllApps.sh ${D}/usr/AGL/apps/
126     ln -sf            ../apps/installAllApps.sh ${D}/usr/AGL/${PN}/installAllApps.sh
127
128     install -d ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
129     install -m 0644 ${S}/imports/AGL/Demo/Controls/qmldir ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
130     install -m 0644 ${S}/imports/AGL/Demo/Controls/ImageButton.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
131     install -m 0644 ${S}/imports/AGL/Demo/Controls/ToggleButton.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
132     install -m 0644 ${S}/imports/AGL/Demo/Controls/Key.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
133     install -m 0644 ${S}/imports/AGL/Demo/Controls/AbstractKeyboard.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
134     install -m 0644 ${S}/imports/AGL/Demo/Controls/Symbols.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
135     install -m 0644 ${S}/imports/AGL/Demo/Controls/Alphabet.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
136     install -m 0644 ${S}/imports/AGL/Demo/Controls/Keyboard.qml ${D}${libdir}/qt5/qml/AGL/Demo/Controls/
137     install -d ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
138     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Back.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
139     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Shift.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
140     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Space.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
141     install -m 0644 ${S}/imports/AGL/Demo/Controls/images/Keyboard_Arrow.svg ${D}${libdir}/qt5/qml/AGL/Demo/Controls/images/
142
143     install -d ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL
144     install -m 0644 ${S}/imports/qtquickcontrols2aglstyle/*.qml ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL
145
146     install -d ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL/images/
147     install -m 0644 ${S}/imports/qtquickcontrols2aglstyle/images/* ${D}${libdir}/qt5/qml/QtQuick/Controls.2/AGL/images/
148 }
149
150 # plain copy in own folder for now
151 #do_install() {
152 #    mkdir -p ${D}/usr/AGL/CES2017/
153 #    cp -rf ./* ${D}/usr/AGL/CES2017/
154 #}
155
156 FILES_${PN} += "/usr/AGL/ \
157         /usr/AGL/apps/* \
158         /usr/AGL/${PN}/* \
159         /home/root/app-data/radio/presets-*.conf \
160         /home/root/app-data/radio/presets.conf \
161         /usr/lib/qt5/qml/AGL/Demo/Controls/qmldir \
162         /usr/lib/qt5/qml/AGL/Demo/Controls/ImageButton.qml \
163         /usr/lib/qt5/qml/AGL/Demo/Controls/ToggleButton.qml \
164         /usr/lib/qt5/qml/AGL/Demo/Controls/Key.qml \
165         /usr/lib/qt5/qml/AGL/Demo/Controls/AbstractKeyboard.qml \
166         /usr/lib/qt5/qml/AGL/Demo/Controls/Symbols.qml \
167         /usr/lib/qt5/qml/AGL/Demo/Controls/Alphabet.qml \
168         /usr/lib/qt5/qml/AGL/Demo/Controls/Keyboard.qml \
169         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Back.svg \
170         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Shift.svg \
171         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Space.svg \
172         /usr/lib/qt5/qml/AGL/Demo/Controls/images/Keyboard_Arrow.svg \
173         /usr/lib/qt5/qml/QtQuick/Controls.2/AGL \
174         /usr/lib/qt5/qml/QtQuick/Controls.2/AGL/images \
175         "