From 2507e4a69862808a6331b0e4c665b694f49a49b9 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 5 Jun 2023 10:08:59 -0400 Subject: Remove systemd user session and clean up packagegroups and images 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 --- .../cluster-receiver/cluster-receiver/cluster-receiver.service | 6 ++++-- recipes-demo/cluster-receiver/cluster-receiver_git.bb | 10 ++++------ .../qt-cluster-receiver/qt-cluster-receiver.service | 6 ++++-- recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb | 9 +++++---- 4 files changed, 17 insertions(+), 14 deletions(-) (limited to 'recipes-demo/cluster-receiver') diff --git a/recipes-demo/cluster-receiver/cluster-receiver/cluster-receiver.service b/recipes-demo/cluster-receiver/cluster-receiver/cluster-receiver.service index e544e25fc..bf48afb28 100644 --- a/recipes-demo/cluster-receiver/cluster-receiver/cluster-receiver.service +++ b/recipes-demo/cluster-receiver/cluster-receiver/cluster-receiver.service @@ -6,9 +6,11 @@ After=agl-compositor.service # Since we are part of the agl session, make sure we are started before # it is complete. -Before=agl-session.target +Before=graphical.target [Service] +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/xdg-cluster-receiver Restart=always @@ -17,4 +19,4 @@ StandardOutput=journal StandardError=journal [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/cluster-receiver/cluster-receiver_git.bb b/recipes-demo/cluster-receiver/cluster-receiver_git.bb index 59d19da1e..c9842ff35 100644 --- a/recipes-demo/cluster-receiver/cluster-receiver_git.bb +++ b/recipes-demo/cluster-receiver/cluster-receiver_git.bb @@ -21,16 +21,14 @@ SRCREV = "ce90cf8dd26d596d65e222a94e64aa51e1c33298" S = "${WORKDIR}/git" -inherit cmake pkgconfig +inherit cmake pkgconfig systemd + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" do_install:append() { - install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_user_unitdir}/${BPN}.service - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - ln -s ../${BPN}.service ${D}${systemd_user_unitdir}/agl-session.target.wants/${BPN}.service + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ gstreamer1.0-plugins-base \ gstreamer1.0-plugins-good \ diff --git a/recipes-demo/cluster-receiver/qt-cluster-receiver/qt-cluster-receiver.service b/recipes-demo/cluster-receiver/qt-cluster-receiver/qt-cluster-receiver.service index bc328f9e5..e3e1b9520 100644 --- a/recipes-demo/cluster-receiver/qt-cluster-receiver/qt-cluster-receiver.service +++ b/recipes-demo/cluster-receiver/qt-cluster-receiver/qt-cluster-receiver.service @@ -6,9 +6,11 @@ After=agl-compositor.service # Since we are part of the agl session, make sure we are started before # it is complete. -Before=agl-session.target +Before=graphical.target [Service] +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/qt-cluster-receiver Restart=always @@ -17,4 +19,4 @@ StandardOutput=journal StandardError=journal [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb b/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb index 8d8908c24..d50e9dd12 100644 --- a/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb +++ b/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb @@ -23,18 +23,19 @@ SRCREV = "b5622ce91307589b03ad5d903214b47ff2277e48" S = "${WORKDIR}/git" -inherit cmake_qt5 pkgconfig +inherit cmake_qt5 pkgconfig systemd do_install:append() { # Only install unit, do not enable it by default - install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_user_unitdir}/${BPN}.service + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ qtwayland \ gstreamer1.0-plugins-base \ gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad \ " + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" -- cgit 1.2.3-korg