aboutsummaryrefslogtreecommitdiffstats
path: root/meta-app-framework
AgeCommit message (Collapse)AuthorFilesLines
2022-10-08meta-app-framework: applaunchd: run under a separate userDenys Dmytriyenko3-3/+7
Since applaunchd needs to start/stop systemd units, the user is granted elevated systemd unit-management permissions via PolKit policy. If applaunchd and all the apps run under the same agl-driver user, all the apps have these elevated systemd permissions too. Separating them into different users allows removing elevated systemd unit-management permission from individual apps, but leaving such permission for applaunchd, which enhances overall security of the system. - add new applaunchd user and group - switch applaunchd (gRPC) service to be started under new user - since HTML5 apps haven't migrated to gRPC yet and still use D-Bus API, applaunchd-dbus gets activated by agl-session and runs under agl-driver - temporarily add agl-driver user into the applaunchd group and switch PolKit policy to check for applaunchd group, instead of the user - once D-Bus API is completely deprecated, agl-driver user can be removed from applaunchd group Bug-AGL: SPEC-4579 Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Change-Id: I75384177578bba6cb458a81df6a9dc1738c972e0 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28039 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-09-22weston-ini-conf: Add weston-ini-config-no-activateMarius Vlad1-0/+1
This patch adds a way to tick dynamically activate-by-default to false, and provide a safe migration towards disabling by default activation entirely. We do this with just only the Qt toolkit and will proceed with WAM/chromium once that has support as well for this. Bug-AGL: SPEC-4528 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I3573ea92d3ea865db223bd01e58b9ec202cfa7ae Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27990 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-09-21meta-app-framework: applaunchd: update for gRPC additionScott Murray2-2/+21
Changes to facilitate building gRPC enabled versionm of applaunchd: - Bump SRCREV to pick up gRPC changes - Add required protobuf and gRPC dependencies to DEPENDS - Add new systemd unit for standalone gRPC API daemon Bug-AGL: SPEC-4559 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I21778f27b2eabd952e983b4571de05ad5d6c5af2 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27984 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-08-04meta-app-framework: update Flutter app templateScott Murray1-1/+1
Update systemd template unit for Flutter based applications for the embedder binary rename (to flutter-auto) and a required rename of the application id command-line option (to --xdg-shell-app-id). Bug-AGL: SPEC-4485 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Icb03775f379929a852d3b270d52b3e88277aa3cc Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27862 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-boot-test: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-07-29meta-app-framework: add Flutter app templateScott Murray2-1/+15
Add a systemd template unit for Flutter based applications to the applaunchd recipe. Bug-AGL: SPEC-4466 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia7cb24d27beebf7c7e4bcfb7a256bd45ffa432ce Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27838 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-boot-test: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-07-29meta-app-framework: Update app template schemeScott Murray5-10/+107
Changes to support the move to systemd unit based app enumeration in applaunchd: - Bump applaunchd SRCREV to pick up enumeration changes. - Tweak the polkit rule to match agl-app* instead of agl-app@* to allow more flexibility with respect to different app templates. - Tweak the Description field definition in the agl-app service template to just use the instance name, as that field is now used for the application display name by applaunchd. - Add a agl-app-web service template for web apps. - Add a agl-app.bbclass for use in application recipes to simplify installation of the now required systemd template instances and potential generation of override files to tweak application configuration. - Split the agl-app and agl-app-web templates into their own packages in the applaunchd recipe so they can be depended on by applications as required. - Move applaunchd installed systemd units and override files to /lib/systemd/system since that matches the upstream recommendation for units installed as part of the system installation. Bug-AGL: SPEC-4466 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I32ff6c9624850662856b79a2b14b33a05e7f9a65 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27835 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jose Dapena Paz <jdapena@igalia.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-07-13applaunchd: update and install agl-app@ template and sandboxing configsDenys Dmytriyenko4-5/+33
The new applaunchd adds systemd_manager that allows launching apps as systemd services in a sandboxed environment. And dbus_activation_manager is deprecated. * Update SRCREV for the new code * Bump version to indicate a major change * Install supporting config files * Add build dependency on systemd * Add runtime dependency on polkit rule to manage agl-app@ services Bug-AGL: SPEC-4466 Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Change-Id: I01b0247d18be8d97b4ea2866d161cffbda8f9155 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27752 Reviewed-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Scott Murray <scott.murray@konsulko.com> Tested-by: Jenkins Job builder account
2022-07-13polkit: add rule to allow agl-driver to control agl-app@ systemd servicesDenys Dmytriyenko2-0/+23
Bug-AGL: SPEC-4466 Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Change-Id: I8007aacc12f8b6bdfbca660c994d321ef1b5eca7 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27751 Reviewed-by: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-06-29Remove use of AGL_APP_REVISIONJan-Simon Moeller1-1/+1
We did use the variable AGL_APP_REVISION to change between the HEAD of the branch via to the fixed tag at release time (regs/tags/xyz) . While this worked well previously, it turns out that bitbake will query git every time it runs for either or tags likewise. For tags it cannot trust whatever is known locally is actually the latest tags as there can be force pushed tags. To fix this we use a well-defined SRCREV for apps/* in the same way as we do it for src/* . Bug-AGL: SPEC-4455 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I54bad2ef6c8b171b1ae1270b4adb951fb180b260 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27693 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account
2022-05-26applaunchd: Correct "HOMEPAGE" in applaunchd_git.bbduerpei1-1/+1
The originally link in homepage cannot be opened when copied to the browser. Replace it with link that can be opened Bug-AGL: SPEC-4368 Signed-off-by: duerpei <duep.fnst@fujitsu.com> Change-Id: I33fccf7711527a657b6b4a0170c85a6f4b6d3767 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27500 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-05-26agl-compositor-init_agl-app-fw: Include agl-shell-activatorMarius Vlad1-0/+1
Turns out we weren't including the agl-shell-activator activation tool so include it by default. It remains to be seen if it makes sense to have in the compositor, rather than outside, but for the time being just include it by default. Bug-AGL: SPEC-4324 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I5a16baca8be83715f86e02809324497a837a235a Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27385 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-03-29Declare layer compatibility with kirkstoneScott Murray1-1/+1
For tracking upstream, we need to update the layer compatibility. Bug-AGL: SPEC-3819 Change-Id: Ic1bc22653e59b2891d77d44cdd409a805e5cc332 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-03-02meta-app-framework: depend on weston-iniJose Dapena Paz1-1/+1
To allow different default layouts depending on target or kind of demo make app framework layer depend on weston-ini instead of the default one. This allows HTML5 demo, that runs in landscape, to initialize properly. Bug-AGL: SPEC-4250 Change-Id: I199a2bf27f65094fbebf62976c33968ce3841aaa Signed-off-by: Jose Dapena Paz <jdapena@igalia.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27236 Reviewed-by: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2022-01-30meta-app-framework: add agl-driver to pipewire groupAshok Sidipotu1-1/+2
- Update agl-session recipe to add agl-driver to pipewire group - Apps in the new framework can access pipewire services if agl-driver is a part of pipewire group. Bug-AGL: SPEC-4210 Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com> Change-Id: Iba3856006b36c0182aaa0e36e8e98f85d9c49af3 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27100 Reviewed-by: Georgios Kiagiadakis <george.kiagiadakis@collabora.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2022-01-19agl-compositor.service.in: Add default EnvironmentFileMarius Vlad1-0/+1
Debugging compositor protocol requires passing environmental variable to the compositor. This adds /etc/default/agl-compositor file which was in the past under /etc/default/weston filename, for this same purpose. Bug-AGL: SPEC-4219 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: Ia6231c6360625f0e194a246d0c392a0a05e8a5d9 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27084 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-12-22meta-app-framework: tweak agl-driver definitionScott Murray1-1/+3
Tweak agl-driver user definition in agl-session recipe to ensure it is a member of the video and display groups (the latter has been added back to the static group file). This is required to avoid agl-compositor startup failures on rcar3. The display group membership potentially could be dropped if we were to bbappend rcar3's gles-user-module recipe to tweak its udev rules. For now, take the most straightforward approach. Bug-AGL: SPEC-4161 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I7237ade5d8680655f17716ac048349a476eb5f29 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27060 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2021-12-21meta-app-framework: agl-session: Ensure XDG_DATA_DIRS is setScott Murray2-1/+16
Add installation of a systemd user-environment-generator scriptlet to the agl-session recipe to ensure that XDG_DATA_DIRS is set to a reasonable default value. This is required for locating D-Bus activation .service files and icons. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I5d1a72022ca97f25a915b64205bf70ab33516ec6 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27048 Reviewed-by: Arnaud Ferraris <arnaud.ferraris@collabora.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-12-17meta-app-framework: recipes-core: add applaunchd recipeArnaud Ferraris1-0/+28
Bug-AGL: SPEC-4160 Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com> Change-Id: I7b2d5e660625091d665727d48a45eb1b7958904e Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27015 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-12-17meta-app-framework: start agl-compositor in a systemd user sessionArnaud Ferraris7-0/+100
`weston-init` installs a system service for starting the compositor. As we want it to run as a user service, this patch replaces this package with `agl-compositor-init`. This involves: - resetting RDEPENDS from `weston-ini-conf` so it doesn't pull in `weston-init` anymore - making `agl-compositor-init` RCONFLICT with `weston-init` as it's still a RRECOMMENDS to `weston` `agl-compositor-init` installs a systemd user service and socket, and ensures agl-compositor is automatically started with the user session, so the compositor is automatically started on boot. It also adds a config fragment for the `agl-session@agl-driver` service (instance of `agl-session` for user `agl-driver`) for properly configuring the TTY to use for display. Bug-AGL: SPEC-4161 Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com> Change-Id: Ifb10a206cfa97c147283bc78c46f7f09209a9591 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26975 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account Reviewed-by: Scott Murray <scott.murray@konsulko.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-boot-test: Jenkins Job builder account
2021-12-17meta-app-framework: add new agl-session recipeArnaud Ferraris3-0/+64
For the new App FW, we want to create a systemd user session, to be started on boot, which will be used to start the compositor and all user background services. This commit adds the corresponding target and service file (enabled by default) so the session is started on boot. Bug-AGL: SPEC-4161 Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com> Change-Id: I51ca7e0c1a994c6798b20b2592bec56a07f41c98 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26974 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-12-08meta-app-framework: add new AGL feature and fix buildArnaud Ferraris2-4/+2
This layer uses a new `agl-app-fw` feature to guard bbappends, so this commit declares it in the conf include and makes sure it's used when the feature is enabled. Moreover, the `layer.conf` files referenced a non-existent `licenses` folder, causing build issues. This commit fixes this by not adding this folder to LICENSE_PATH. Bug-AGL: SPEC-4161 Change-Id: I3360b0f3b36413e741de2d2d3e4a98fff1e1e8db Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26973 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2021-12-02Add templates for new application framework componentsJan-Simon Moeller1-0/+1
Setup the templates. Bug-AGL: SPEC-4161 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I4ea66291413dac8ddfc98f0536afd8f823b38391 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26946
2021-12-02Add sublayer for new application framework componentsJan-Simon Moeller2-0/+53
Setup the layer and a scripts/run-yocto-check-layer.sh . Bug-AGL: SPEC-4161 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I762773107ada7263b854b2f9ea54d1f11adf1487 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26945 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2021-11-04Prepare master for new framework integrationJan-Simon Moeller127-11041/+0
During the last workshop the transition to the new framework was presented. This change essentially deprecates the SMACK-based application framework. To prepare the integration of it, we remove the deprecated components: - meta-agl-core: remove Smack kernel patches - meta-app-framework - meta-pipewire/dynamic-layers/meta-app-framework/ v2: rebased Bug-AGL: SPEC-4121 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: Icdaeadfb5d2193f3a4c535168c88da6073423e67 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26752
2021-11-03Update github.com git:// SRC_URIsmarlin_12.90.1marlin/12.90.112.90.1Scott Murray2-2/+2
GitHub is dropping unauthenticated git protocol access in January 2022, per: https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git While a workaround in the BitBake git fetcher is forthcoming, not specifying protocol=https for github.com git:// SRC_URIs will start resulting in warnings in Yocto 3.5/Kirkstone. To ease our upgrade path, go ahead and update our affected SRC_URIs. Note that this has been done by running the scripts/contrib/convert-srcuri.py script from latest poky, which also makes git branch specification explicit since the git fetcher is likely to require that in the future due to widespread switches from master to main branches. Bug-AGL: SPEC-4126 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I1b5003a79de5283f88bb51f2decadbabeaff8ed5 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26779 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-10-12meta-app-framework: bump version for dbus bbappendScott Murray1-0/+0
Rename the dbus bbappend to handle the upgrade to 1.12.20 in the poky 3.1.11 update. Bug-AGL: SPEC-4104 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I2876920f0ac949f4dee0835af03c096c4e186973 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26729 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-08-23Convert to new override syntaxScott Murray50-191/+190
This is mostly the result of running a slightly customized version of the convert-overrides.py script from poky with additional overrides added. A few minor fixups were done by hand afterwards during a review of the changes. The intent of these changes is to minimize the effort to keep the "next" branch that builds against poky master up to date and tested in preparation for the switch to the next Yocto LTS release in early 2022. Bug-AGL: SPEC-4052 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia3bf63b7cb1aa1d95ada373d1a3ab56def0a125d Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26564 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-07-27libafb-helpers: update SRCREVScott Murray1-1/+1
Update SRCREV to pick up: 16b77f6 gcc 11.x fixes 6fb187b Update .gitreview file Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia148a09bc01c4a7188bc29fa339075d5ec1ee963 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26540 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-07-27af-binder: update SRCREVScott Murray1-1/+1
Update SRCREV to pick up: c5c15f8 gcc 11.x fixes 9a8aea1 CMake: Link with -latomic Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I41a1aa7c38eceb1ca10904a060d52deba6dac6ff Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26539 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-06-29Refactor kernel configuration fragment handlingScott Murray4-20/+23
Refactor the kernel configuration fragment handling to shift all AGL applied configuration fragments into a new AGL_KCONFIG_FRAGMENTS variable that is used to generate SRC_URI and KERNEL_CONFIG_FRAGMENTS additions for the various BSPs. The intent is to make it simple to disable AGL provided configuration in downstream builds as the IC EG has expressed as a requirement. Additionally, the rework has allowed for some clean up of accumulated cruft. In practice, clearing AGL_KCONFIG_FRAGMENTS drops all non-BSP provided kernel configuration with the exception of some qemu BSP related additions required for AGL CI and some explicitly configurable things like netboot support. Notable changes: - Instead of always using AGL's own fragment merging logic on top of the BSP kernel recipe, an effort is now made to leverage the BSP recipes' own merging schemes, so there are now separate include files for kernel-yocto.bbclass and plain kernel.bbclass based kernel recipes, as well as a common include file that defines the AGL_KCONFIG_FRAGMENTS variable and its derivations. That file can be included directly in bbappends for BSP kernel recipes that use the KERNEL_CONFIG_FRAGMENTS scheme (e.g. meta-ti, meta-qcom). - The SMACK enabling configuration in meta-app-framework has been updated to supply different fragments for enabling SMACK by default for 4.x and 5.x kernels. This removes a warning from always supplying the old configuration, and allows providing a CONFIG_LSM definition to ensure over-riding any BSP modifications. This allows removing the previous hack to handle CONFIG_LSM being set in the defconfigs in linux-raspberrypi. - By request, the linux-yocto support from meta-agl-bsp/meta-core has been rationalized into meta-agl-core to improve the experience when using meta-agl-core standalone for testing. - All demo supporting kernel configuration has been removed, a subsequent change to meta-agl-demo will add it there by leveraging AGL_KCONFIG_FRAGMENTS. - The hardware device support has been split out of the can-bus.cfg fragment, in favor of shifting it to meta-agl-demo. A few other stray non-CAN configuration options have also been removed from can-bus.cfg, as they do not seem to be required. Bug-AGL: SPEC-3983 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: If6662fd36e26cec767b1d53b1188a74d01ef9dcf Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26460 Reviewed-by: Hiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2021-01-11Remove smacknet from packagegroup-security-frameworkJan-Simon Moeller1-1/+0
smacknet is not present in 'dunfell' branches. See: https://layers.openembedded.org/layerindex/branch/dunfell/recipes/?q=smacknet . Bug-AGL: SPEC-3762 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I14cdb89394388399a26a4d2f4e0bc40505a54ecf Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25883 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2020-12-17SPEC-3723: restructure meta-aglJan-Simon Moeller113-102/+9909
Goal is to reach a minimal meta-agl-core as base for IVI and IC work at the same time. Trim dependencies and move most 'demo' related recipes to meta-agl-demo. v2: changed to bbapend + .inc , added description v3: testbuild of all images v4: restore -test packagegroup and -qa images, compare manifests and adapt packagegroups. v5: rebased v6: merged meta-agl-distro into meta-agl-core, due to dependency on meta-oe, moved -test packagegroup and -qa images to own layer meta-agl-core-test v7: Fixed comments from Paul Barker v8: Update the markdown files v9: restore wayland/weston/agl-compositor recipes/appends, reworked to move app f/w specific changes to bbappends in meta-app-framework and only demo specific weston-init changes to meta-agl-demo v10: fix s/agldemo/aglcore/ missed in weston-init.bbappend Description: This patch is part 1 out of 2 large patches that implement the layer rework discussed during the previous workshop. Essentially meta-agl-core is the small but versatile new core layer of AGL serving as basis for the work done by the IC and IVI EGs. All demo related work is moved to meta-agl-demo in the 2nd patchset. This should be applied together as atomic change. The resulting meta-agl/* follows these guidelines: - only bsp adaptations in meta-agl-bsp - remove the agl-profile-* layers for simplicity -- the packagegroup-agl(-profile)-graphical and so on have been kept in meta-agl-demo - meta-agl-profile-core is now meta-agl-core - meta-agl-core does pass yocto-check-layer -- therefore use the bbappend + conditional + .inc file construct found in meta-virtualization - meta-agl/meta-security has been merged into meta-agl/meta-app-framework - meta-netboot does pass yocto-check-layer - meta-pipewire does pass yocto-check-layer Migration: All packagegroups are preserved but they're now enabled by 'agl-demo'. Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia6c6e5e6ce2b4ffa69ea94959cdc57c310ba7c53 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25769
2020-12-11Add README files to layersJan-Simon Moeller1-0/+4
This is a requirement of the yocto-check-layer script. Bug-AGL: SPEC-3724 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Change-Id: I60c41d77d4b83eccf4e69651c1fe7cd334a16cc5 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25768
2020-12-04meta-app-framework: update app-framework-main SRCREVScott Murray1-1/+1
Pick up changes: 3ea6f4a Merge "Add network and bluetooth permissions to service template" 0a24bbd Add network and bluetooth permissions to service template ad47803 deal with extra quotes Bug-AGL: SPEC-2714, SPEC-3509 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ie1c9bcb958aa5bda810a68c4e579e81321d55dda Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25706 ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2020-10-02meta-app-framework: Handle html5 apps not having debug widgetsScott Murray1-4/+15
The previous aglwgt.bbclass change to make build/package errors fatal now trips up on the HTML5 applications, as they do not produce a debug widget, and the logic changes assumed that all widget builds would have one. To handle this, if there is no debug widget present when doing do_install, check the config.xml file in the release widget and do not throw an error if the widget type is "text/html". Bug-AGL: SPEC-3593 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: If58c3065464d2d2ea3d78b8ce31304d00fae6504 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25368 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-09-24meta-app-framework: Make autobuild failures fatal in aglwgt.bbclassScott Murray1-22/+13
Now that all upstream widgets have updated autobuild scripts, aglwgt.bbclass can stop ignoring autobuild failures, any failure will now again be caught in do_compile and not at packaging time. Bug-AGL: SPEC-3593 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Idd70a7decf422fa9390d675ad9a4f2729023f322 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25338 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2020-08-19meta-app-framework/recipes-core/af-binder: bump to latest revisionLi, Xiaoming1-1/+1
pickup changes: 1b62498 fix(migration-to-binding-v3.sed): add a legacy call replacing rule 53228dc Fix typo Change-Id: Ie090ad3b81047352fb002dc5cb4ec10e82418e01 Signed-off-by: Li, Xiaoming <lixm.fnst@cn.fujitsu.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25132 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-07-24meta-app-framework: update app-framework-main SRCREVScott Murray1-1/+1
Pick up changes: af8db35 Fix native compilation 3a2efc3 Merge "Add wait for start jobs" 55e6be4 Add wait for start jobs 70d6c64 Fix labelling of files of widgets Bug-AGL: SPEC-3365, SPEC-3427, SPEC-3457, SPEC-3489 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I5be593e8e3e91f461dfa3db8063b21839ed6460d Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25051 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-06-27meta-app-framework: add do_configure task in aglwgt.bbclassScott Murray1-2/+6
Add a placeholder stub do_configure to aglwgt.bbclass instead of marking it as noexec to make things like externalsrc that bbappend or add prefunc's to do_configure work. For externalsrc specifically, this fixes the creation of the convenience oe-logs and oe-workdir symlinks. Bug-AGL: SPEC-3300 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ice6bc23c21f2206963b258c57dac5045721fcfe5 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24889 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-06-26meta-app-framework: rework aglwgt.bbclass to solely use autobuildScott Murray1-58/+65
Changes include: - OE_QMAKE_STRIP definition added to re-enable strip so it will work for qmake based widgets. - AGLWGT_HAVE_TESTS and AGLWGT_PACKAGE_WARN changed to use 0/1 instead or true/false to match more typical OE flag usage. As well, their definitions are now done with ?= to make over-riding more straightforward. - The AGLWGT_AUTOINSTALL_${PN} variable has been renamed to just be AGLWGT_AUTOINSTALL, and a default definition has been added to make the behavior more explicit. There is only one in-tree user (the agl-service-can-high-viwi binding), which is currently not built and has been slated for removal, so this change is thought to have no impact. - A new AGLWGT_CMAKE_CONFIGURE_ARGS variable has been added with a definition derived from what is used in cmake.bbclass, and a combination of anonymous python and a prefunc is used to append its value to AGLWGT_EXTRA_BUILD_ARGS if cmake.bbclass has been inherited. This fixes issues with e.g. widgets that use CMake and Qt5, as the Qt5 CMake modules seem to have issues with finding module includes if the generated toolchain.cmake and OE_CMAKE* values are not passed down to CMake. - The do_aglwgt_package and do_aglwgt_deploy tasks have been converted into aglwgt_do_compile and aglwgt_do_install, and aglwgt_do_compile now calls autobuild to build and package all widgets. This fixes a lot of inconsistencies with respect to the debug/test/coverage widget build environment that were seen with the previous approach. - Logic has been added to clear out the target build directory (${B}) if it is not the same as the source directory (${S}) to match the behavior of do_configure in cmake.bbclass. - All autobuild invocations are now done with the working directory being the build directory (${B}). If a widget build for some reason needs it to be inside the source tree (i.e. ${S}), as before, it should either over-ride the value of B in its recipe, or change directories in its autobuild script. An example of widgets that this affects are the html5-* applications, their autobuild scripts have been appropriately updated. - The BUILD_DIR* output directory arguments passed to the autobuild script now point into ${B} and not ${S}, to ensure that the widget source trees are not contaminated if at all possible. It is believed that the previous rounds of autobuild script rework have addressed the need to support this in all in-tree widgets. - The do_install_bbappend in the agl-service-network binding recipe has been updated for the change to build output directory location. Bug-AGL: SPEC-2049, SPEC-3300 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I88ca33ad7a460436008442a3a8f1adf197f5a669 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24884 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-06-24af-main: update SRCREVScott Murray1-1/+1
Update app-framework-main SRCREV in af-main recipe, picking up changes: ac6f7ed Add weston dependency for units with display permission Bug-AGL: SPEC-3411 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Iecb3cec7674e5c0a634925067cf66a27581536a3 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24788 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-06-10meta-app-framework: aglwgt.bbclass fixesScott Murray1-16/+16
Changes include: - AGLWGT_EXTRA_BUILD_ARGS definition reworked to pass PARALLEL_MAKE in as BUILD_ARGS, as that gets it down to where it needs to go to be useful in most of the autobuild scripts/makefiles. - The logic has been tweaked in do_aglwgt_package to only try to build the coverage version of widgets for things that have test widgets. This avoids build and packaging complications with applications, and seems reasonable ATM given there are no plans to attempt coverage for non-bindings. - A widget not being present after calling "autobuild package" has been bumped to bbfatal instead of bbwarn for the release widget to immediately flag errors. - "-maxdepth 1" has been added to the find commands used to check for widget presence to avoid picking up stray .wgt files outside of the immediate target build directory. Bug-AGL: SPEC-3300 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I9d814894684b525f774f730c8e94e1c46cda16ce Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24677 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2020-05-30meta-app-framework: update af-main SRCREVScott Murray1-1/+1
Update app-framework-main SRCREV in af-main recipe to pick up: f8cee78 Fix uninstall of widgets without icons f8f2338 Improve use of systemd's states Bug-AGL: SPEC-3323, SPEC-3401 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I35f6fcb8677bd3d5d49e588d03f5868249532baa Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24584 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-05-22Fix nss-localuser postinst scriptlet to run only on the targetJan-Simon Möller1-1/+1
Otherwise we fail on do_rootfs now. Bug-AGL: SPEC-3385 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Change-Id: I47be059b77a79e7f6414ea233f591b4957db4818 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24530 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Scott Murray <scott.murray@konsulko.com>
2020-05-18Rework test/debug image features and crosssdk image definitionsScott Murray1-4/+5
Changes include: - The agl-test-wgt/agl-devel-wgt image features and the scheme of appending to their FEATURE_PACKAGES definitions turned out to be problematic with respect to resulting in unexpected extra packages ending up in agl-image-{minimal,ivi}, etc., when building with agl-demo configured (which is typical usage). To avoid this, the FEATURE_PACKAGE definitions for the image features have been replaced with tweaks to define COMPLEMENTARY_GLOBS for the features to bring in the test/debug/coverage packages via that mechanism. - The above removes the need to define the extra test/devel packagegroups, and requires some minor tweaks to aglwgt.bbclass to use a -debug package for the debug widget instead of -dbg, to avoid collisions with the dbg-pkgs image feature. As well, the afb-test package has been added as to RDEPENDS of all test widget packages, since that seems sensible and avoids needing to explicitly adding it elsewhere. - Attempt to rework the various crosssdk image definitions to use a layered set of .inc files to remove duplication and ensure that additions to the SDK are declared once in the appropriate profile. It is likely that a clean sheet implementation would have some things coming from meta-agl-profile-graphical, so further rework may be required/desired to continue cleaning things up. Bug-AGL: SPEC-3300, SPEC-3375 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I942b61501beb41d037001b70a501f90b9a59c45d
2020-05-13qtwayland_%.bbappend: Migrate the qt shell integration to the properMarius Vlad1-3/+0
place The proper place to choose the qtshell integration is with qtwayland so migrate it there. While at it, upgrade to xdg-shell stable instead of using the unstable v6. Bug-AGL: SPEC-3133 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Change-Id: I67b92cd744c4e34c9a603b9535823d9562d4bdf8
2020-05-12Widget packaging reworkScott Murray1-79/+86
aglwgt.bbclass changes: - Made the autobuild/agl/autobuild script a hard requirement, as all upstream widgets have it, and this is the first step to actually using it in the class to drive building the widgets after a subsequent round of autobuild script updates. - Reworked wgt packaging to simplify the logic and split the test, debug, and coverage widgets into separate packages to allow installing them separately. - The on target install directories for the widgets have been changed to release, test, debug, and coverage under /usr/AGL/apps, with the previous logic with respect to the AGLWGT_AUTOINSTALL variable being retained for the few widgets that need to go into the manualinstall directory. An "autoinstall" symlink has been added to point at the release directory to maintain previous behavior. This should allow a simple path to configuring installation of the debug or coverage widgets on first boot with future changes. - Added logic to only assume test widgets exist for recipes with names starting with "agl-service-". This can be over-ridden by defining AGLWGT_HAVE_TESTS as "true" in a recipe. - Added AGLWGT_EXTRA_BUILD_ARGS variable for passing extra arguments to widget builds. Currently its default value includes the previous VERBOSE=true that was passed to every autobuild invocation, and "${PARALLEL_MAKE}" which has been added to improve build speed. - Added AGLWGT_PACKAGE_WARN variable to control extra warnings around the existence of test/debug/coverage widgets when packaging. Once further build rework is done, the default for this will likely be changed to "true", currently the output is too verbose to do so. - Removed over-rides to force building of test widget when building with the agl-ptest feature set, as it is now unnecessary and will result in an undesired extra copy of the test widget in the release folder. Other changes: - Created new devel and test packagegroup variants for several of the existing packagegroups to contain the associated widgets. - Added agl-devel-wgt and agl-test-wgt IMAGE_FEATURES to control the addition of dbg/coverage and test widgets to images. Additions to the FEATURE_PACKAGES variables have been added in several places to add the corresponding widget packagegroups. - Added the agl-devel-wgt image feature to the agl-devel feature template definition to match current behavior. Bug-AGL: SPEC-3300 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I3a28615db94bbc04e30e98ac3dce8cae942a499f
2020-05-07af-main & af-binder: Fix infinite loop and C++José Bollo2-2/+2
af-main: Fix an infinite loop when starting applications * e7ac328 afm-urun: Fix infinite loop on start status af-binder: Fix a missing header when compiling C++ * 33ddfb5 Fix includes of C++ header Bug-AGL: SPEC-3323 Bug-AGL: SPEC-3358 Change-Id: I06a05427b33791a242038d278e452fd73806d2f5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2020-04-27meta-app-framework: set DISTRO_FEATURES_NATIVEScott Murray1-0/+1
Add smack and xattr features to DISTRO_FEATURES_NATIVE to make base-files-native build happy in dunfell. Bug-AGL: SPEC-3302 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I9f65c575b4a98c78dcbe1561a00d5d0b43e757fe
2020-04-27Declare layer compatibility for dunfellScott Murray1-1/+1
For the upgrade to YP dunfell/3.1 we need to update the layer compatibility. Bug-AGL: SPEC-3302 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ieb1ac9ef1f48f077c9cd312c4ac295ae1cc062b0