Add back HTML5 launcher to HTML5 demo 09/27209/3
authorJose Dapena Paz <jdapena@igalia.com>
Fri, 11 Feb 2022 15:02:54 +0000 (16:02 +0100)
committerJose Dapena Paz <jdapena@igalia.com>
Mon, 7 Mar 2022 13:04:06 +0000 (14:04 +0100)
Add the web-based launcher to the HTML5 demo dropping original
launcher. It includes changes to the launcher to match the new
navigator.appservice API and JS injection and drops agl-js-api.

Bug-AGL: SPEC-4249
Change-Id: I02a68fc81693a56aa19e213e8ee200c0ec4e3f42
Signed-off-by: Jose Dapena Paz <jdapena@igalia.com>
recipes-demo/html5-launcher/files/launcher.service [new file with mode: 0644]
recipes-demo/html5-launcher/html5-launcher_git.bb [new file with mode: 0644]
recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb
recipes-wam/wam/files/WebAppMgr.service

diff --git a/recipes-demo/html5-launcher/files/launcher.service b/recipes-demo/html5-launcher/files/launcher.service
new file mode 100644 (file)
index 0000000..67dcf5e
--- /dev/null
@@ -0,0 +1,15 @@
+[Unit]
+Description=AGL Launcher
+Requires=WebAppMgr.service dbus.service
+After=WebAppMgr.service dbus.service
+
+[Service]
+Type=simple
+Environment=AFM_ID=launcher
+Environment=AFM_APP_INSTALL_DIR=/usr/lib/wam_apps/html5-launcher/
+ExecStartPre=sleep 1
+ExecStart=/usr/bin/WebAppMgr
+Restart=on-failure
+
+[Install]
+WantedBy=agl-session.target
diff --git a/recipes-demo/html5-launcher/html5-launcher_git.bb b/recipes-demo/html5-launcher/html5-launcher_git.bb
new file mode 100644 (file)
index 0000000..2a4f7ed
--- /dev/null
@@ -0,0 +1,40 @@
+SUMMARY     = "AGL HTML5 HVAC Application"
+HOMEPAGE    = "https://git.automotivelinux.org/apps/html5-launcher/"
+SECTION     = "apps"
+LICENSE     = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV      = "1.0+git${SRCPV}"
+S       = "${WORKDIR}/git"
+B       = "${WORKDIR}/build"
+
+SRC_URI = " \
+  git://gerrit.automotivelinux.org/gerrit/apps/html5-launcher;protocol=https;branch=${AGL_BRANCH} \
+  file://launcher.service \
+"
+SRCREV = "${AGL_APP_REVISION}"
+
+DEPENDS = "nodejs-native"
+
+do_compile() {
+  bldcmd=${S}/autobuild/agl/autobuild
+  cd ${S}
+  $bldcmd build
+}
+
+WAM_APPLICATIONS_DIR="${libdir}/wam_apps"
+
+do_install() {
+  install -d ${D}${WAM_APPLICATIONS_DIR}/${PN}
+  cp -R --no-dereference --preserve=mode,links ${S}/dist/* ${D}${WAM_APPLICATIONS_DIR}/${PN}
+  install -d ${D}${systemd_user_unitdir}/agl-session.target.wants
+  install -m0644 ${WORKDIR}/launcher.service ${D}${systemd_user_unitdir}/launcher.service
+  ln -s ../launcher.service ${D}${systemd_user_unitdir}/agl-session.target.wants/launcher.service
+}
+
+FILES_${PN} = " \
+  ${WAM_APPLICATIONS_DIR}/${PN} \
+  ${systemd_user_unitdir} \
+"
+
+RCONFLICTS_${PN} = "launcher"
index 5342f07..bb457b9 100644 (file)
@@ -41,8 +41,8 @@ RDEPENDS:${PN}-devel = " \
 # TODO(jdapena): replace this with HTML5 apps.
 AGL_APPS = " \
     dashboard \
+    html5-launcher \
     html5-hvac \
-    hvac \
     ondemandnavi \
     settings \
     "
@@ -58,13 +58,10 @@ DEMO_UNIT_CONF ?= "demo-i2c-udev-conf"
 # Preload only if agl-demo-preload is set
 DEMO_PRELOAD = "${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "${DEMO_UNIT_CONF}", "",d)}"
 
-# TODO(jdapena): eventually qtquickcontrols2 components, and launcher
-# (with an HTML5 replacement)
 RDEPENDS:${PN}:append = " \
-    launcher \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip' , '', d)} \
     qtquickcontrols2-agl \
     qtquickcontrols2-agl-style \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip' , '', d)} \
     ${AGL_APPS} \
     ${DEMO_PRELOAD} \
     "
index 0fa7dbe..749d850 100644 (file)
@@ -12,7 +12,7 @@
 
 [Unit]
 Description="WebAppMgr is responsible for running web apps and manage their lifecycle"
-After=homescreen.service launcher.service agl-compositor.service
+After=agl-compositor.service
 Requires=agl-compositor.service
 Before=agl-session.target