diff options
-rw-r--r-- | scripts/lib/wic/plugins/source/otaimage.py | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/scripts/lib/wic/plugins/source/otaimage.py b/scripts/lib/wic/plugins/source/otaimage.py index 4b30776..1f82af7 100644 --- a/scripts/lib/wic/plugins/source/otaimage.py +++ b/scripts/lib/wic/plugins/source/otaimage.py | |||
@@ -19,6 +19,7 @@ import logging | |||
19 | import os | 19 | import os |
20 | import sys | 20 | import sys |
21 | 21 | ||
22 | from wic import WicError | ||
22 | from wic.plugins.source.rawcopy import RawCopyPlugin | 23 | from wic.plugins.source.rawcopy import RawCopyPlugin |
23 | from wic.misc import get_bitbake_var | 24 | from wic.misc import get_bitbake_var |
24 | 25 | ||
@@ -32,6 +33,18 @@ class OTAImagePlugin(RawCopyPlugin): | |||
32 | name = 'otaimage' | 33 | name = 'otaimage' |
33 | 34 | ||
34 | @classmethod | 35 | @classmethod |
36 | def _get_src_file(cls, image_dir_var): | ||
37 | """ | ||
38 | Get OTA image file from image directory variable. | ||
39 | """ | ||
40 | image_dir = get_bitbake_var(image_dir_var) | ||
41 | if not image_dir: | ||
42 | raise WicError("Couldn't find %s, exiting" % image_dir_var) | ||
43 | |||
44 | image_file = image_dir + "/" + get_bitbake_var("IMAGE_LINK_NAME") + ".ota-ext4" | ||
45 | return image_file if os.path.exists(image_file) else "" | ||
46 | |||
47 | @classmethod | ||
35 | def do_prepare_partition(cls, part, source_params, cr, cr_workdir, | 48 | def do_prepare_partition(cls, part, source_params, cr, cr_workdir, |
36 | oe_builddir, bootimg_dir, kernel_dir, | 49 | oe_builddir, bootimg_dir, kernel_dir, |
37 | rootfs_dir, native_sysroot): | 50 | rootfs_dir, native_sysroot): |
@@ -39,13 +52,12 @@ class OTAImagePlugin(RawCopyPlugin): | |||
39 | Called to do the actual content population for a partition i.e. it | 52 | Called to do the actual content population for a partition i.e. it |
40 | 'prepares' the partition to be incorporated into the image. | 53 | 'prepares' the partition to be incorporated into the image. |
41 | """ | 54 | """ |
42 | bootimg_dir = get_bitbake_var("IMGDEPLOYDIR") | ||
43 | if not bootimg_dir: | ||
44 | logger.error("Couldn't find DEPLOY_DIR_IMAGE, exiting\n") | ||
45 | |||
46 | logger.debug('Bootimg dir: %s' % bootimg_dir) | ||
47 | 55 | ||
48 | src = bootimg_dir + "/" + get_bitbake_var("IMAGE_LINK_NAME") + ".ota-ext4" | 56 | src = cls._get_src_file("IMGDEPLOYDIR") |
57 | if not src: | ||
58 | src = cls._get_src_file("DEPLOY_DIR_IMAGE") | ||
59 | if not src: | ||
60 | raise WicError("Couldn't find ota image in IMGDEPLOYDIR or DEPLOY_DIR_IMAGE, exiting") | ||
49 | 61 | ||
50 | logger.debug('Preparing partition using image %s' % (src)) | 62 | logger.debug('Preparing partition using image %s' % (src)) |
51 | source_params['file'] = src | 63 | source_params['file'] = src |