Validate IMAGE_FEATURES
cover Validate IMAGE_FEATURES
The following changes since commit 2253e9f12734c6e6aa489942b5e4628eca1fa29d:
classes/lib: Fix getcmdstatus breakage (2013-05-09 16:05:02 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/imagefeatures
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/imagefeatures
Paul Eggleton (2):
classes/image: show an error on invalid IMAGE_FEATURES classes/core-image: drop apps-console-core IMAGE_FEATURES support
meta/classes/core-image.bbclass | 8 -------- meta/classes/image.bbclass | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 8 deletions(-)
Signature · 1 line
1.8.1.2
PATCH 1/2 classes/image: show an error on invalid IMAGE_FEATURES
If the user specifies an invalid feature in IMAGE_FEATURES, show an error during parsing. Valid IMAGE_FEATURES are drawn from PACKAGE_GROUP_ definitions, COMPLEMENTARY_GLOBS and a new 'validitems' varflag on IMAGE_FEATURES (so that additional non-package group features can be added elsewhere.)
Implements [YOCTO #3308].
--- meta/classes/image.bbclass | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
meta/classes/image.bbclass +16 -0
@@ -19,6 +19,7 @@ INHIBIT_DEFAULT_DEPS = "1" # IMAGE_FEATURES may contain any available package group IMAGE_FEATURES ?= "" IMAGE_FEATURES[type] = "list" +IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs" # rootfs bootstrap install ROOTFS_BOOTSTRAP_INSTALL = "${@base_contains("IMAGE_FEATURES", "package-management", "", "${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)}"
@@ -62,6 +63,19 @@ IMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("IMAGE_FEATURES", d)}' SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs" SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)}' +def check_image_features(d): + valid_features = (d.getVarFlag('IMAGE_FEATURES', 'validitems', True) or "").split() + valid_features += d.getVarFlags('COMPLEMENTARY_GLOB').keys() + for var in d: + if var.startswith("PACKAGE_GROUP_"): + valid_features.append(var[14:]) + valid_features.sort() + + features = set(oe.data.typed_value('IMAGE_FEATURES', d)) + for feature in features: + if feature not in valid_features: + bb.fatal("'%s' in IMAGE_FEATURES is not a valid image feature. Valid features: %s" % (feature, ' '.join(valid_features))) + IMAGE_INSTALL ?= "" IMAGE_INSTALL[type] = "list" export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL} ${FEATURE_INSTALL}"
@@ -129,6 +143,8 @@ python () { vendor = localdata.getVar("TARGET_VENDOR_virtclass-multilib-" + eext[1], False) ml_vendor_list += " " + vendor d.setVar('MULTILIB_VENDORS', ml_vendor_list) + + check_image_features(d) } #
Signature · 1 line
1.8.1.2
Re: [PATCH 1/2] classes/image: show an error on invalid IMAGE_FEATURES
On Thu, May 9, 2013 at 9:24 AM, Paul Eggleton <[email protected]
Quoted 8 lines
wrote:
If the user specifies an invalid feature in
IMAGE_FEATURES, show an error during parsing. ValidIMAGE_FEATURESare drawn fromPACKAGE_GROUP_definitions,COMPLEMENTARY_GLOBSand a new 'validitems' varflag onIMAGE_FEATURES(so that additional non-package group features can be added elsewhere.)
Quoted 4 lines
Implements [YOCTO #3308].
Signed-off-by Paul Eggleton <[email protected]>
Hmm, maybe we should add this sort of valid item in a list checking to typecheck.bbclass, or enhance the list type in oe.types to do it there, so we'd have a general mechanism for this.
Signature · 1 line
Christopher Larson
Re: [PATCH 1/2] classes/image: show an error on invalid IMAGE_FEATURES
Quoted 9 lines · On Thursday 09 May 2013 15:49:18 Chris Larson wrote:
On Thu, May 9, 2013 at 9:24 AM, Paul Eggleton <[email protected]
Quoted 8 lines
wrote:
If the user specifies an invalid feature in
IMAGE_FEATURES, show an error during parsing. ValidIMAGE_FEATURESare drawn fromPACKAGE_GROUP_definitions,COMPLEMENTARY_GLOBSand a new 'validitems' varflag onIMAGE_FEATURES(so that additional non-package group features can be added elsewhere.)
Quoted 7 lines
Quoted 3 lines
Implements [YOCTO #3308].
Signed-off-by Paul Eggleton <[email protected]>Hmm, maybe we should add this sort of valid item in a list checking to typecheck.bbclass, or enhance the list type in oe.types to do it there, so we'd have a general mechanism for this.
Good idea, I'll look into this.
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre
PATCH 2/2 classes/core-image: drop apps-console-core IMAGE_FEATURES support
In reply to Paul EggletonRemove the legacy support for the apps-console-core IMAGE_FEATURES item; we've kept this for a while but it's time for it to go.
--- meta/classes/core-image.bbclass | 8 -------- 1 file changed, 8 deletions(-)
meta/classes/core-image.bbclass +0 -8
@@ -57,14 +57,6 @@ IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear" MACHINE_HWCODECS ??= "" -python __anonymous() { - # Ensure we still have a splash screen for existing images - if base_contains("IMAGE_FEATURES", "apps-console-core", "1", "", d) == "1": - bb.warn("%s: apps-console-core in IMAGE_FEATURES is no longer supported; adding \"splash\" to enable splash screen" % d.getVar("PN", True)) - d.appendVar("IMAGE_FEATURES", " splash") -} - - CORE_IMAGE_BASE_INSTALL = '\ packagegroup-core-boot \ packagegroup-base-extended \
Signature · 1 line
1.8.1.2