aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-wam/wam
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-wam/wam')
-rw-r--r--recipes-wam/wam/files/WebAppMgr.service (renamed from recipes-wam/wam/files/WebAppMgr@.service)18
-rw-r--r--recipes-wam/wam/files/trunc-webapp-roles.patch56
-rwxr-xr-xrecipes-wam/wam/files/wam-user-setup.sh25
-rw-r--r--recipes-wam/wam/files/wam-user-setup@.service10
-rw-r--r--recipes-wam/wam/wam_git.bb26
5 files changed, 14 insertions, 121 deletions
diff --git a/recipes-wam/wam/files/WebAppMgr@.service b/recipes-wam/wam/files/WebAppMgr.service
index beffd114c..5cb536d9a 100644
--- a/recipes-wam/wam/files/WebAppMgr@.service
+++ b/recipes-wam/wam/files/WebAppMgr.service
@@ -12,26 +12,18 @@
[Unit]
Description="WebAppMgr is responsible for running web apps and manage their lifecycle"
-After=afm-service-homescreen-service--0.1--main@%i.service weston@display.service
-Wants=afm-service-homescreen-service--0.1--main@%i.service
-BindsTo=weston@display.service
+After=homescreen.service launcher.service agl-compositor.service
+Requires=agl-compositor.service
+Before=agl-session.target
[Service]
Type=simple
-User=%i
-Slice=user-%i.slice
-SmackProcessLabel=System
-SupplementaryGroups=audio display
UMask=0077
-CapabilityBoundingSet=
OOMScoreAdjust=-1000
EnvironmentFile=-/etc/default/WebAppMgr.env
-Environment=XDG_RUNTIME_DIR=/run/user/%i
-Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%i/bus
-Environment=WAM_DATA_PATH="/home/%i/wamdata"
-ExecStart=/usr/bin/WebAppMgr --enable-features=UseOzonePlatform --ozone-platform=wayland --no-sandbox --use-viz-fmp-with-timeout=0 --in-process-gpu --remote-debugging-port=9998 --user-data-dir="/home/%i/wamdata" --webos-wam
+ExecStart=/usr/bin/WebAppMgr --enable-features=UseOzonePlatform --ozone-platform=wayland --no-sandbox --use-viz-fmp-with-timeout=0 --in-process-gpu --remote-debugging-port=9998 --user-data-dir="/home/%u/wamdata" --webos-wam
Restart=on-failure
RestartSec=50
[Install]
-WantedBy=default.target
+WantedBy=agl-session.target
diff --git a/recipes-wam/wam/files/trunc-webapp-roles.patch b/recipes-wam/wam/files/trunc-webapp-roles.patch
deleted file mode 100644
index 829abe07f..000000000
--- a/recipes-wam/wam/files/trunc-webapp-roles.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From f31e93261f34abaa3dcdc4959963f5b5a8983002 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <jsmoeller@linuxfoundation.org>
-Date: Thu, 25 Jun 2020 19:47:24 +0200
-Subject: [PATCH] Set webapp roles that are max 12 characters long.
-
-From: =?UTF-8?q?Jacobo=20Aragunde=20P=C3=A9rez?= <jaragunde@igalia.com>
-
-This is a workaround for SPEC-3127. To prevent repeated roles as much
-as possible, I'm using the appid as a basis instead of "Webapp-" +
-host + port, which has many chances to be redundant in the first 12
-chars.
-
-Bug-AGL: SPEC-3127
-
----
- src/agl/WebRuntimeAGL.cpp | 10 +++-------
- 1 file changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/src/agl/WebRuntimeAGL.cpp b/src/agl/WebRuntimeAGL.cpp
-index aed928b..efd2ee4 100644
---- a/src/agl/WebRuntimeAGL.cpp
-+++ b/src/agl/WebRuntimeAGL.cpp
-@@ -274,7 +274,6 @@ int WebAppLauncherRuntime::run(int argc, const char** argv) {
-
- m_id = getAppId(args);
- m_url = getAppUrl(args);
-- m_role = "WebApp";
-
- setup_signals();
-
-@@ -326,15 +325,9 @@ bool WebAppLauncherRuntime::init() {
- if (n != std::string::npos) {
- std::string sport = authority.substr(n+1);
- m_host = authority.substr(0, n);
-- m_role.push_back('-');
-- m_role.append(m_host);
-- m_role.push_back('-');
-- m_role.append(sport);
- m_port = stringTo<int>(sport);
- } else {
- m_host = authority;
-- m_role.push_back('-');
-- m_role.append(m_host);
- }
- }
-
-@@ -375,6 +368,9 @@ bool WebAppLauncherRuntime::init() {
- m_role = "homescreen";
- else if (m_id.rfind("webapps-homescreen", 0) == 0)
- m_role = "homescreen";
-+ else {
-+ m_role = m_id.substr(0,12);
-+ }
-
- LOG_DEBUG("id=[%s], name=[%s], role=[%s], url=[%s], host=[%s], port=%d, token=[%s], width=[%s], height[%s], surface_type[%d], panel_type[%d]",
- m_id.c_str(), m_name.c_str(), m_role.c_str(), m_url.c_str(),
diff --git a/recipes-wam/wam/files/wam-user-setup.sh b/recipes-wam/wam/files/wam-user-setup.sh
deleted file mode 100755
index 515ea82ec..000000000
--- a/recipes-wam/wam/files/wam-user-setup.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-uid="$1"
-bdir=/run/user
-udir="$bdir/$uid"
-hdir="/home/$uid"
-
-dodir() {
- local x smackset="$1"
- shift
- for x; do
- test -e "$x" || mkdir -m 700 "$x"
- chmod 700 "$x"
- chown "$uid:$uid" "$x"
- chsmack $smackset "$x"
- done
-}
-
-dodir '-t -a User::Home' "$hdir/wamdata"
-
-# Initialize lockfile, without this apps will be blocked by SMACK
-touch "$udir/wamsocket.lock"
-chmod 660 "$udir/wamsocket.lock"
-chown "$uid:$uid" "$udir/wamsocket.lock"
-chsmack -a User::App-Shared "$udir/wamsocket.lock"
diff --git a/recipes-wam/wam/files/wam-user-setup@.service b/recipes-wam/wam/files/wam-user-setup@.service
deleted file mode 100644
index f4814787d..000000000
--- a/recipes-wam/wam/files/wam-user-setup@.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Set up WAM for user %i
-Requires=afm-user-setup@i.service
-After=user-runtime-dir@%i.service afm-user-setup@i.service
-Before=user@%i.service
-
-[Service]
-Type=oneshot
-StartLimitInterval=0
-ExecStart=-/usr/libexec/wam/wam-user-setup.sh %i
diff --git a/recipes-wam/wam/wam_git.bb b/recipes-wam/wam/wam_git.bb
index a7bfde7e0..18ace85ee 100644
--- a/recipes-wam/wam/wam_git.bb
+++ b/recipes-wam/wam/wam_git.bb
@@ -26,33 +26,25 @@ SECURITY_STACK_PROTECTOR = ""
SRC_URI = "\
git://github.com/igalia/${BPN}.git;branch=marlin;protocol=https \
- file://WebAppMgr@.service \
+ file://WebAppMgr.service \
file://WebAppMgr.env \
- file://wam-user-setup.sh \
- file://wam-user-setup@.service \
- file://trunc-webapp-roles.patch \
"
S = "${WORKDIR}/git"
-SRCREV = "916ad4cc233eaec1f1b12f21c548a31f2b090104"
+SRCREV = "478bc7b00d2704d74814c4685c60d62afca50872"
do_install:append() {
- install -d ${D}${sysconfdir}/wam
+ install -v -d ${D}${sysconfdir}/wam
install -v -m 644 ${S}/files/launch/security_policy.conf ${D}${sysconfdir}/wam/security_policy.conf
- install -d ${D}${systemd_system_unitdir}
- install -v -m 644 ${WORKDIR}/WebAppMgr@.service ${D}${systemd_system_unitdir}/WebAppMgr@.service
- install -d ${D}${sysconfdir}/default/
+ install -v -d ${D}${systemd_user_unitdir}
+ install -v -m 644 ${WORKDIR}/WebAppMgr.service ${D}${systemd_user_unitdir}/WebAppMgr.service
+ install -v -d ${D}${sysconfdir}/default/
install -v -m 644 ${WORKDIR}/WebAppMgr.env ${D}${sysconfdir}/default/WebAppMgr.env
ln -snf WebAppMgr ${D}${bindir}/web-runtime
- install -d ${D}${systemd_system_unitdir}/afm-user-session@.target.wants
- ln -sf ../WebAppMgr@.service ${D}${systemd_system_unitdir}/afm-user-session@.target.wants/
- install -d ${D}${libexecdir}/wam/
- install -v -m 755 ${WORKDIR}/wam-user-setup.sh ${D}${libexecdir}/wam/wam-user-setup.sh
- install -v -m 644 ${WORKDIR}/wam-user-setup@.service ${D}${systemd_system_unitdir}/wam-user-setup@.service
- install -d ${D}${systemd_system_unitdir}/user-runtime-dir@.service.wants/
- ln -sf ../wam-user-setup@.service ${D}${systemd_system_unitdir}/user-runtime-dir@.service.wants/
+ install -v -d ${D}${systemd_user_unitdir}/agl-session.target.wants
+ ln -sf ../WebAppMgr.service ${D}${systemd_user_unitdir}/agl-session.target.wants/
}
-FILES:${PN} += "${sysconfdir}/init ${sysconfdir}/wam ${libdir}/webappmanager/plugins/*.so ${systemd_system_unitdir}"
+FILES:${PN} += "${sysconfdir}/init ${sysconfdir}/wam ${libdir}/webappmanager/plugins/*.so ${systemd_user_unitdir}"
CXXFLAGS:append:agl-devel = " -DAGL_DEVEL"