diff options
Diffstat (limited to 'meta-app-framework')
25 files changed, 262 insertions, 198 deletions
diff --git a/meta-app-framework/README b/meta-app-framework/README new file mode 120000 index 000000000..4a7a1a175 --- /dev/null +++ b/meta-app-framework/README @@ -0,0 +1 @@ +README-AGL.md
\ No newline at end of file diff --git a/meta-app-framework/README-AGL.md b/meta-app-framework/README-AGL.md new file mode 100644 index 000000000..bd0c2de8f --- /dev/null +++ b/meta-app-framework/README-AGL.md @@ -0,0 +1,31 @@ +Overview +======== + +The +[AGL Project](https://www.automotivelinux.org/) is an automotive-specific +development environment that provides a Linux distribution +[AGL UCB](https://www.automotivelinux.org/software/unified-code-base). + +AGL uses layers designed to be compatible with the +[Yocto Project](https://www.yoctoproject.org) and the +[OpenEmbedded Project (OE)](https://www.openembedded.org/wiki/Main_Page). + +This section provides information about the layers used by the AGL Project: + +* **`meta-agl/meta-app-framework`**: Application (lifecycle) manager + + ``` + $ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl + ``` + +Maintenance +----------- + +All patches must be submitted via the AGL Gerrit instance at +<https://gerrit.automotivelinux.org>. See this wiki page for +details: + +<https://wiki.automotivelinux.org/agl-distro/contributing> + +Layer maintainers: +* Jan-Simon Möller <jsmoeller@linuxfoundation.org> diff --git a/meta-app-framework/classes/agl-app.bbclass b/meta-app-framework/classes/agl-app.bbclass new file mode 100644 index 000000000..491a36e02 --- /dev/null +++ b/meta-app-framework/classes/agl-app.bbclass @@ -0,0 +1,83 @@ +# +# AGL application systemd unit installation class +# + +# Systemd template unit +# * agl-app, agl-app-web, agl-app-flutter valid +AGL_APP_TEMPLATE ?= "agl-app" + +# Application ID +# This is what the application will be referred to in the list +# exposed to clients by applaunchd, and generally ends up as the +# identifier used by agl-compositor for application surface +# activation. +AGL_APP_ID ?= "${BPN}" + +# Application display name +AGL_APP_NAME ?= "${AGL_APP_ID}" + +# Application executable +# * agl-app template only +# Use if the application ID and the executable name are both +# different from the package name and each other as well. +AGL_APP_EXEC ?= "${AGL_APP_ID}" + +# Web application bundle directory (non-absolute, so directory +# name under /usr/lib/wam_apps) +# * agl-app-web template only +# Use if the web application bundle installs to a directory that +# is not the same as the package name. +AGL_APP_WAM_DIR ?= "${BPN}" + +do_install:append () { + install -d ${D}${systemd_system_unitdir} + ln -s ${AGL_APP_TEMPLATE}\@.service \ + ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service + + # NOTE: Unit & Service changes could potentially be collected + # and a single override .conf created, but things will be + # kept simple for now. + + if [ "${AGL_APP_EXEC}" != "${AGL_APP_ID}" ]; then + install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d + cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/exec.conf + [Service] + ExecStart= + ExecStart=${AGL_APP_EXEC} + EOF + fi + + if [ "${AGL_APP_NAME}" != "${AGL_APP_ID}" ]; then + install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d + cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/name.conf + [Unit] + Description= + Description=${AGL_APP_NAME} + EOF + fi + + if [ "${AGL_APP_TEMPLATE}" = "agl-app-web" -a "${AGL_APP_ID}" != "${BPN}" ]; then + # The application ID does not necessarily match the package name + # used in the WAM install hierarchy, and the IDs are hard-coded in + # some of the web apps, so if necessary create an override for the + # environment variable used in place of directly deriving from %i + # (which will always be the app id). + install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d + cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/wam.conf + [Service] + Environment=AGL_APP_WAM_DIR=${AGL_APP_WAM_DIR} + EOF + fi + + if [ "${AGL_APP_TEMPLATE}" = "agl-app-flutter" ]; then + # Install icon if present + if [ -f ${S}/package/${AGL_APP_ID}.svg ]; then + install -d ${D}${datadir}/icons/hicolor/scalable + install -m 0644 ${S}/package/${AGL_APP_ID}.svg ${D}${datadir}/icons/hicolor/scalable/ + fi + fi +} + +FILES:${PN}:append = " ${systemd_system_unitdir} ${datadir}/icons" + +RDEPENDS:${PN}:append = " applaunchd-template-${AGL_APP_TEMPLATE}" diff --git a/meta-app-framework/conf/layer.conf b/meta-app-framework/conf/layer.conf index 10d458001..0fe82784b 100644 --- a/meta-app-framework/conf/layer.conf +++ b/meta-app-framework/conf/layer.conf @@ -9,5 +9,5 @@ BBFILE_COLLECTIONS += "meta-app-framework" BBFILE_PATTERN_meta-app-framework = "^${LAYERDIR}/" BBFILE_PRIORITY_meta-app-framework = "60" -LAYERSERIES_COMPAT_meta-app-framework = "kirkstone" -LAYERDEPENDS_meta-app-framework = "core aglcore" +LAYERSERIES_COMPAT_meta-app-framework = "scarthgap" +LAYERDEPENDS_meta-app-framework = "core aglcore openembedded-layer" diff --git a/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb b/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb deleted file mode 100644 index ecad1615d..000000000 --- a/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb +++ /dev/null @@ -1,46 +0,0 @@ -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 ; \ -" -USERADD_PARAM:${PN} = "\ - -g 1001 -u 1001 -G video,display,pipewire -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \ -" - -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/ \ -" diff --git a/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh b/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh deleted file mode 100644 index 15ec3744a..000000000 --- a/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/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}" diff --git a/meta-app-framework/recipes-config/agl-session/files/agl-session.target b/meta-app-framework/recipes-config/agl-session/files/agl-session.target deleted file mode 100644 index 84d9daa5b..000000000 --- a/meta-app-framework/recipes-config/agl-session/files/agl-session.target +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -Description=AGL user session - -BindsTo=graphical-session.target -Before=graphical-session.target diff --git a/meta-app-framework/recipes-config/agl-session/files/agl-session@.service b/meta-app-framework/recipes-config/agl-session/files/agl-session@.service deleted file mode 100644 index 61afa4141..000000000 --- a/meta-app-framework/recipes-config/agl-session/files/agl-session@.service +++ /dev/null @@ -1,24 +0,0 @@ -[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 diff --git a/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules b/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules new file mode 100644 index 000000000..35b9559c5 --- /dev/null +++ b/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules @@ -0,0 +1,7 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.systemd1.manage-units" && + action.lookup("unit").indexOf("agl-app") == 0 && + subject.isInGroup("applaunchd")) { + return polkit.Result.YES; + } +}); diff --git a/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb b/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb new file mode 100644 index 000000000..57dda7787 --- /dev/null +++ b/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb @@ -0,0 +1,21 @@ +SUMMARY = "Rule for agl-driver to control agl-app@ services" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://50-agl-app.rules" + +DEPENDS += "polkit" + +inherit useradd features_check +REQUIRED_DISTRO_FEATURES = "polkit" + +do_install() { + install -m 700 -d ${D}${datadir}/polkit-1/rules.d + chown polkitd:root ${D}/${datadir}/polkit-1/rules.d + install -m 0644 ${WORKDIR}/50-agl-app.rules ${D}${datadir}/polkit-1/rules.d +} + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} += "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;" + +FILES:${PN} += "${datadir}/polkit-1/rules.d/*.rules" diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service new file mode 100644 index 000000000..a9a2527e0 --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service @@ -0,0 +1,12 @@ +[Unit] +Description=%I + +[Service] +Type=simple +User=agl-driver +Environment=FLUTTER_VERSION=3.3.7 +Environment=FLUTTER_RUNTIME=release +EnvironmentFile=-/etc/default/flutter +EnvironmentFile=-/etc/default/%I +Environment=XDG_RUNTIME_DIR=/run/user/1001/ +ExecStart=/usr/bin/flutter-auto --b=/usr/share/flutter/%I/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --xdg-shell-app-id=%I diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service new file mode 100644 index 000000000..e0353b6ae --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service @@ -0,0 +1,11 @@ +[Unit] +Description=%I + +[Service] +Type=simple +User=agl-driver +EnvironmentFile=-/etc/default/WebAppMgr.env +Environment=XDG_RUNTIME_DIR=/run/user/1001/ +Environment=AGL_APP_WAM_DIR=%I +ExecStart=/usr/bin/WebAppMgrCli --appid=%I --app-install-dir=/usr/lib/wam_apps/${AGL_APP_WAM_DIR}/ + diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service new file mode 100644 index 000000000..234348846 --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service @@ -0,0 +1,8 @@ +[Unit] +Description=%I + +[Service] +Type=simple +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ +ExecStart=%i diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service new file mode 100644 index 000000000..73d36bd0c --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service @@ -0,0 +1,13 @@ +[Unit] +Wants=network.target polkit.service +After=network.target polkit.service + +[Service] +Type=notify +User=applaunchd +Environment=XDG_DATA_DIRS=/usr/share +ExecStart=/usr/bin/applaunchd +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf b/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf new file mode 100644 index 000000000..c7c4f8a31 --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf @@ -0,0 +1,2 @@ +[Service] +PrivateNetwork=true diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf b/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf new file mode 100644 index 000000000..0bdba7c99 --- /dev/null +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf @@ -0,0 +1,2 @@ +[Service] +PrivateTmp=yes diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb b/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb index 70af49bd6..c1bafad8e 100644 --- a/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb +++ b/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb @@ -1,6 +1,6 @@ SUMMARY = "AGL Application Launcher service" DESCRIPTION = "AGL Application Launcher service build with recipe method" -HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/src/applaunchd" +HOMEPAGE = "https://git.automotivelinux.org/src/applaunchd" SECTION = "apps" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" @@ -8,21 +8,71 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" DEPENDS = " \ glib-2.0 \ glib-2.0-native \ + protobuf-native \ + grpc-native \ + grpc \ + systemd \ " -PV = "1.0+git${SRCPV}" +PV = "2.0+git${SRCPV}" SRC_URI = " \ - git://gerrit.automotivelinux.org/gerrit/src/applaunchd;protocol=https;branch=${AGL_BRANCH} \ - " -SRCREV = "${AGL_APP_REVISION}" + git://gerrit.automotivelinux.org/gerrit/src/applaunchd;protocol=https;branch=${AGL_BRANCH} \ + file://applaunchd.service \ + file://agl-app@.service \ + file://agl-app-web@.service \ + file://agl-app-flutter@.service \ + file://no-network.conf \ + file://private-tmp.conf \ +" +SRCREV = "c32fe42f40d0af8b31b6113a3140f52b83be7769" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig systemd useradd features_check + +REQUIRED_DISTRO_FEATURES = "systemd polkit" + +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" -S = "${WORKDIR}/git" +do_install:append() { + # Install generic template for all agl-app services + install -d ${D}${systemd_system_unitdir} + install -m 644 ${WORKDIR}/applaunchd.service ${D}${systemd_system_unitdir}/ + install -m 644 ${WORKDIR}/agl-app@.service ${D}${systemd_system_unitdir}/ + install -m 644 ${WORKDIR}/agl-app-web@.service ${D}${systemd_system_unitdir}/ + install -m 644 ${WORKDIR}/agl-app-flutter@.service ${D}${systemd_system_unitdir}/ -inherit meson pkgconfig + # Install individual sandboxing overrides/drop-ins to be used by apps + install -d ${D}${systemd_system_unitdir}/sandboxing + install -m 644 ${WORKDIR}/no-network.conf ${D}${systemd_system_unitdir}/sandboxing/ + install -m 644 ${WORKDIR}/private-tmp.conf ${D}${systemd_system_unitdir}/sandboxing/ +} -FILES:${PN} += " ${datadir}/dbus-1/" +PACKAGE_BEFORE_PN += "${PN}-template-agl-app ${PN}-template-agl-app-web ${PN}-template-agl-app-flutter" + +FILES:${PN} += "${systemd_system_unitdir}" + +FILES:${PN}-template-agl-app = "${systemd_system_unitdir}/agl-app@.service" + +FILES:${PN}-template-agl-app-web = "${systemd_system_unitdir}/agl-app-web@.service" + +FILES:${PN}-template-agl-app-flutter = "${systemd_system_unitdir}/agl-app-flutter@.service" RDEPENDS:${PN} += " \ - agl-session \ + agl-users \ + polkit-rule-agl-app \ " + +RDEPENDS:${PN}-template-agl-app = "${PN}" + +RDEPENDS:${PN}-template-agl-app-web = "${PN}" + +RDEPENDS:${PN}-template-agl-app-flutter = "${PN}" diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend deleted file mode 100644 index 70cbaabe2..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agl-app-fw', 'agl-compositor-init_agl-app-fw.inc', '', d)} diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf deleted file mode 100644 index 66778a91b..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -ConditionPathExists=/dev/tty7 - -[Service] -Environment=XDG_SESSION_TYPE=wayland -TTYPath=/dev/tty7 -TTYReset=yes -TTYVHangup=yes -TTYVTDisallocate=yes -UtmpIdentifier=tty7 -UtmpMode=user diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in deleted file mode 100644 index fd56c7c3e..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in +++ /dev/null @@ -1,29 +0,0 @@ -# -# 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 diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket deleted file mode 100644 index ef9769ff7..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket +++ /dev/null @@ -1,10 +0,0 @@ -# -# 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/ - -[Socket] -ListenStream=%t/wayland-0 diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc deleted file mode 100644 index f6ddafb05..000000000 --- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc +++ /dev/null @@ -1,46 +0,0 @@ -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-session \ - weston-ini \ -" - -RCONFLICTS:${PN} = "weston-init" diff --git a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend deleted file mode 100644 index 699275fe8..000000000 --- a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agl-app-fw', 'weston-ini-conf_agl-app-fw.inc', '', d)} diff --git a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc b/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc deleted file mode 100644 index 25213a9f1..000000000 --- a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc +++ /dev/null @@ -1,3 +0,0 @@ -RDEPENDS:${PN} = "" -RDEPENDS:${PN}-landscape = "" -RDEPENDS:${PN}-landscape-inverted = "" diff --git a/meta-app-framework/scripts/run-yocto-check-layer.sh b/meta-app-framework/scripts/run-yocto-check-layer.sh index 62377d34e..cbe35ed8d 100755 --- a/meta-app-framework/scripts/run-yocto-check-layer.sh +++ b/meta-app-framework/scripts/run-yocto-check-layer.sh @@ -19,19 +19,25 @@ AGL_FEATURES ?= "" AGL_EXTRA_IMAGE_FSTYPES ?= "" # important settings imported from poky-agl.conf -# we do not import -DISTRO_FEATURES:append = " systemd" +# we cannot import the distro config right away +# as the initial values are poky only till the layer +# is added in + +AGL_DEFAULT_DISTRO_FEATURES := "usrmerge largefile opengl wayland pam bluetooth bluez5 3g polkit" +DISTRO_FEATURES:append := " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}" DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" EOF - -yocto-check-layer \ +yocto-check-layer --no-auto-dependency \ --dependency \ $AGLROOT/meta-agl/meta-agl-core \ + $AGLROOT/external/meta-openembedded/meta-oe \ -- \ $AGLROOT/meta-agl/meta-app-framework [ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl + +exit 0 |