summaryrefslogtreecommitdiffstats
path: root/meta-app-framework/recipes-core
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-07-27 16:50:30 -0400
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2022-07-29 23:02:27 +0000
commit321af7331c91a174b52eb5e17d8ab5b3e72ce5cb (patch)
treeb01092f42658a5a8f2dfaa26696b9c3e44386228 /meta-app-framework/recipes-core
parentb98ee1af003b2c98ba29836269a1ae1d9ebf56ba (diff)
meta-app-framework: Update app template scheme
Changes to support the move to systemd unit based app enumeration in applaunchd: - Bump applaunchd SRCREV to pick up enumeration changes. - Tweak the polkit rule to match agl-app* instead of agl-app@* to allow more flexibility with respect to different app templates. - Tweak the Description field definition in the agl-app service template to just use the instance name, as that field is now used for the application display name by applaunchd. - Add a agl-app-web service template for web apps. - Add a agl-app.bbclass for use in application recipes to simplify installation of the now required systemd template instances and potential generation of override files to tweak application configuration. - Split the agl-app and agl-app-web templates into their own packages in the applaunchd recipe so they can be depended on by applications as required. - Move applaunchd installed systemd units and override files to /lib/systemd/system since that matches the upstream recommendation for units installed as part of the system installation. Bug-AGL: SPEC-4466 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I32ff6c9624850662856b79a2b14b33a05e7f9a65 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27835 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jose Dapena Paz <jdapena@igalia.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-app-framework/recipes-core')
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service10
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service4
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb26
3 files changed, 31 insertions, 9 deletions
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service
new file mode 100644
index 000000000..3b736a5d2
--- /dev/null
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=%I
+
+[Service]
+Type=simple
+User=agl-driver
+Environment=XDG_RUNTIME_DIR=/run/user/1001/
+Environment=AGL_APP_WAM_DIR=%I
+ExecStart=/usr/bin/WebAppMgr --appid=%I --app-install-dir=/usr/lib/wam_apps/${AGL_APP_WAM_DIR}/
+
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service
index c8361fa0a..234348846 100644
--- a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service
@@ -1,8 +1,8 @@
[Unit]
-Description=Sandboxed %I
+Description=%I
[Service]
Type=simple
User=agl-driver
-ExecStart=%i
Environment=XDG_RUNTIME_DIR=/run/user/1001/
+ExecStart=%i
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb b/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb
index 5c2036a78..0aef4e003 100644
--- a/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb
@@ -16,10 +16,11 @@ PV = "2.0+git${SRCPV}"
SRC_URI = " \
git://gerrit.automotivelinux.org/gerrit/src/applaunchd;protocol=https;branch=${AGL_BRANCH} \
file://agl-app@.service \
+ file://agl-app-web@.service \
file://no-network.conf \
file://private-tmp.conf \
"
-SRCREV = "efbd734aca8b813710d7564d79696b1cf150a88c"
+SRCREV = "c675bafdf15cc19276bd8276c34f56404a5ecb62"
S = "${WORKDIR}/git"
@@ -27,18 +28,29 @@ inherit meson pkgconfig
do_install:append() {
# Install generic template for all agl-app services
- mkdir -p ${D}${sysconfdir}/systemd/system/
- install -m 644 ${WORKDIR}/agl-app@.service ${D}${sysconfdir}/systemd/system/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/agl-app@.service ${D}${systemd_system_unitdir}/
+ install -m 644 ${WORKDIR}/agl-app-web@.service ${D}${systemd_system_unitdir}/
# Install individual sandboxing overrides/drop-ins to be used by apps
- mkdir -p ${D}${sysconfdir}/systemd/sandboxing/
- install -m 644 ${WORKDIR}/no-network.conf ${D}${sysconfdir}/systemd/sandboxing/
- install -m 644 ${WORKDIR}/private-tmp.conf ${D}${sysconfdir}/systemd/sandboxing/
+ install -d ${D}${systemd_system_unitdir}/sandboxing
+ install -m 644 ${WORKDIR}/no-network.conf ${D}${systemd_system_unitdir}/sandboxing/
+ install -m 644 ${WORKDIR}/private-tmp.conf ${D}${systemd_system_unitdir}/sandboxing/
}
-FILES:${PN} += " ${datadir}/dbus-1/"
+PACKAGE_BEFORE_PN += "${PN}-template-agl-app ${PN}-template-agl-app-web"
+
+FILES:${PN} += "${systemd_system_unitdir} ${datadir}/dbus-1/"
+
+FILES:${PN}-template-agl-app = "${systemd_system_unitdir}/agl-app@.service"
+
+FILES:${PN}-template-agl-app-web = "${systemd_system_unitdir}/agl-app-web@.service"
RDEPENDS:${PN} += " \
agl-session \
polkit-rule-agl-app \
"
+
+RDEPENDS:${PN}-template-agl-app = "${PN}"
+
+RDEPENDS:${PN}-template-agl-app-web = "${PN}"