summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMariano Lopez <mariano.lopez@linux.intel.com>2015-12-01 07:14:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-12-09 08:48:24 +0000
commitf95f729518296177a6280a6e19a0c1433d499710 (patch)
treee63751049273e08cc8e0c3462894352267483230 /scripts
parent9773faadfeee0e64fc405e0192f32aa8eca95a76 (diff)
downloadpoky-f95f729518296177a6280a6e19a0c1433d499710.tar.gz
wic/utils/misc.py: Added function to search for files in canned-wks
This change add two new function to search for files in the canned-wks folder for all the layers included in bblayers.conf. This will be used to search for custom configuration files for the bootloaders. There are similar functions in the wic engine, but these are focused in wks files only, so it was needed to create new ones. [YOCTO #8728] (From OE-Core rev: 356a942e75ac1743290d2c360d1bb89e2225b6cc) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/lib/wic/utils/misc.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/lib/wic/utils/misc.py b/scripts/lib/wic/utils/misc.py
index 9d750694df..d886d75b95 100644
--- a/scripts/lib/wic/utils/misc.py
+++ b/scripts/lib/wic/utils/misc.py
@@ -17,6 +17,7 @@
17 17
18import os 18import os
19import time 19import time
20import wic.engine
20 21
21def build_name(kscfg, release=None, prefix=None, suffix=None): 22def build_name(kscfg, release=None, prefix=None, suffix=None):
22 """Construct and return an image name string. 23 """Construct and return an image name string.
@@ -56,3 +57,41 @@ def build_name(kscfg, release=None, prefix=None, suffix=None):
56 ret = prefix + name + suffix 57 ret = prefix + name + suffix
57 58
58 return ret 59 return ret
60
61def find_boot_config(scripts_path, boot_file):
62 """
63 Find a config file with the given name in the canned files dir.
64
65 Return False if not found
66 """
67 if os.path.exists(boot_file):
68 return boot_file
69
70 layers_canned_wks_dir = wic.engine.build_canned_image_list(scripts_path)
71 for canned_wks_dir in layers_canned_wks_dir:
72 for root, dirs, files in os.walk(canned_wks_dir):
73 for fname in files:
74 if fname == boot_file:
75 fullpath = os.path.join(canned_wks_dir, fname)
76 return fullpath
77
78 return None
79
80def get_custom_config(boot_file):
81 """
82 Get the custom configuration to be used for the bootloader.
83
84 Return None if the file can't be found.
85 """
86 scripts_path = os.path.abspath(os.path.dirname(__file__))
87 # Get the scripts path of poky
88 for x in range(0, 3):
89 scripts_path = os.path.dirname(scripts_path)
90
91 cfg_file = find_boot_config(scripts_path, boot_file)
92 if cfg_file:
93 with open(cfg_file, "r") as f:
94 config = f.read()
95 return config
96
97 return None