summaryrefslogtreecommitdiffstats
path: root/meta-app-framework/classes/aglwgt.bbclass
diff options
context:
space:
mode:
authorStephane Desneux <stephane.desneux@iot.bzh>2017-03-27 16:44:59 +0200
committerStephane Desneux <stephane.desneux@iot.bzh>2017-03-27 16:46:17 +0200
commit7fcf42ba21c2a00a60f32140924fefc3cc39ad28 (patch)
tree49b2eaa11dd2c241dd7fe77b74b7ced1ac1d1d81 /meta-app-framework/classes/aglwgt.bbclass
parent5875cc45a671b1a3e7671ec84ec6ebb1ab17696a (diff)
parent976e5d5e866d4099e55a50e0fa8d898ea36ad371 (diff)
Merge: migrate appfw from meta-agl-extra
Change-Id: Ic56b86228bb748a54352e79acadf0da1c947be76 Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Diffstat (limited to 'meta-app-framework/classes/aglwgt.bbclass')
-rw-r--r--meta-app-framework/classes/aglwgt.bbclass61
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-app-framework/classes/aglwgt.bbclass b/meta-app-framework/classes/aglwgt.bbclass
new file mode 100644
index 000000000..afe9a5516
--- /dev/null
+++ b/meta-app-framework/classes/aglwgt.bbclass
@@ -0,0 +1,61 @@
+#
+# aglwgt bbclass
+#
+# Jan-Simon Moeller, jsmoeller@linuxfoundation.org
+#
+# This class expects a "make package" target in the makefile
+# which creates the wgt files in the package/ subfolder.
+# The makefile needs to use wgtpkg-pack.
+#
+
+
+# 'wgtpkg-pack' in af-main-native is required.
+DEPENDS_append = " af-main-native"
+
+# for bindings af-binder is required.
+DEPENDS_append = " af-binder"
+
+do_aglwgt_package() {
+ cd ${B}
+ make package || ( \
+ bbwarn "Your makefile must support the 'make package' target" ; \
+ bbwarn "and generate a .wgt file using wgtpack in the"; \
+ bbwarn "subfolder ./package/ !" ; \
+ bbwarn "Fix your package as it will not work within the SDK" ; \
+ bbwarn "See: https://wiki.automotivelinux.org/troubleshooting/app-recipes" \
+ )
+}
+
+python () {
+ d.setVarFlag('do_aglwgt_deploy', 'fakeroot', '1')
+}
+
+
+POST_INSTALL_LEVEL ?= "10"
+POST_INSTALL_SCRIPT ?= "${POST_INSTALL_LEVEL}-${PN}.sh"
+
+EXTRA_WGT_POSTINSTALL ?= ""
+
+do_aglwgt_deploy() {
+ install -d ${D}/usr/AGL/apps
+ install -m 0644 ${B}/package/*.wgt ${D}/usr/AGL/apps/
+ APP_FILES=""
+ for file in ${D}/usr/AGL/apps/*.wgt;do
+ APP_FILES="${APP_FILES} $(basename $file)";
+ done
+ install -d ${D}/${sysconfdir}/agl-postinsts
+ cat > ${D}/${sysconfdir}/agl-postinsts/${POST_INSTALL_SCRIPT} <<EOF
+#!/bin/sh -e
+for file in ${APP_FILES}; do
+ /usr/bin/afm-install install /usr/AGL/apps/\$file
+done
+sync
+${EXTRA_WGT_POSTINSTALL}
+EOF
+ chmod a+x ${D}/${sysconfdir}/agl-postinsts/${POST_INSTALL_SCRIPT}
+}
+
+FILES_${PN} += "/usr/AGL/apps/*.wgt ${sysconfdir}/agl-postinsts/${POST_INSTALL_SCRIPT}"
+
+addtask aglwgt_deploy before do_package after do_install
+addtask aglwgt_package before do_aglwgt_deploy after do_compile