aboutsummaryrefslogtreecommitdiffstats
path: root/meta-app-framework/classes
AgeCommit message (Collapse)AuthorFilesLines
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-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-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-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-04-10af-main: Sign widgets when agl-develJosé Bollo1-0/+8
This change introduce signature of widgets with sample keys and certificates of app-framework-main when the feature agl-devel is selected. It also shows how to sign widgets in yocto build environment, using WGTPKG_AUTOSIGN_X environment variables. v2: Use an own agl feature for the signing and not agl-devel This allows us to switch it on selectively. Bug-AGL: SPEC-2840 Change-Id: I8f66c25a2ae62ad2365c7cdb995049c00b7c780a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2020-03-23aglwgtbbclass: Minor improvementsJosé Bollo1-35/+45
Improve readability by using 'if' and by indenting correctly. Bug-AGL: SPEC-2840 Change-Id: I55065e0e4c7bf82a4e093544f30ca6eacf33b882 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2020-02-20aglwgt.bbclass: remove pushd/popd usageScott Murray1-8/+4
The recent addition of multiple widget types in aglwgt.bbclass added usage of pushd and popd, which are bash specific. This is undesirable, since it causes failures for anyone trying to build on default installs of Debian or Ubuntu. Since the B and S variables in OE recipes are known to be absolute paths by definition, the pushd/popd can simply be replaced with "cd". Bug-AGL: SPEC-2049 Change-Id: I7ec9c558545be9aedd0b7e40539127b7f8c665ed Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2020-02-19Adapt aglwgt receipe to build multiple widgetFrederic Marec1-34/+75
Change package task and deploy task to allow creation of test, debug and coverage widget. Add debug and coverage directory to store new widgets Bug-AGL: SPEC-2049 Change-Id: Ic3c1250d43de023e2e08398a098746ecd71592c5 Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
2019-04-04Upgrade to thudScott Murray1-0/+3
Changes include: - Add LAYERSERIES_COMPAT definitions to layer.conf files - Remove now unnecessary SECURITY_*FLAGS over-rides from distro configuration - Set intel-corei7-64 preferred kernel version to 4.19 to match latest linux-intel kernel available in meta-intel - Update qemuarm preferred kernel version to 4.18 to match latest linux-yocto - Update firmware package and devicetree file names for raspberrypi3 - Remove linux-firmware bbappend specific to raspberrypi, it seems no longer required and breaks the cross SDK build - Update linux-intel bbappend to 4.19, remove now unnecessary patch - Remove now unnecessary lttng-modules backport - Update linux-raspberrypi bbappend to 4.14 kernel - Added kernel configuration fragment for raspberrypi to disable Kprobes. This is required until linux-raspberrypi is updated to greater than 4.14.104 to avoid a build failure in lttng-modules related to a check for known breakage in the kernel CONFIG_OPTPROBES code. - Replace obsolete base_conditional usage with oe.utils.conditional - Add gstreamer1.0-plugins-bad bbappend for raspberrypi3 to disable faad PACKAGECONFIG to avoid commercial license issues - Remove unused and unbuildable Vayu gstreamer recipes - Update linux-ti-staging bbappend for new BSP kernel - Regen dcan2_pinmux_enable.patch for linux-ti-staging to remove fuzz warning, and remove upstreamed fix_dcan_addresses.patch - Remove ipumm-fw from meta-agl-bsp/meta-ti, as newer version is available in the upstream BSP - Update meta-agl-bsp/meta-ti weston patch to apply against 5.0.0 - Update meta-agl-bsp/meta-ti wayland-ivi-extension patch to apply against 2.2.0 - Add ti-sgx-ddk-km patch to add AGL toolchain configuration file - Remove now unnecessary fdtoverlay recipe - Update core.cfg and ivishell.cfg in weston-ini-conf recipe to handle move of ivi-controller.so configuration in Weston 5.0.0 - Update connman-ncurses patch to remove fuzz warning - Add installation of systemd over-ride file for run-postinsts.service in run-postinsts bbappend to workaround race condition between ldconfig.service and the /sbin/ldconfig invocations in the post-install scripts run by run-postinsts.service. The observed failure was cynara's post-install script failing and its database not being created. - Remove now unnecessary valgrind backport - Add patches to fix most driver compilation against newer kernels - Update libmicrohttpd bbappend - Remove libssp-dev from agl-image-graphical-qt5-crosssdk and agl-demo-platform-html5-crosssdk, upstream have removed it from non-mingw32 platform SDKs - Update wayland-ivi-extension recipe to build 2.2.0, and update local patches - Update weston patches for 5.0.0. Patches: 0016-ivi-shell_add_screen_remove_layer_api.patch 0017-ivi-shell-register-ivi_layout_interface.patch have been removed as they have been applied upstream and are no longer necessary. Patches: 0018-compositor-add-output-type-to-weston_output.patch 0019-compositor-drm-introduce-drm_get_dmafd_from_view.patch (both related to Waltham) have been disabled for now as they need significant rework. - Remove weston-conf RRECOMMENDS in weston bbappend to avoid conflict with weston-ini-conf - Add OECMAKE_GENERATOR = "Unix Makefiles" to aglwgt.bbclass to work around CMake+ninja issue in cmake-apps-module - Update dbus cynara patches for 1.12.10 - Add do_install_append in cynara recipe to remove /var/cynara from cynara package so the directory creation and labelling in the post-install scriptlet will function as intended - Remove now unnecessary e2fsprogs backport - Remove now unnecessary libcap-ng backport - Update pulseaudio patches to remove fuzz warnings - Update neardal patch to remove fuzz warning - Update freetype patch to remove fuzz warning - Rename opencv bbappend to 3.% to handle 3.x backports in upstream - Updated qtwayland patch to remove fuzz warning Changes from Stephane Desneux <stephane.desneux@iot.bzh>: - Remove wayland-ivi-extension PREFERRED_VERSION - Remove now unnecessary nativesdk-cmake patch - Remove now unnecessary ptest-runner patches - Remove now unnecessary harfbuzz patches - Disable waltham-transmitter as it does not build against weston 5.0.0 - Update af-main, cynara, and security-manager to use pkg_postinst_ontarget - Bump connman-ncurses revision to avoid deprecated ncurses functions - Update libva package usage with new intel-vaapi-driver name - Add patches to security-manager to fix compilation with gcc8 - Updated systemd bbappend Changes from Jan-Simon Möller <jsmoeller@linuxfoundation.org>: - Remove meta-agl-bsp/ROCKO.FIXMEs - Remove linux-yocto_4.12.bbappend and now unnecessary associated patch - Remove now unneeded kern-tools-native patch - Bump gstreamer PREFERRED_VERSIONs to 1.14.x - Remove latencytop from packagegroup-agl-core-devel, it has been dropped by upstream - Remove now unnecessary rpm patches - Update pulseaudio bbappend to 12.2 - Update opencv bbappend to 3.4 - Update freetype bbappend to 2.9.1 - Update dbus bbappend to 1.12.10 - Update weston bbappend to 5.0.0 - Update cynara patches to remove fuzz warnings - Add patch to cynara to fix compilation with gcc8 - Add xmlsec1 bbappend to clear EXTRA_OECONF to fix compilation on sumo or newer Changes from Ronan Le Martet <ronan.lemartet@iot.bzh>: - Update meta-rcar-gen3-adas layer gstreamer1.0-plugin-vspfilter bbappend to version 1.0.1 Known issues (marked with FIXME): - CMake+ninja issue in cmake-apps-module has been worked around with OECMAKE_GENERATOR - waltham-transmitter and the patches to weston related to it have been disabled - Currently unclear if patch to libcap-native is actually required or not Bug-AGL: SPEC-1837 Change-Id: I7b8b9ef667aec2d229952eace6663dfc761654d0 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2018-11-22Change default aglwgt build procedureRomain Forlot1-7/+22
Warn about obsolete way of of build an agl app but keep them as fallback methods. Bug-AGL: SPEC-495 Change-Id: I225c811382e218ea90ce66287f4987a33f9ab5c5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-10-29Add CMake Apps module recipeRomain Forlot1-0/+3
Adds the cmake-apps-module in the SDK and the normal Yocto builds. Bug-AGL: SPEC-1682 Change-Id: Ib8b83dd9664a1566318eb0a140e043c5d82510ce Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-08-24Add the afb-test binding in the devel AGL imageRomain Forlot1-0/+10
This will build afb-test binding and tests it using PTest. Bug-AGL: SPEC-1439 Change-Id: I75d1bbb0a780ca036ab0d653fdcbacda883122f9 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-11-20Move genskel to af-binder-tools recipesJan-Simon Möller1-0/+3
This change fixes SPEC-941 and the HAL build by providing the needed afb-genskel for build by recipe and as part of the SDK. v2: move to af-binder folder and align naming to af-binder-devtools add nativesdk-af-binder-devtools to packagegroup nativesdk-packagegroup-sdk-host add af-binder-devtools-native to packagegroup packagegroup-agl-app-framework v3: move af-binder-devtools-native to aglwgt as DEPENDS as there is no -native package to add to the packagegroup-agl-app-framework Bug-AGL: SPEC-941 Change-Id: Iae3c8d958000623b1c84db896307032f5033477d Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/12033 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2017-10-21Invert make/autobuild orderRomain Forlot1-1/+1
because make all create a package dir then 'make package' doesn't fails so autobuild isn't executed. Invert the order keep compability and give priority to the autobuild script. Needed for gerrit review: 11297 about low-can service update Change-Id: I54e1da827ec7254afbab7de5498421914832f460 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/11359 Reviewed-by: Stéphane Desneux <stephane.desneux@iot.bzh> 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>
2017-07-17Possibility to copy wgt without installing themRomain Forlot1-14/+22
Adding a variable that control if wgt file should be automatically installed. Now WGT are spread between autoinstall and manualinstall directories. By default autoinstall is chosen. Change-Id: I51f4aa4426704714a77a53dab37adcaf5e1fd954 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10105 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> Reviewed-by: Stéphane Desneux <stephane.desneux@iot.bzh>
2017-07-07Handle error during run-agl-postinstsRonan Le Martret1-0/+6
* do not remove post install script if failed Bug-AGL: SPEC-700 Change-Id: I1b45670ecbe3915a69cfa659031ac877eb794571 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10025 Reviewed-by: José Bollo <jobol@nonadev.net> Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2017-03-27aglwgt.bbclass: fix bashismStephane Desneux1-1/+1
Depending on the host shell, the class may fail due to specific bash syntax. Change-Id: I59938b009b27e8fbdc533e8b58c80a36864723bb Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2017-03-27Allowed wgt app to auto-install at the first bootRonan Le Martret1-3/+23
* link to gerrit review 8467 (meta-agl) Change-Id: I87832b52dde60134908d29261ca8f8049338e815 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2017-03-27add fakeroot to aglwgt_deploy taskRonan1-0/+4
* we need to have pseudo env when we deploy agl app, if not developer id is use instead of pseudo id (root), and a QA issue is rise "host contamination". BB-must-fix Change-Id: I65c61cf1f5318b9cb9afe942da662863389f28b9 Signed-off-by: Ronan <ronan.lemartret@iot.bzh> Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2017-03-27Be more precise in addtaskJan-Simon Möller1-2/+2
This changeset fixes a timing issue on parallel builds when using the aglwgt bbclass. It turns out that we need to make sure our steps finish before do_package is being called. Change-Id: Ib3bc0d39562c6a0d9ba4c55352c61ce1b57d5409 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2017-03-27Fix whitespace in aglwgt bbclassJan-Simon Möller1-1/+1
This change fixes an issue in the aglwgt bbclass use of FILES_${PN} that lead to a missing inclusion of the *.wgt file. Change-Id: I4ec8485e9f375f3e9278310381b270b0d3647f62 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
2017-03-27Add aglwgt classJan-Simon Möller1-0/+37
This change adds a aglwgt.bbclass which does: - simplify the application (wrapper) recipes within AGL - enforces that 'make package' is present to guarantee the SDK workflow works - places the wgt in the standard location of the AGL reference distro /usr/AGL/apps/ Later the following features will be added to the class: - automatic generation of a wrapper for smoke-test of install/uninstall operations (ptest script) - build-time format checks Change-Id: Ie4f8281061febf3495d33bb1483f8c64b54ed8e9 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>