diff options
Diffstat (limited to 'scripts/lib/mic/utils/misc.py')
-rw-r--r-- | scripts/lib/mic/utils/misc.py | 48 |
1 files changed, 1 insertions, 47 deletions
diff --git a/scripts/lib/mic/utils/misc.py b/scripts/lib/mic/utils/misc.py index 010b16ca49..194b88f691 100644 --- a/scripts/lib/mic/utils/misc.py +++ b/scripts/lib/mic/utils/misc.py | |||
@@ -19,11 +19,6 @@ import os | |||
19 | import sys | 19 | import sys |
20 | import time | 20 | import time |
21 | 21 | ||
22 | from mic import msger | ||
23 | from mic.utils.errors import CreatorError | ||
24 | from mic.utils.fs_related import find_binary_path, makedirs | ||
25 | from mic.utils import runner | ||
26 | |||
27 | def build_name(kscfg, release=None, prefix = None, suffix = None): | 22 | def build_name(kscfg, release=None, prefix = None, suffix = None): |
28 | """Construct and return an image name string. | 23 | """Construct and return an image name string. |
29 | 24 | ||
@@ -60,46 +55,5 @@ def build_name(kscfg, release=None, prefix = None, suffix = None): | |||
60 | suffix = "-%s" % suffix if suffix else "" | 55 | suffix = "-%s" % suffix if suffix else "" |
61 | 56 | ||
62 | ret = prefix + name + suffix | 57 | ret = prefix + name + suffix |
63 | return ret | ||
64 | |||
65 | def normalize_ksfile(ksconf, release, arch): | ||
66 | ''' | ||
67 | Return the name of a normalized ks file in which macro variables | ||
68 | @BUILD_ID@ and @ARCH@ are replace with real values. | ||
69 | |||
70 | The original ks file is returned if no special macro is used, otherwise | ||
71 | a temp file is created and returned, which will be deleted when program | ||
72 | exits normally. | ||
73 | ''' | ||
74 | |||
75 | if not release: | ||
76 | release = "latest" | ||
77 | if not arch or re.match(r'i.86', arch): | ||
78 | arch = "ia32" | ||
79 | |||
80 | with open(ksconf) as f: | ||
81 | ksc = f.read() | ||
82 | |||
83 | if "@ARCH@" not in ksc and "@BUILD_ID@" not in ksc: | ||
84 | return ksconf | ||
85 | 58 | ||
86 | msger.info("Substitute macro variable @BUILD_ID@/@ARCH@ in ks: %s" % ksconf) | 59 | return ret |
87 | ksc = ksc.replace("@ARCH@", arch) | ||
88 | ksc = ksc.replace("@BUILD_ID@", release) | ||
89 | |||
90 | fd, ksconf = tempfile.mkstemp(prefix=os.path.basename(ksconf)) | ||
91 | os.write(fd, ksc) | ||
92 | os.close(fd) | ||
93 | |||
94 | msger.debug('normalized ks file:%s' % ksconf) | ||
95 | |||
96 | def remove_temp_ks(): | ||
97 | try: | ||
98 | os.unlink(ksconf) | ||
99 | except OSError, err: | ||
100 | msger.warning('Failed to remove temp ks file:%s:%s' % (ksconf, err)) | ||
101 | |||
102 | import atexit | ||
103 | atexit.register(remove_temp_ks) | ||
104 | |||
105 | return ksconf | ||