aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-wam/wam
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2023-06-05 10:08:59 -0400
committerScott Murray <scott.murray@konsulko.com>2023-06-07 13:33:53 -0400
commit2507e4a69862808a6331b0e4c665b694f49a49b9 (patch)
tree7031fe828a07407a21dcf82dd37fbd1774d5f6af /recipes-wam/wam
parentcce52591f8e00ae41ae380a597d620b0856d004d (diff)
Remove systemd user session and clean up packagegroups and imagespike_15.91.0pike/15.91.015.91.0
Remove the use of systemd user session to align with how upstream runs Weston, and to allow using all systemd sandboxing features with the compositor and homescreen, launcher, etc. applications. The changes for this touched enough packagegroups and images that further rework was done to address some of the cleanup described in SPEC-4813, see below for details. Changes: - Rework systemd units and recipes of affected applications. - Rework images to pull in image .bb files instead of .inc files. - Pull in the new agl-image-compositor as a base image where appropriate. - Update weston-terminal-conf recipe to use new split out weston-terminal package. - Use new agl-crosssdk bbclass where appropriate. - Pull some local common cross-SDK additions into a new agl-ivi-crosssdk.inc include file and use as appropriate. Note that this does have a side effect of likely correcting the contents of agl-image-ivi-crosssdk for some recent additions. - Remove flutter-gallery bbappend that turned it into an app, as we are not using it in images, have other examples now, and it seems better to not affect the contents of agl-image-flutter. - Remove unused agl-image-graphical-html5. If a downstream user does desire an image with Chromium+WAM without applications, restoring it can be considered. - Remove unused agl-image-graphical-qt5-crosssdk. - Remove all packagegroup-agl-profile-* packagegroups, as they were either empty or not providing value at this point. Any future plans for defining profiles can start from a clean sheet. - Added new packagegroup-agl-ivi-multimedia-hardware to hold some rcar3 specific additions (via override) that were previously being appended onto packagegroup-agl-graphical-multimedia even though they are machine-specific and that packagegroup is not. This may be a stopgap solution if the agl-ivi-* packagegroups are reworked further. - Replace some :append usage with += to avoid creating problems for downstream users. Bug-AGL: SPEC-4714, SPEC-4813 Change-Id: I544b1495bed1e2e2412a8e46b7d20d7622ec28c9 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'recipes-wam/wam')
-rw-r--r--recipes-wam/wam/files/WebAppMgr.service5
-rw-r--r--recipes-wam/wam/wam_git.bb48
2 files changed, 26 insertions, 27 deletions
diff --git a/recipes-wam/wam/files/WebAppMgr.service b/recipes-wam/wam/files/WebAppMgr.service
index 0dfe971df..ca9a47811 100644
--- a/recipes-wam/wam/files/WebAppMgr.service
+++ b/recipes-wam/wam/files/WebAppMgr.service
@@ -14,7 +14,7 @@
Description="WebAppMgr is responsible for running web apps and manage their lifecycle"
After=agl-compositor.service
Requires=agl-compositor.service
-Before=agl-session.target
+Before=graphical.target
BindTo=agl-compositor.service
[Service]
@@ -22,10 +22,11 @@ Type=simple
UMask=0077
OOMScoreAdjust=-1000
EnvironmentFile=-/etc/default/WebAppMgr.env
+Environment=XDG_RUNTIME_DIR=/run/user/1001/
ExecStart=/usr/bin/WebAppMgr --use-gl=egl --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 --agl-shell-appid=homescreen --disable-gpu-vsync --ignore-gpu-blocklist
ExecStop=pkill -U %U WebAppMgr
Restart=on-failure
RestartSec=50
[Install]
-WantedBy=agl-session.target
+WantedBy=graphical.target
diff --git a/recipes-wam/wam/wam_git.bb b/recipes-wam/wam/wam_git.bb
index 4b640d5d2..0f2087c65 100644
--- a/recipes-wam/wam/wam_git.bb
+++ b/recipes-wam/wam/wam_git.bb
@@ -3,51 +3,43 @@ AUTHOR = "Jani Hautakangas <jani.hautakangas@lge.com>"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-inherit cmake pkgconfig
-
DEPENDS = "glib-2.0 jsoncpp boost chromium protobuf protobuf-native grpc grpc-native"
+SRC_URI = "\
+ git://github.com/igalia/${BPN}.git;branch=@58.agl;protocol=https \
+ file://WebAppMgr.service \
+ file://WebAppMgr.env \
+"
+SRCREV = "4fbd6e648913bcf0fba63e4460eb44242c11f71b"
+
+PV = "ose58.agl"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig systemd
+
EXTRA_OECMAKE = "\
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${prefix} \
-DPLATFORM_NAME=${@'${DISTRO}'.upper().replace('-', '_')} \
-DCHROMIUM_SRC_DIR=${STAGING_INCDIR}/chromium"
-PR="r0"
-
-PROVIDES += "virtual/webruntime"
-RPROVIDES:${PN} += "virtual/webruntime"
-
-# Disable some of securit_flags
+# Disable some of security flags
# Disable D_FORTIFY_SOURCE=2 and -fstack-protector-strong
# Refer conf/distro/include/security_flags.inc in meta-webos/conf/distro/include/webos.inc
lcl_maybe_fortify = ""
SECURITY_STACK_PROTECTOR = ""
-SRC_URI = "\
- git://github.com/igalia/${BPN}.git;branch=@58.agl;protocol=https \
- file://WebAppMgr.service \
- file://WebAppMgr.env \
-"
-S = "${WORKDIR}/git"
-SRCREV = "4fbd6e648913bcf0fba63e4460eb44242c11f71b"
-
-PV = "ose58.agl"
+SYSTEMD_SERVICE:${PN} = "WebAppMgr.service"
do_install:append() {
install -v -d ${D}${sysconfdir}/wam
install -v -m 644 ${S}/files/launch/security_policy.conf ${D}${sysconfdir}/wam/security_policy.conf
- 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
+ install -v -D -m 644 ${WORKDIR}/WebAppMgr.service ${D}${systemd_system_unitdir}/WebAppMgr.service
+ install -v -D -m 644 ${WORKDIR}/WebAppMgr.env ${D}${sysconfdir}/default/WebAppMgr.env
ln -snf WebAppMgr ${D}${bindir}/web-runtime
- 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_user_unitdir}"
-
CXXFLAGS:append:agl-devel = " -DAGL_DEVEL"
do_install:append:agl-devel() {
@@ -56,3 +48,9 @@ do_install:append:agl-devel() {
touch ${D}${localstatedir}/agl-devel/preferences/debug_system_apps
touch ${D}${localstatedir}/agl-devel/preferences/devmode_enabled
}
+
+FILES:${PN} += "${sysconfdir}/init ${sysconfdir}/wam ${libdir}/webappmanager/plugins/*.so"
+
+PROVIDES += "virtual/webruntime"
+RPROVIDES:${PN} += "virtual/webruntime"
+