diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2016-02-19 00:48:34 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-21 09:32:41 +0000 |
commit | 2d293bd8b308961f93a7d0033c245a5784a0fa5d (patch) | |
tree | 78c666d6573f70ccfbb87ebedb17fb345894843d | |
parent | a33236049e006c9d93d0515388376cdc638cfaf1 (diff) | |
download | poky-2d293bd8b308961f93a7d0033c245a5784a0fa5d.tar.gz |
image.bbclass: fix circular dependency when IMAGE_FSTYPES append hddimg
Fixed:
IMAGE_FSTYPES_append = " hddimg"
$ bitbake -g core-image-minimal-initramfs
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing RunQueue
ERROR: Task /path/to/core-image-minimal-initramfs.bb (do_bootimg) has circular dependency on /path/to/core-image-minimal-initramfs.bb (do_image_complete)
ERROR: Command execution failed: Exited with 1
This is because IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}", and if
IMAGE_FSTYPES append hddimg, then core-image-minimal-initramfs.bb would
be circular dependency:
do_bootimg -> do_image_complete -> do_bootimg.
Now we check and error out.
(From OE-Core rev: 9b48bfbc2f60bdaa792a98485db68699e0635cbe)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/image-live.bbclass | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass index aafa7d5b23..d2314aaf0a 100644 --- a/meta/classes/image-live.bbclass +++ b/meta/classes/image-live.bbclass | |||
@@ -9,7 +9,6 @@ LABELS_append = " ${SYSLINUX_LABELS} " | |||
9 | 9 | ||
10 | ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ext4" | 10 | ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ext4" |
11 | 11 | ||
12 | do_bootimg[depends] += "${INITRD_IMAGE}:do_image_complete" | ||
13 | do_bootimg[depends] += "${PN}:do_image_ext4" | 12 | do_bootimg[depends] += "${PN}:do_image_ext4" |
14 | 13 | ||
15 | inherit bootimg | 14 | inherit bootimg |
@@ -18,3 +17,13 @@ IMAGE_TYPEDEP_live = "ext4" | |||
18 | IMAGE_TYPEDEP_iso = "ext4" | 17 | IMAGE_TYPEDEP_iso = "ext4" |
19 | IMAGE_TYPEDEP_hddimg = "ext4" | 18 | IMAGE_TYPEDEP_hddimg = "ext4" |
20 | IMAGE_TYPES_MASKED += "live hddimg iso" | 19 | IMAGE_TYPES_MASKED += "live hddimg iso" |
20 | |||
21 | python() { | ||
22 | image_b = d.getVar('IMAGE_BASENAME', True) | ||
23 | initrd_i = d.getVar('INITRD_IMAGE', True) | ||
24 | if image_b == initrd_i: | ||
25 | bb.error('INITRD_IMAGE %s cannot use image live, hddimg or iso.' % initrd_i) | ||
26 | bb.fatal('Check IMAGE_FSTYPES and INITRAMFS_FSTYPES settings.') | ||
27 | else: | ||
28 | d.appendVarFlag('do_bootimg', 'depends', ' %s:do_image_complete' % initrd_i) | ||
29 | } | ||