Remove systemd user session and clean up packagegroups and images 96/28996/2
authorScott Murray <scott.murray@konsulko.com>
Mon, 5 Jun 2023 14:07:24 +0000 (10:07 -0400)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Mon, 12 Jun 2023 11:10:13 +0000 (11:10 +0000)
commit4b4c0f15d1d2a52e636aa22e56cf864d1a8a656b
treed60da28a0e968afc33156a0a7c2a40d7cdcc93f3
parentacbae7dc3d56800e68700b8f14515db6c34d337f
Remove systemd user session and clean up packagegroups and images

Remove the use of a 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:
- Remove agl-session and update various recipes that were manually
  adding dependencies to the user session it created.  The compositor
  (be it weston or agl-compositor) and Wayland clients now run in the
  system session as non-root users.
- Revive agl-users recipe, this time living in meta-agl-core, with
  the purpose of creating the agl-driver user.  For simplicity,
  agl-compositor is always run as the agl-driver user, as opposed to
  trying to wrangle running it as different users depending on build
  configuration.  This can potentially be made more configurable if a
  downstream user has a usecase to be able to specify another user.
- Fully split agl-compositor's systemd unit with a tweaked fork of the
  weston-init recipe and unit which lives in meta-agl-core.  This will
  be easier to maintain than the attempt to reuse weston-init for
  builds without meta-app-framework that was done previously.
- Create packagegroup-agl-graphical-compositor, distinct from the
  weston packagegroup.  This should make it more straightforward for
  downstreams that want agl-compositor or weston.
- Rename agl-image-agl-compositor to agl-image-compositor to remove
  redundancy.
- Tweak the logic for the inclusion of a few debug packages (e.g.
  agl-shell-activator) to ensure they only show up in images when
  agl-devel is enabled.
- Split weston-terminal and the required icon resources into separate
  packages in our weston bbappend to avoid pulling in weston just to
  get the terminal for testing.
- Add a agl-core-image.bbclass to use as a base for images.
- Move our cross-SDK configuration to a agl-crosssdk.bbclass to ease
  reuse.
- Remove various empty packagegroups.
- Unify image .inc files with their .bb files as a simplification,
  and to move towards more how upstream Yocto Project does things.
- Split pipewire tools into their own -devel packagegroup.
- Remove rcar3 additions to packagegroup-agl-graphical-multimedia, as
  that packagegroup is not machine-specific.  They will be added back
  in via a change in meta-agl-demo.  If a downstream user desires a
  platform-specific packagegroup for such packages in meta-agl-core,
  this can be revisited, though a different implementation should be
  used.
- Replace some :append usage with += to avoid creating problems
  for downstream users.

Bug-AGL: SPEC-4714, SPEC-4813

Change-Id: I55b29bf749f0d5d50993a362c665bce62b785f67
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28996
Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
45 files changed:
meta-agl-bsp/meta-rcar-gen3/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bbappend [deleted file]
meta-agl-core/classes/agl-core-image.bbclass [new file with mode: 0644]
meta-agl-core/classes/agl-crosssdk.bbclass [new file with mode: 0644]
meta-agl-core/recipes-config/agl-users/agl-users_1.0.bb [new file with mode: 0644]
meta-agl-core/recipes-core/images/core-image-weston.bbappend [moved from meta-agl-core/recipes-platform/images/core-image-weston.bbappend with 100% similarity]
meta-agl-core/recipes-core/images/core-image-weston_aglcore.inc [moved from meta-agl-core/recipes-platform/images/agl-image-weston.inc with 51% similarity]
meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb
meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-autologin [new file with mode: 0644]
meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service [new file with mode: 0644]
meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket [moved from meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket with 100% similarity]
meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb
meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc
meta-agl-core/recipes-platform/images/agl-image-agl-compositor.bb [deleted file]
meta-agl-core/recipes-platform/images/agl-image-boot.bb
meta-agl-core/recipes-platform/images/agl-image-boot.inc [deleted file]
meta-agl-core/recipes-platform/images/agl-image-compositor.bb [new file with mode: 0644]
meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb
meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.inc [deleted file]
meta-agl-core/recipes-platform/images/agl-image-minimal.bb
meta-agl-core/recipes-platform/images/agl-image-minimal.inc [deleted file]
meta-agl-core/recipes-platform/images/agl-image-weston.bb
meta-agl-core/recipes-platform/images/core-image-weston_aglcore.inc [deleted file]
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb [deleted file]
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb [deleted file]
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb [new file with mode: 0644]
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb [deleted file]
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb [deleted file]
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb
meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb
meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb [deleted file]
meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh [deleted file]
meta-app-framework/recipes-config/agl-session/files/agl-session.target [deleted file]
meta-app-framework/recipes-config/agl-session/files/agl-session@.service [deleted file]
meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb
meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend [deleted file]
meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf [deleted file]
meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in [deleted file]
meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc [deleted file]
meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend [deleted file]
meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc [deleted file]
meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb