+++ /dev/null
-RDEPENDS:${PN}:append:rcar-gen3 = "\
- ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-multimedia-kernel-modules','',d)} \
- ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-multimedia-libs','',d)} \
- ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-gstreamer1.0-plugins','',d)} \
- "
--- /dev/null
+# AGL base image class
+#
+# As opposed to using core-image directly, this class:
+# - does not pull in packagegroup-base-extended by default to minimize images.
+# This does mean that many of the oe-core / poky MACHINE and DISTRO features
+# (e.g. 3g, nfs, etc.) will not result in packages being automatically pulled
+# into images since that is driven via packagegroup-base.
+# - includes hooks for integrating SELinux via meta-selinux
+# - disables locale installation by default
+#
+
+# Disable locales
+IMAGE_LINGUAS = ""
+
+# Hook to allow inheriting e.g. selinux-image by default.
+# Any bbclass used as a value should ultimately inherit core-image
+AGL_BASE_IMAGE ?= "core-image"
+
+inherit ${AGL_BASE_IMAGE}
+
+FEATURE_PACKAGES_selinux = " \
+ packagegroup-agl-core-selinux \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'packagegroup-agl-core-selinux-devel', '', d)} \
+"
+
+IMAGE_FEATURES:append = " ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+
+CORE_IMAGE_BASE_INSTALL = " \
+ packagegroup-agl-core-boot \
+ \
+ ${CORE_IMAGE_EXTRA_INSTALL} \
+"
--- /dev/null
+IMAGE_FEATURES += "dev-pkgs"
+IMAGE_INSTALL += "kernel-dev kernel-devsrc"
+
+inherit populate_sdk
+
+# Task do_populate_sdk and do_rootfs can't be exec simultaneously.
+# Both exec "createrepo" on the same directory, and so one of them
+# can failed (randomly).
+addtask do_populate_sdk after do_rootfs
--- /dev/null
+SUMMARY = "AGL Users"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit allarch useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADDEXTENSION = "useradd-staticids"
+
+GROUPADD_PARAM:${PN} = "\
+ --system video ; \
+ --system pipewire ; \
+ -g 1001 agl-driver ; \
+"
+
+USERADD_PARAM:${PN} = "\
+ -g 1001 -u 1001 -G video,pipewire -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \
+"
+
+ALLOW_EMPTY:${PN} = "1"
-require recipes-platform/images/agl-image-minimal.inc
+# Required for weston startup with polkit in DISTRO_FEATURES
+IMAGE_INSTALL += "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
# NOTE: In hardknott or later this can be replaced by adding "weston"
# to IMAGE_FEATURES.
SYSTEMD_DEFAULT_TARGET = "graphical.target"
-
-inherit features_check
-
-REQUIRED_DISTRO_FEATURES = "wayland"
-SUMMARY = "Startup systemd unit drop-in file for the AGL Wayland compositor"
+SUMMARY = "Startup systemd unit for the AGL Wayland compositor"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+inherit systemd
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
-SRC_URI = "file://agl-compositor.conf.in"
+SRC_URI = "file://agl-compositor.service \
+ file://agl-compositor.socket \
+ file://agl-compositor-autologin \
+ file://agl-compositor.conf.in \
+"
S = "${WORKDIR}"
AGL_COMPOSITOR_ARGS:append = " ${@bb.utils.contains("WESTON_USE_PIXMAN", "1", " --use-pixman", "",d)}"
do_install() {
- # Process ".in" files
+ # Install systemd service
+ install -D -p -m0644 ${WORKDIR}/agl-compositor.service ${D}${systemd_system_unitdir}/agl-compositor.service
+ install -D -p -m0644 ${WORKDIR}/agl-compositor.socket ${D}${systemd_system_unitdir}/agl-compositor.socket
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+ install -D -p -m0644 ${WORKDIR}/agl-compositor-autologin ${D}${sysconfdir}/pam.d/agl-compositor-autologin
+ fi
+
+ # Install systemd service drop-in with extra configuration
files=agl-compositor.conf.in
for f in ${files}; do
g=${f%.in}
${WORKDIR}/${f} > ${WORKDIR}/${g}
fi
done
-
- # Install Weston systemd service drop-in
- install -d ${D}${systemd_system_unitdir}/weston.service.d
- install -m644 ${WORKDIR}/agl-compositor.conf ${D}/${systemd_system_unitdir}/weston.service.d/agl-compositor.conf
+ install -d ${D}${systemd_system_unitdir}/agl-compositor.service.d
+ install -m644 ${WORKDIR}/agl-compositor.conf ${D}/${systemd_system_unitdir}/agl-compositor.service.d/agl-compositor.conf
}
FILES:${PN} += "\
- ${systemd_system_unitdir}/weston.service.d \
+ ${systemd_system_unitdir}/agl-compositor.service \
+ ${systemd_system_unitdir}/agl-compositor.socket \
+ ${systemd_system_unitdir}/agl-compositor.service.d \
+ ${sysconfdir}/default/agl-compositor \
+ ${sysconfdir}/pam.d/ \
"
-RDEPENDS:${PN} = " \
- agl-compositor \
- weston-init \
-"
+CONFFILES:${PN} += "${sysconfdir}/default/agl-compositor"
+
+RDEPENDS:${PN} = "agl-users agl-compositor weston-ini"
+
+RCONFLICTS:${PN} = "weston-init"
+
+SYSTEMD_SERVICE:${PN} = "agl-compositor.service agl-compositor.socket"
--- /dev/null
+auth required pam_nologin.so
+auth required pam_unix.so try_first_pass nullok
+
+account required pam_nologin.so
+account required pam_unix.so
+
+session required pam_env.so
+session required pam_unix.so
+-session optional pam_systemd.so type=wayland class=user desktop=weston
+-session optional pam_loginuid.so
+
--- /dev/null
+# This is a system unit for launching AGL compositor with auto-login as the
+# user configured here.
+#
+# AGL compositor and Weston must be built with systemd support, and your
+# weston.ini must load the plugin systemd-notify.so.
+[Unit]
+Description=AGL compositor
+Documentation=man:weston(1) man:weston.ini(5)
+Documentation=http://wayland.freedesktop.org/
+
+# Make sure we are started after logins are permitted.
+Requires=systemd-user-sessions.service
+After=systemd-user-sessions.service
+
+# D-Bus is necessary for contacting logind. Logind is required.
+Wants=dbus.socket
+After=dbus.socket
+
+# Ensure the socket is present
+Requires=agl-compositor.socket
+
+# Since we are part of the graphical session, make sure we are started before
+# it is complete.
+Before=graphical.target
+
+# Prevent starting on systems without virtual consoles, Weston requires one
+# for now.
+ConditionPathExists=/dev/tty0
+
+[Service]
+# Requires systemd-notify.so Weston plugin.
+Type=notify
+EnvironmentFile=-/etc/default/agl-compositor
+ExecStart=/usr/bin/agl-compositor --modules=systemd-notify.so
+
+# Watchdog setup
+TimeoutStartSec=60
+WatchdogSec=20
+
+# The user to run as.
+User=agl-driver
+Group=agl-driver
+
+# Make sure the working directory is the users home directory
+WorkingDirectory=/home/agl-driver
+
+# Set up a full user session for the user
+PAMName=agl-compositor-autologin
+
+# A virtual terminal is needed.
+TTYPath=/dev/tty7
+TTYReset=yes
+TTYVHangup=yes
+TTYVTDisallocate=yes
+
+# Fail to start if not controlling the tty.
+StandardInput=tty-fail
+StandardOutput=journal
+StandardError=journal
+
+# Log this user with utmp, letting it show up with commands 'w' and 'who'.
+UtmpIdentifier=tty7
+UtmpMode=user
+
+[Install]
+# Note: If you only want weston to start on-demand, remove this line with a
+# service drop file
+WantedBy=graphical.target
ALTERNATIVE_LINK_NAME[weston.ini] = "${weston_ini_dir}/weston.ini"
-RDEPENDS:${PN} = "weston-init"
RPROVIDES:${PN} = "weston-ini"
RCONFLICTS:${PN} = "${PN}-landscape"
ALTERNATIVE:${PN} = "weston.ini"
FILES:${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
-RDEPENDS:${PN}-landscape = "weston-init"
RPROVIDES:${PN}-landscape = "weston-ini"
RCONFLICTS:${PN}-landscape = "${PN}"
ALTERNATIVE:${PN}-landscape = "weston.ini"
FILES:${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
-RDEPENDS:${PN}-landscape-inverted = "weston-init"
RPROVIDES:${PN}-landscape-inverted = "weston-ini"
RCONFLICTS:${PN}-landscape-inverted = "${PN}"
ALTERNATIVE:${PN}-landscape-inverted = "weston.ini"
FILES:${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
-RDEPENDS:${PN}-no-activate = "weston-init"
RPROVIDES:${PN}-no-activate = "weston-ini"
RCONFLICTS:${PN}-no-activate = "${PN}"
ALTERNATIVE:${PN}-no-activate = "weston.ini"
FILES:${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
-RDEPENDS:${PN}-landscape-no-activate = "weston-init"
RPROVIDES:${PN}-landscape-no-activate = "weston-ini"
RCONFLICTS:${PN}-landscape-no-activate = "${PN}"
ALTERNATIVE:${PN}-landscape-no-activate = "weston.ini"
ALTERNATIVE_TARGET_${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
-
# This is a settings-only package, we do not need a development package
# (and its fixed dependency to ${PN} being installed)
PACKAGES:remove = "${PN}-dev ${PN}-staticdev"
file://0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch \
file://0001-simple-touch-Add-maximized-fullscreen-states.patch \
file://0001-libweston-weston-log-Add-an-iterator-for-going-over-.patch \
- file://0001-backend-drm-make-sure-all-buffers-are-released-when-.patch "
+ file://0001-backend-drm-make-sure-all-buffers-are-released-when-.patch \
+"
+
+# Split weston-terminal out of the main package to allow installing it
+# separately for use with other compositors. The icons, etc. that end
+# up in /usr/share/weston are also split out into a separate package
+# since they are required for weston-terminal and some of the programs
+# packaged in weston-examples in addition to ivi-shell in the main
+# package.
+
+PACKAGE_BEFORE_PN += "${PN}-data ${PN}-terminal"
+
+FILES:${PN}-data = "${datadir}/weston"
+
+FILES:${PN}-terminal = "${bindir}/weston-terminal"
+RDEPENDS:${PN}-terminal += "weston-data liberation-fonts"
+
+RDEPENDS:${PN}-examples += "weston-data"
+
+FILES:${PN}:remove = "weston-terminal"
+RDEPENDS:${PN}:remove = "liberation-fonts"
+RDEPENDS:${PN} += "weston-data weston-terminal"
+++ /dev/null
-SUMMARY = "A very basic Wayland image with agl-compositor"
-
-require agl-image-weston.inc
-
-LICENSE = "MIT"
-
-IMAGE_INSTALL:append = "\
- agl-compositor \
- packagegroup-agl-profile-graphical \
- "
-SUMMARY = "An AGL small image just capable of allowing a device to boot."
-
-require agl-image-boot.inc
-
+SUMMARY = "A small image just capable of allowing a device to boot."
LICENSE = "MIT"
-IMAGE_INSTALL:append = "\
- packagegroup-agl-image-boot \
- "
+inherit agl-core-image
+
+++ /dev/null
-IMAGE_LINGUAS = " "
-
-AGL_BASE_IMAGE ?= "core-image"
-
-inherit ${AGL_BASE_IMAGE}
-
-FEATURE_PACKAGES_selinux = " \
- packagegroup-agl-core-selinux \
- ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'packagegroup-agl-core-selinux-devel', '', d)} \
-"
-
-IMAGE_FEATURES:append = " ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
-
-IMAGE_INSTALL = "packagegroup-agl-core-boot ${CORE_IMAGE_EXTRA_INSTALL}"
-
-IMAGE_ROOTFS_SIZE ?= "8192"
--- /dev/null
+SUMMARY = "A very basic Wayland image with agl-compositor"
+LICENSE = "MIT"
+
+require agl-image-minimal.bb
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
+
+SYSTEMD_DEFAULT_TARGET = "graphical.target"
+
+IMAGE_INSTALL += " \
+ packagegroup-agl-graphical-compositor \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'agl-shell-activator weston-examples', '', d)} \
+"
SUMMARY = "A very basic Wayland image with a terminal"
+LICENSE = "MIT"
-require agl-image-weston.inc
+require agl-image-weston.bb
-LICENSE = "MIT"
+IMAGE_FEATURES += "splash"
-IMAGE_INSTALL:append = "\
- packagegroup-agl-profile-graphical \
+IMAGE_INSTALL += " \
busybox \
- psplash \
gdb \
gperf \
- weston \
weston-examples \
curl \
ptest-runner \
-SUMMARY = "Cross SDK of Full AGL Distribution for core profile"
-
-DESCRIPTION = "SDK image for full AGL Distribution for IVI profile. \
-It includes the full meta-toolchain, plus developement headers and libraries \
-to form a standalone cross SDK."
-
require agl-image-minimal.bb
+SUMMARY = "Cross SDK of minimal AGL Distribution for core profile"
+DESCRIPTION = "SDK image for AGL core distribution. \
+It includes the full toolchain, plus developement headers and libraries \
+to form a standalone cross SDK."
LICENSE = "MIT"
-require agl-image-minimal-crosssdk.inc
-
-inherit populate_sdk
-
-# Task do_populate_sdk and do_rootfs can't be exec simultaneously.
-# Both exec "createrepo" on the same directory, and so one of them
-# can failed (randomly).
-addtask do_populate_sdk after do_rootfs
+inherit agl-crosssdk
+++ /dev/null
-IMAGE_FEATURES:append = " dev-pkgs"
-IMAGE_INSTALL:append = " kernel-dev kernel-devsrc"
SUMMARY = "An AGL small image just capable of allowing a device to boot."
+LICENSE = "MIT"
-require agl-image-minimal.inc
+inherit agl-core-image
-LICENSE = "MIT"
+IMAGE_INSTALL = "packagegroup-agl-image-minimal ${CORE_IMAGE_EXTRA_INSTALL}"
-IMAGE_INSTALL:append = "\
- packagegroup-agl-image-minimal \
- "
+IMAGE_ROOTFS_SIZE ?= "8192"
+IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}"
+++ /dev/null
-require agl-image-boot.inc
SUMMARY = "A very basic Wayland image with a terminal"
+LICENSE = "MIT"
-require agl-image-weston.inc
+require agl-image-minimal.bb
-LICENSE = "MIT"
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
+
+SYSTEMD_DEFAULT_TARGET = "graphical.target"
-IMAGE_INSTALL:append = "\
- packagegroup-agl-profile-graphical \
- "
+IMAGE_INSTALL += " \
+ packagegroup-agl-graphical-weston \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'weston-examples', '', d)} \
+"
+++ /dev/null
-# NOTE: In hardknott or later this can be replaced by adding "weston"
-# to IMAGE_FEATURES.
-SYSTEMD_DEFAULT_TARGET = "graphical.target"
RDEPENDS:${PN} = "\
packagegroup-core-boot \
+ packagegroup-machine-base \
${VIRTUAL-RUNTIME_rngd} \
"
pciutils \
openssh-sftp-server \
zstd \
- "
-
-# needs meta-oe present
-#RRECOMMENDS:${PN} = "\
-# jq \
-# htop \
-# tree \
-#"
+"
+++ /dev/null
-SUMMARY = "The packages of middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Operating System and Common libraries Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-os-commonlibs \
- "
-
-ALLOW_EMPTY:${PN} = "1"
-
-RDEPENDS:${PN} += "\
- "
+++ /dev/null
-SUMMARY = "The packages of middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Operating System and Common libraries Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-security \
- "
-
-ALLOW_EMPTY:${PN} = "1"
-
-RDEPENDS:${PN} += "\
- "
--- /dev/null
+DESCRIPTION = "The minimal set of packages required for the AGL compositor"
+LICENSE = "MIT"
+
+inherit packagegroup features_check
+
+# agl-compositor-init requires pam enabled if started via systemd
+REQUIRED_DISTRO_FEATURES = "wayland ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
+
+RDEPENDS:${PN} += " \
+ agl-compositor \
+ agl-compositor-init \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \
+"
+++ /dev/null
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Multimedia Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-graphical-multimedia \
- "
-
-RDEPENDS:${PN} += "\
- alsa-utils \
- gstreamer1.0-meta-base \
- "
-DESCRIPTION = "The minimal set of packages required for Wayland support"
+DESCRIPTION = "The minimal set of packages required for the Weston compositor"
LICENSE = "MIT"
-inherit packagegroup
+inherit packagegroup features_check
-PACKAGES = "\
- packagegroup-agl-graphical-weston \
- "
-
-ALLOW_EMPTY:${PN} = "1"
+# weston-init requires pam enabled if started via systemd
+REQUIRED_DISTRO_FEATURES = "wayland ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
RDEPENDS:${PN} += " \
- weston \
- weston-init \
- weston-examples \
- "
-
+ weston \
+ weston-init \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \
+"
+++ /dev/null
-DESCRIPTION = "The minimal set of packages required by AGL"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-image-boot \
- "
-
-ALLOW_EMPTY:${PN} = "1"
-
-RDEPENDS:${PN} += "\
- packagegroup-agl-core-boot \
- packagegroup-machine-base \
- "
-
-RDEPENDS:${PN} += "\
- "
RDEPENDS:${PN} += "\
packagegroup-agl-core-boot \
- packagegroup-machine-base \
- "
-
-RDEPENDS:${PN} += "\
packagegroup-agl-core-connectivity \
- packagegroup-agl-core-os-commonlibs \
- packagegroup-agl-core-security \
"
RDEPENDS:profile-agl-minimal = "${PN}"
SUMMARY = "The middleware for AGL IVI profile"
-DESCRIPTION = "The set of packages required for AGL IVI Distribution"
+DESCRIPTION = "The base set of packages required for a AGL IVI Distribution"
LICENSE = "MIT"
inherit packagegroup
PACKAGES = "\
packagegroup-agl-profile-graphical \
profile-graphical \
- "
-
-ALLOW_EMPTY:${PN} = "1"
+"
RDEPENDS:${PN} += "\
packagegroup-agl-image-minimal \
- packagegroup-agl-graphical-weston \
- packagegroup-agl-graphical-multimedia \
+ packagegroup-agl-graphical-compositor \
"
RDEPENDS:profile-graphical = "${PN}"
+++ /dev/null
-SUMMARY = "AGL user session"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI = "\
- file://agl-session@.service \
- file://agl-session.target \
- file://50-xdg-data-dirs.sh \
-"
-
-inherit systemd allarch useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADDEXTENSION = "useradd-staticids"
-GROUPADD_PARAM:${PN} = "\
- --system display ; \
- --system video ; \
- --system pipewire ; \
- -g 1001 agl-driver ; \
- -g 1003 applaunchd ; \
-"
-
-USERADD_PARAM:${PN} = "\
- -g 1001 -u 1001 -G video,display,pipewire -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \
- -g 1003 -u 1003 -o -d / -K PASS_MAX_DAYS=-1 applaunchd ; \
-"
-
-SYSTEMD_PACKAGES = "${PN}"
-# Instantiate session for the 'agl-driver' user, so we don't have to hardcode
-# the user name/ID in the service file itself
-SYSTEMD_SERVICE:${PN} = "agl-session@agl-driver.service"
-SYSTEMD_AUTO_ENABLE:${PN} = "enable"
-
-do_install() {
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/agl-session@.service ${D}${systemd_system_unitdir}
-
- install -d ${D}${systemd_user_unitdir}
- install -m 0644 ${WORKDIR}/agl-session.target ${D}${systemd_user_unitdir}
-
- install -d ${D}${libdir}/systemd/user-environment-generators
- install -m 0755 ${WORKDIR}/50-xdg-data-dirs.sh ${D}${libdir}/systemd/user-environment-generators/
-}
-
-FILES:${PN} += " \
- ${systemd_system_unitdir} \
- ${systemd_user_unitdir} \
- ${libdir}/systemd/user-environment-generators/ \
-"
+++ /dev/null
-#!/bin/sh
-
-# use a default value if not already set
-XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}"
-
-# write our output
-echo "XDG_DATA_DIRS=${XDG_DATA_DIRS}"
+++ /dev/null
-[Unit]
-Description=AGL user session
-
-BindsTo=graphical-session.target
-Before=graphical-session.target
+++ /dev/null
-[Unit]
-Description=AGL user session
-After=systemd-user-sessions.service
-Wants=dbus.socket
-After=dbus.socket
-After=session-c1.scope
-Before=multi-user.target
-
-[Service]
-Environment=XDG_SESSION_TYPE=wayland
-ExecStart=/bin/systemctl --wait --user start agl-session.target
-TimeoutStartSec=30
-# This is a template service, instantiate for desired user's name or uid
-User=%i
-PAMName=login
-WorkingDirectory=~
-StandardInput=tty-fail
-StandardOutput=journal
-StandardError=journal
-Restart=always
-RestartSec=3s
-
-[Install]
-WantedBy=multi-user.target
S = "${WORKDIR}/git"
-inherit meson pkgconfig systemd
+inherit meson pkgconfig systemd useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADDEXTENSION = "useradd-staticids"
+GROUPADD_PARAM:${PN} = "-g 1003 applaunchd ; "
+USERADD_PARAM:${PN} = "\
+ -g 1003 -u 1003 -o -d / -K PASS_MAX_DAYS=-1 applaunchd ; \
+"
SYSTEMD_SERVICE:${PN} = "applaunchd.service"
FILES:${PN}-template-agl-app-flutter = "${systemd_system_unitdir}/agl-app-flutter@.service"
RDEPENDS:${PN} += " \
- agl-session \
+ agl-users \
polkit-rule-agl-app \
"
+++ /dev/null
-require ${@bb.utils.contains('AGL_FEATURES', 'agl-app-fw', 'agl-compositor-init_agl-app-fw.inc', '', d)}
+++ /dev/null
-[Unit]
-ConditionPathExists=/dev/tty7
-
-[Service]
-Environment=XDG_SESSION_TYPE=wayland
-TTYPath=/dev/tty7
-TTYReset=yes
-TTYVHangup=yes
-TTYVTDisallocate=yes
-UtmpIdentifier=tty7
-UtmpMode=user
+++ /dev/null
-#
-# Weston must be built with systemd support, and your weston.ini must load
-# the plugin systemd-notify.so.
-
-[Unit]
-Description=agl-compositor, a Wayland compositor, as a systemd user service
-Documentation=https://docs.automotivelinux.org/en/master/#5_Component_Documentation/1_agl-compositor/
-
-# Activate using a systemd socket
-Requires=agl-compositor.socket
-After=agl-compositor.socket
-
-# Since we are part of the agl session, make sure we are started before
-# it is complete.
-Before=agl-session.target
-
-[Service]
-Type=notify
-EnvironmentFile=-/etc/default/agl-compositor
-ExecStart=/usr/bin/agl-compositor @AGL_COMPOSITOR_ARGS@
-
-TimeoutStartSec=60
-WatchdogSec=20
-
-StandardOutput=journal
-StandardError=journal
-
-[Install]
-WantedBy=agl-session.target
+++ /dev/null
-FILESEXTRAPATHS:prepend := "${THISDIR}/agl-compositor-init:"
-
-SRC_URI = " \
- file://agl-compositor.conf \
- file://agl-compositor.service.in \
- file://agl-compositor.socket \
- "
-
-# Reset systemd services list
-SYSTEMD_SERVICE:${PN} = ""
-
-do_install() {
- # Process ".in" files
- files=agl-compositor.service.in
- for f in ${files}; do
- g=${f%.in}
- if [ "${f}" != "${g}" ]; then
- sed -e "s,@AGL_COMPOSITOR_ARGS@,${AGL_COMPOSITOR_ARGS},g" \
- ${WORKDIR}/${f} > ${WORKDIR}/${g}
- fi
- done
-
- install -d ${D}${systemd_system_unitdir}/agl-session@agl-driver.service.d
- install -m 0644 ${WORKDIR}/agl-compositor.conf \
- ${D}${systemd_system_unitdir}/agl-session@agl-driver.service.d/agl-compositor.conf
-
- install -D -p -m0644 ${WORKDIR}/agl-compositor.service ${D}${systemd_user_unitdir}/agl-compositor.service
- install -D -p -m0644 ${WORKDIR}/agl-compositor.socket ${D}${systemd_user_unitdir}/agl-compositor.socket
-
- # Enable the compositor as part of the user session
- install -d ${D}${systemd_user_unitdir}/agl-session.target.wants
- ln -s ../agl-compositor.service ${D}${systemd_user_unitdir}/agl-session.target.wants/agl-compositor.service
-}
-
-FILES:${PN} = "\
- ${systemd_system_unitdir} \
- ${systemd_user_unitdir} \
-"
-
-RDEPENDS:${PN} = " \
- agl-compositor \
- agl-shell-activator \
- agl-session \
- weston-ini \
-"
-
-RCONFLICTS:${PN} = "weston-init"
+++ /dev/null
-require ${@bb.utils.contains('AGL_FEATURES', 'agl-app-fw', 'weston-ini-conf_agl-app-fw.inc', '', d)}
+++ /dev/null
-RDEPENDS:${PN} = ""
-RDEPENDS:${PN}-landscape = ""
-RDEPENDS:${PN}-landscape-inverted = ""
-RDEPENDS:${PN}-no-activate = ""
-RDEPENDS:${PN}-landscape-no-activate = ""
PACKAGES = "\
packagegroup-pipewire \
+ packagegroup-pipewire-tools \
"
RDEPENDS:${PN} += "\
pipewire-alsa \
gstreamer1.0-pipewire \
wireplumber \
- ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'pipewire-tools pipewire-spa-tools', '', d)} \
"
+
+RDEPENDS:${PN}-tools += "\
+ pipewire-tools \
+ pipewire-spa-tools \
+"
\ No newline at end of file