summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/plugins/source/rootfs.py
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2015-06-26 21:27:31 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-02 23:08:36 +0100
commitaa470a1fcd09abbc570d3d885aff460603ef9925 (patch)
treef04cc1fe57fa3a1310ce8c7cab3cd213d5b7c6a1 /scripts/lib/wic/plugins/source/rootfs.py
parent673343414f4c9db32e3e0c58f07c59954bab734c (diff)
downloadpoky-aa470a1fcd09abbc570d3d885aff460603ef9925.tar.gz
wic: Refactor getting bitbake variables
Wic gets bitbake variables by parsing output of 'bitbake -e' command. This implementation improves this procedure as it runs 'bitbake -e' only when API is called and does it only once, i.e. in a "lazy" way. As parsing results are cached 'bitbake -e' is run only once and results are parsed only once per requested set of variables. get_bitbake_var became the only API call. It replaces find_artifacts, find_artifact, find_bitbake_env_lines, get_bitbake_env_lines, set_bitbake_env_lines and get_line_val calls making API much more clear. (From OE-Core rev: 3abe23bd217315246ec2d98dc9c390b85cfe6a92) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/wic/plugins/source/rootfs.py')
-rw-r--r--scripts/lib/wic/plugins/source/rootfs.py9
1 files changed, 2 insertions, 7 deletions
diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py
index 12fbf67a6e..a90712b247 100644
--- a/scripts/lib/wic/plugins/source/rootfs.py
+++ b/scripts/lib/wic/plugins/source/rootfs.py
@@ -29,7 +29,7 @@ import os
29 29
30from wic import msger 30from wic import msger
31from wic.pluginbase import SourcePlugin 31from wic.pluginbase import SourcePlugin
32from wic.utils.oe.misc import find_bitbake_env_lines, find_artifact 32from wic.utils.oe.misc import get_bitbake_var
33 33
34class RootfsPlugin(SourcePlugin): 34class RootfsPlugin(SourcePlugin):
35 """ 35 """
@@ -43,12 +43,7 @@ class RootfsPlugin(SourcePlugin):
43 if os.path.isdir(rootfs_dir): 43 if os.path.isdir(rootfs_dir):
44 return rootfs_dir 44 return rootfs_dir
45 45
46 bitbake_env_lines = find_bitbake_env_lines(rootfs_dir) 46 image_rootfs_dir = get_bitbake_var("IMAGE_ROOTFS", rootfs_dir)
47 if not bitbake_env_lines:
48 msg = "Couldn't get bitbake environment, exiting."
49 msger.error(msg)
50
51 image_rootfs_dir = find_artifact(bitbake_env_lines, "IMAGE_ROOTFS")
52 if not os.path.isdir(image_rootfs_dir): 47 if not os.path.isdir(image_rootfs_dir):
53 msg = "No valid artifact IMAGE_ROOTFS from image named" 48 msg = "No valid artifact IMAGE_ROOTFS from image named"
54 msg += " %s has been found at %s, exiting.\n" % \ 49 msg += " %s has been found at %s, exiting.\n" % \