diff options
Diffstat (limited to 'scripts/lib/wic/utils/misc.py')
-rw-r--r-- | scripts/lib/wic/utils/misc.py | 39 |
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 | ||
18 | import os | 18 | import os |
19 | import time | 19 | import time |
20 | import wic.engine | ||
20 | 21 | ||
21 | def build_name(kscfg, release=None, prefix=None, suffix=None): | 22 | def 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 | |||
61 | def 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 | |||
80 | def 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 | ||