diff options
author | Chris Larson <chris_larson@mentor.com> | 2011-08-08 16:09:37 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-08-10 13:25:11 +0100 |
commit | f9f4416a8cfbd37c7d3a8eb19ee82820e2e6b38c (patch) | |
tree | a248a8405620cec7e1f102a2e839fe8db54f0c20 | |
parent | 074ca832c0274e0e92698b4d006ef2708be105b8 (diff) | |
download | openembedded-core-f9f4416a8cfbd37c7d3a8eb19ee82820e2e6b38c.tar.gz openembedded-core-f9f4416a8cfbd37c7d3a8eb19ee82820e2e6b38c.tar.bz2 openembedded-core-f9f4416a8cfbd37c7d3a8eb19ee82820e2e6b38c.tar.xz openembedded-core-f9f4416a8cfbd37c7d3a8eb19ee82820e2e6b38c.zip |
image: implement IMAGE_FEATURES
IMAGE_FEATURES is analagous to DISTRO_FEATURES and MACHINE_FEATURES, for
root filesystem construction. Currently, the only supported features are
any defined package groups, as used by the oe.packagegroup python
module.
Example usage:
PACKAGE_GROUP_myfeature = "vim iptables"
IMAGE_FEATURES += "myfeature"
Signed-off-by: Chris Larson <chris_larson@mentor.com>
-rw-r--r-- | meta/classes/image.bbclass | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 243baa9c3..e05732901 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -6,15 +6,26 @@ inherit imagetest-${IMAGETEST} LICENSE = "MIT" PACKAGES = "" MULTILIB_IMAGE_INSTALL ?= "" -RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${MULTILIB_IMAGE_INSTALL}" +RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${MULTILIB_IMAGE_INSTALL} ${FEATURE_INSTALL}" +RRECOMMENDS += "${FEATURE_INSTALL_OPTIONAL}" INHIBIT_DEFAULT_DEPS = "1" +# IMAGE_FEATURES may contain any available package group +IMAGE_FEATURES ?= "" +IMAGE_FEATURES[type] = "list" + +# packages to install from features +FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}" +FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}" + # "export IMAGE_BASENAME" not supported at this time +IMAGE_INSTALL ?= "" +IMAGE_INSTALL[type] = "list" IMAGE_BASENAME[export] = "1" -export PACKAGE_INSTALL ?= "${IMAGE_INSTALL}" +export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${FEATURE_INSTALL}" export MULTILIB_PACKAGE_INSTALL ?= "${MULTILIB_IMAGE_INSTALL}" -PACKAGE_INSTALL_ATTEMPTONLY ?= "" +PACKAGE_INSTALL_ATTEMPTONLY ?= "${FEATURE_INSTALL_OPTIONAL}" # Images are generally built explicitly, do not need to be part of world. EXCLUDE_FROM_WORLD = "1" |