summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-06-18 11:04:59 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-06-20 16:55:15 +0100
commita052caed563a09a01f5a3ea1f0477f379c05bee0 (patch)
treeec0132f0b886fb8fb80a451beac3eb734739faf9
parent9b6cda7ff443eebfc5a5a8c9442c93a881807dab (diff)
downloadopenembedded-core-a052caed563a09a01f5a3ea1f0477f379c05bee0.tar.gz
image/image-live: Improve handling of live/iso/hddimg types (drop NOISO/NOHDD)
The logic can be improved and the historical NOISO/NOHDD variables moved into the class and out of common code. The variables are also then removed in favour of directly controlling the behaviour from IMAGE_FSTYPES in line with all the other image types. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/image-live.bbclass8
-rw-r--r--meta/classes/image.bbclass10
-rw-r--r--meta/conf/documentation.conf2
-rw-r--r--meta/conf/machine/include/x86-base.inc3
4 files changed, 5 insertions, 18 deletions
diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass
index 966277c678..942298a7ce 100644
--- a/meta/classes/image-live.bbclass
+++ b/meta/classes/image-live.bbclass
@@ -19,8 +19,6 @@
# External variables (also used by syslinux.bbclass)
# ${INITRD} - indicates a list of filesystem images to concatenate and use as an initrd (optional)
-# ${NOISO} - skip building the ISO image if set to 1
-# ${NOHDD} - skip building the HDD image if set to 1
# ${HDDIMG_ID} - FAT image volume-id
# ${ROOTFS} - indicates a filesystem image to include as the root filesystem (optional)
@@ -80,8 +78,8 @@ populate_live() {
}
build_iso() {
- # Only create an ISO if we have an INITRD and NOISO was not set
- if [ -z "${INITRD}" ] || [ "${NOISO}" = "1" ]; then
+ # Only create an ISO if we have an INITRD and the live or iso image type was selected
+ if [ -z "${INITRD}" ] || [ "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso', '1', '0', d)}" != "1" ]; then
bbnote "ISO image will not be created."
return
fi
@@ -217,7 +215,7 @@ build_fat_img() {
build_hddimg() {
# Create an HDD image
- if [ "${NOHDD}" != "1" ] ; then
+ if [ "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live hddimg', '1', '0', d)}" = "1" ] ; then
populate_live ${HDDDIR}
if [ "${PCBIOS}" = "1" ]; then
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index b1132b420e..f056ca5970 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -1,11 +1,3 @@
-def build_live(d):
- if bb.utils.contains("IMAGE_FSTYPES", "live", "live", "0", d) == "0": # live is not set but hob might set iso or hddimg
- d.setVar('NOISO', bb.utils.contains('IMAGE_FSTYPES', "iso", "0", "1", d))
- d.setVar('NOHDD', bb.utils.contains('IMAGE_FSTYPES', "hddimg", "0", "1", d))
- if d.getVar('NOISO') == "0" or d.getVar('NOHDD') == "0":
- return "image-live"
- return ""
- return "image-live"
IMAGE_CLASSES ??= ""
@@ -18,7 +10,7 @@ IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
# Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk_base
# in the non-Linux SDK_OS case, such as mingw32
IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
-IMGCLASSES += "${@build_live(d)}"
+IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}"
IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}"
IMGCLASSES += "image_types_wic"
IMGCLASSES += "${@oe.utils.conditional('TEST_IMAGE', '1', 'testimage-auto', '', d)}"
diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
index 254f8f1960..3189dd39b7 100644
--- a/meta/conf/documentation.conf
+++ b/meta/conf/documentation.conf
@@ -288,8 +288,6 @@ MULTIMACH_TARGET_SYS[doc] = "Separates files for different machines such that yo
NATIVELSBSTRING[doc] = "A string identifying the host distribution."
NO_RECOMMENDATIONS[doc] = "When set to '1', no recommended packages will be installed. Realize that some recommended packages might be required for certain system functionality, such as kernel-modules. It is up to the user to add packages to IMAGE_INSTALL as needed."
-NOHDD[doc] = "Causes the OpenEmbedded build system to skip building the .hddimg image."
-NOISO[doc] = "Causes the OpenEmbedded build system to skip building the ISO image."
#O
diff --git a/meta/conf/machine/include/x86-base.inc b/meta/conf/machine/include/x86-base.inc
index f8aacea64c..0edcea7f56 100644
--- a/meta/conf/machine/include/x86-base.inc
+++ b/meta/conf/machine/include/x86-base.inc
@@ -10,8 +10,7 @@ MACHINE_FEATURES += "screen keyboard pci usbhost ext2 ext3 x86 \
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
-IMAGE_FSTYPES ?= "live"
-NOISO ?= "1"
+IMAGE_FSTYPES ?= "hddimg"
KERNEL_IMAGETYPE ?= "bzImage"