aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2020-05-12 20:58:56 -0400
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-05-18 10:30:03 +0000
commitdad22a2b3c3cced169c4790e8fe5d8cf2cc62ee2 (patch)
tree72df19f3267cb0b45dfece356e4d4f5890e909b0
parenta954a264140745f6732695dcce9f84494504b758 (diff)
Rework test/debug image features and crosssdk image definitions
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
-rw-r--r--meta-agl-distro/conf/distro/poky-agl.conf4
-rw-r--r--meta-agl-profile-core/conf/include/base-agl.inc4
-rw-r--r--[-rwxr-xr-x]meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb19
-rw-r--r--meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.inc18
-rw-r--r--meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb13
-rwxr-xr-xmeta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb11
-rw-r--r--meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc11
-rw-r--r--meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.bb5
-rw-r--r--meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.inc8
-rw-r--r--meta-agl-profile-graphical/conf/include/agl-profile-graphical.inc3
-rw-r--r--meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb12
-rw-r--r--meta-app-framework/classes/aglwgt.bbclass9
-rw-r--r--templates/feature/agl-profile-graphical/50_local.conf.inc2
13 files changed, 41 insertions, 78 deletions
diff --git a/meta-agl-distro/conf/distro/poky-agl.conf b/meta-agl-distro/conf/distro/poky-agl.conf
index 639e35554..48386ed1d 100644
--- a/meta-agl-distro/conf/distro/poky-agl.conf
+++ b/meta-agl-distro/conf/distro/poky-agl.conf
@@ -171,6 +171,10 @@ PACKAGE_FEED_BASE_PATHS = "rpm"
PACKAGE_FEED_ARCHS = ""
#${PACKAGE_ARCHS}"
+# Complementary package definitions for agl-test-wgt and agl-devel-wgt
+# image features
+COMPLEMENTARY_GLOB[agl-test-wgt] = '*-test'
+COMPLEMENTARY_GLOB[agl-devel-wgt] = '*-coverage *-debug'
# Fix for rpm metadata clash between nativesdk-cmake and nativesdk-qtbase-tools
# (revalidate after 2017-10-15, 2018-06-12: still required)
diff --git a/meta-agl-profile-core/conf/include/base-agl.inc b/meta-agl-profile-core/conf/include/base-agl.inc
index d568b067b..c5cf1a57f 100644
--- a/meta-agl-profile-core/conf/include/base-agl.inc
+++ b/meta-agl-profile-core/conf/include/base-agl.inc
@@ -2,10 +2,6 @@
# Comment this out to be able to select the kernel modules yourself.
IMAGE_INSTALL_append = " kernel-modules"
-# Base image feature package definitions for agl-test-wgt and agl-devel-wgt
-FEATURE_PACKAGES_agl-test-wgt = "packagegroup-agl-core-services-test"
-FEATURE_PACKAGES_agl-devel-wgt = "packagegroup-agl-core-services-devel"
-
# Likewise as we included all kernel modules by default in the filesystem,
# we do not need a separate tarball stored.
# Comment this out to receive the separate modules tarball again.
diff --git a/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb b/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
index 27c1ee6d6..8c5aae1bf 100755..100644
--- a/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
+++ b/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
@@ -8,23 +8,7 @@ require agl-image-minimal.bb
LICENSE = "MIT"
-IMAGE_FEATURES_append = " dev-pkgs"
-IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
-
-# required dependencies for app and test builds
-# also in the minimal image (SPEC-1678)
-TOOLCHAIN_HOST_TASK += " \
- nativesdk-lua \
- "
-
-# required dependencies for app and test builds
-# also in the minimal image (SPEC-1678)
-TOOLCHAIN_TARGET_TASK += " \
- lua-dev \
- lua-staticdev \
- libafb-helpers-staticdev \
- libappcontroller-staticdev \
- "
+require agl-image-minimal-crosssdk.inc
inherit populate_sdk
@@ -32,4 +16,3 @@ inherit populate_sdk
# Both exec "createrepo" on the same directory, and so one of them
# can failed (randomly).
addtask do_populate_sdk after do_rootfs
-
diff --git a/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.inc b/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.inc
new file mode 100644
index 000000000..71812943c
--- /dev/null
+++ b/meta-agl-profile-core/recipes-platform/images/agl-image-minimal-crosssdk.inc
@@ -0,0 +1,18 @@
+IMAGE_FEATURES_append = " dev-pkgs"
+IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
+
+# Always include the test widgets
+IMAGE_FEATURES_append = " agl-test-wgt"
+
+# Required dependencies for app and test builds
+TOOLCHAIN_HOST_TASK += " \
+ nativesdk-lua \
+ "
+
+# Required dependencies for app and test builds
+TOOLCHAIN_TARGET_TASK += " \
+ lua-dev \
+ lua-staticdev \
+ libafb-helpers-staticdev \
+ libappcontroller-staticdev \
+ "
diff --git a/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb b/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb
index 9f7015992..2fd31d148 100644
--- a/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb
+++ b/meta-agl-profile-core/recipes-platform/packagegroups/packagegroup-agl-core-services.bb
@@ -3,11 +3,8 @@ LICENSE = "MIT"
inherit packagegroup
-PROVIDES = "${PACKAGES}"
PACKAGES = "\
packagegroup-agl-core-services \
- packagegroup-agl-core-services-test \
- packagegroup-agl-core-services-devel \
"
RDEPENDS_${PN} += "\
@@ -15,13 +12,3 @@ RDEPENDS_${PN} += "\
agl-service-network \
agl-service-platform-info \
"
-
-RDEPENDS_${PN}-test = "\
- ${@' '.join([x + '-test' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
- afb-test \
- "
-
-RDEPENDS_${PN}-devel = "\
- ${@' '.join([x + '-dbg' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
- ${@' '.join([x + '-coverage' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
- "
diff --git a/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb b/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb
index a952fe2a1..5147ea44a 100755
--- a/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb
+++ b/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb
@@ -8,8 +8,7 @@ require agl-image-graphical-qt5.bb
LICENSE = "MIT"
-IMAGE_FEATURES_append = " dev-pkgs"
-IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
+require agl-image-graphical-qt5-crosssdk.inc
inherit populate_sdk populate_sdk_qt5
@@ -17,11 +16,3 @@ inherit populate_sdk populate_sdk_qt5
# Both exec "createrepo" on the same directory, and so one of them
# can failed (randomly).
addtask do_populate_sdk after do_rootfs
-
-# Add wayland-scanner to SDK (SPEC-945)
-# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup
-# wayland-scanner is in nativesdk-wayland-dev !
-# option: add also nativesdk-qtwayland-tools
-TOOLCHAIN_HOST_TASK_append = " nativesdk-wayland nativesdk-wayland-dev"
-
-TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules "
diff --git a/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc b/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc
new file mode 100644
index 000000000..56fd4b154
--- /dev/null
+++ b/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc
@@ -0,0 +1,11 @@
+require recipes-platform/images/agl-image-minimal-crosssdk.inc
+
+TOOLCHAIN_TARGET_TASK += "libafb-helpers-qt-staticdev"
+
+# Add wayland-scanner to SDK (SPEC-945)
+# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup
+# wayland-scanner is in nativesdk-wayland-dev !
+# option: add also nativesdk-qtwayland-tools
+TOOLCHAIN_HOST_TASK_append = " nativesdk-wayland nativesdk-wayland-dev"
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules "
diff --git a/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.bb b/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.bb
index 35989819e..bcfd724fa 100644
--- a/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.bb
+++ b/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.bb
@@ -3,8 +3,3 @@ SUMMARY = "A very basic Wayland image with a terminal"
require agl-image-graphical-qt5.inc
LICENSE = "MIT"
-
-IMAGE_INSTALL_append = "\
- packagegroup-agl-image-weston \
- "
-
diff --git a/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.inc b/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.inc
index cef3bf64e..114d06a07 100644
--- a/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.inc
+++ b/meta-agl-profile-graphical-qt5/recipes-platform/images/agl-image-graphical-qt5.inc
@@ -1,7 +1 @@
-require recipes-platform/images/agl-image-minimal.inc
-
-IMAGE_FEATURES += "splash package-management ssh-server-dropbear"
-
-inherit features_check
-
-REQUIRED_DISTRO_FEATURES = "wayland"
+require recipes-platform/images/agl-image-weston.inc
diff --git a/meta-agl-profile-graphical/conf/include/agl-profile-graphical.inc b/meta-agl-profile-graphical/conf/include/agl-profile-graphical.inc
deleted file mode 100644
index 519e79199..000000000
--- a/meta-agl-profile-graphical/conf/include/agl-profile-graphical.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-# Extend image feature package definitions for agl-test-wgt and agl-devel-wgt
-FEATURE_PACKAGES_agl-test-wgt_append = " packagegroup-agl-graphical-services-test"
-FEATURE_PACKAGES_agl-devel-wgt_append = " packagegroup-agl-graphical-services-devel"
diff --git a/meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb b/meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb
index 0601606f2..e587ab21c 100644
--- a/meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb
+++ b/meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb
@@ -3,11 +3,8 @@ LICENSE = "MIT"
inherit packagegroup
-PROVIDES = "${PACKAGES}"
PACKAGES = "\
packagegroup-agl-graphical-services \
- packagegroup-agl-graphical-services-test \
- packagegroup-agl-graphical-services-devel \
"
ALLOW_EMPTY_${PN} = "1"
@@ -16,12 +13,3 @@ RDEPENDS_${PN} = "\
${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', 'agl-service-mediaplayer', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', 'agl-service-radio', '', d)} \
"
-
-RDEPENDS_${PN}-test = "\
- ${@' '.join([x + '-test' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
- "
-
-RDEPENDS_${PN}-devel = "\
- ${@' '.join([x + '-dbg' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
- ${@' '.join([x + '-coverage' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
- "
diff --git a/meta-app-framework/classes/aglwgt.bbclass b/meta-app-framework/classes/aglwgt.bbclass
index faa17e3a8..b5f7be8bf 100644
--- a/meta-app-framework/classes/aglwgt.bbclass
+++ b/meta-app-framework/classes/aglwgt.bbclass
@@ -47,6 +47,7 @@ AGLWGT_PACKAGE_WARN = "false"
# NOTE: This should revisited after a round of autobuild script rework
# to address SPEC-3300.
ALLOW_EMPTY_${PN}-coverage = "1"
+ALLOW_EMPTY_${PN}-debug = "1"
ALLOW_EMPTY_${PN}-test = "1"
@@ -145,7 +146,7 @@ do_install() {
addtask aglwgt_deploy before do_package after do_install
addtask aglwgt_package before do_aglwgt_deploy after do_compile
-PACKAGES += "${PN}-test ${PN}-coverage"
+PACKAGES += "${PN}-test ${PN}-debug ${PN}-coverage"
FILES_${PN} += " \
/usr/AGL/apps/release/*.wgt \
@@ -154,11 +155,11 @@ FILES_${PN} += " \
${sysconfdir}/agl-postinsts/${POST_INSTALL_SCRIPT} \
"
FILES_${PN}-test = "/usr/AGL/apps/test/*.wgt"
-FILES_${PN}-dbg = "/usr/AGL/apps/debug/*.wgt"
+FILES_${PN}-debug = "/usr/AGL/apps/debug/*.wgt"
FILES_${PN}-coverage = "/usr/AGL/apps/coverage/*.wgt"
-# Test widgets need the base widget
-RDEPENDS_${PN}-test = "${PN}"
+# Test widgets need the parent widget and the test framework
+RDEPENDS_${PN}-test = "${PN} afb-test"
# Signature keys
# These are default keys for development purposes !
diff --git a/templates/feature/agl-profile-graphical/50_local.conf.inc b/templates/feature/agl-profile-graphical/50_local.conf.inc
deleted file mode 100644
index e290c098d..000000000
--- a/templates/feature/agl-profile-graphical/50_local.conf.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-#see meta-agl/meta-agl-profile-graphical/conf/include/agl-profile-graphical.inc
-require conf/include/agl-profile-graphical.inc