summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/utils/misc.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/wic/utils/misc.py')
-rw-r--r--scripts/lib/wic/utils/misc.py32
1 files changed, 18 insertions, 14 deletions
diff --git a/scripts/lib/wic/utils/misc.py b/scripts/lib/wic/utils/misc.py
index edb9c5b484..b7b835afbb 100644
--- a/scripts/lib/wic/utils/misc.py
+++ b/scripts/lib/wic/utils/misc.py
@@ -26,14 +26,17 @@
26# 26#
27"""Miscellaneous functions.""" 27"""Miscellaneous functions."""
28 28
29import logging
29import os 30import os
30import re 31import re
32
31from collections import defaultdict 33from collections import defaultdict
32from distutils import spawn 34from distutils import spawn
33 35
34from wic import msger
35from wic.utils import runner 36from wic.utils import runner
36 37
38logger = logging.getLogger('wic')
39
37# executable -> recipe pairs for exec_native_cmd 40# executable -> recipe pairs for exec_native_cmd
38NATIVE_RECIPES = {"bmaptool": "bmap-tools", 41NATIVE_RECIPES = {"bmaptool": "bmap-tools",
39 "grub-mkimage": "grub-efi", 42 "grub-mkimage": "grub-efi",
@@ -61,9 +64,9 @@ def _exec_cmd(cmd_and_args, as_shell=False, catch=3):
61 64
62 Need to execute as_shell if the command uses wildcards 65 Need to execute as_shell if the command uses wildcards
63 """ 66 """
64 msger.debug("_exec_cmd: %s" % cmd_and_args) 67 logger.debug("_exec_cmd: %s", cmd_and_args)
65 args = cmd_and_args.split() 68 args = cmd_and_args.split()
66 msger.debug(args) 69 logger.debug(args)
67 70
68 if as_shell: 71 if as_shell:
69 ret, out = runner.runtool(cmd_and_args, catch) 72 ret, out = runner.runtool(cmd_and_args, catch)
@@ -71,11 +74,12 @@ def _exec_cmd(cmd_and_args, as_shell=False, catch=3):
71 ret, out = runner.runtool(args, catch) 74 ret, out = runner.runtool(args, catch)
72 out = out.strip() 75 out = out.strip()
73 if ret != 0: 76 if ret != 0:
74 msger.error("_exec_cmd: %s returned '%s' instead of 0\noutput: %s" % \ 77 logger.error("_exec_cmd: %s returned '%s' instead of 0\noutput: %s" % \
75 (cmd_and_args, ret, out)) 78 (cmd_and_args, ret, out))
79 sys.exit(1)
76 80
77 msger.debug("_exec_cmd: output for %s (rc = %d): %s" % \ 81 logger.debug("_exec_cmd: output for %s (rc = %d): %s",
78 (cmd_and_args, ret, out)) 82 cmd_and_args, ret, out)
79 83
80 return ret, out 84 return ret, out
81 85
@@ -97,7 +101,7 @@ def exec_native_cmd(cmd_and_args, native_sysroot, catch=3, pseudo=""):
97 """ 101 """
98 # The reason -1 is used is because there may be "export" commands. 102 # The reason -1 is used is because there may be "export" commands.
99 args = cmd_and_args.split(';')[-1].split() 103 args = cmd_and_args.split(';')[-1].split()
100 msger.debug(args) 104 logger.debug(args)
101 105
102 if pseudo: 106 if pseudo:
103 cmd_and_args = pseudo + cmd_and_args 107 cmd_and_args = pseudo + cmd_and_args
@@ -106,7 +110,7 @@ def exec_native_cmd(cmd_and_args, native_sysroot, catch=3, pseudo=""):
106 (native_sysroot, native_sysroot, native_sysroot) 110 (native_sysroot, native_sysroot, native_sysroot)
107 native_cmd_and_args = "export PATH=%s:$PATH;%s" % \ 111 native_cmd_and_args = "export PATH=%s:$PATH;%s" % \
108 (native_paths, cmd_and_args) 112 (native_paths, cmd_and_args)
109 msger.debug("exec_native_cmd: %s" % cmd_and_args) 113 logger.debug("exec_native_cmd: %s", cmd_and_args)
110 114
111 # If the command isn't in the native sysroot say we failed. 115 # If the command isn't in the native sysroot say we failed.
112 if spawn.find_executable(args[0], native_paths): 116 if spawn.find_executable(args[0], native_paths):
@@ -127,7 +131,7 @@ def exec_native_cmd(cmd_and_args, native_sysroot, catch=3, pseudo=""):
127 else: 131 else:
128 msg += "Wic failed to find a recipe to build native %s. Please "\ 132 msg += "Wic failed to find a recipe to build native %s. Please "\
129 "file a bug against wic.\n" % prog 133 "file a bug against wic.\n" % prog
130 msger.error(msg) 134 logger.error(msg)
131 135
132 return ret, out 136 return ret, out
133 137
@@ -184,14 +188,14 @@ class BitbakeVars(defaultdict):
184 if image: 188 if image:
185 cmd += " %s" % image 189 cmd += " %s" % image
186 190
187 log_level = msger.get_loglevel() 191 log_level = logger.getEffectiveLevel()
188 msger.set_loglevel('normal') 192 logger.setLevel(logging.INFO)
189 ret, lines = _exec_cmd(cmd) 193 ret, lines = _exec_cmd(cmd)
190 msger.set_loglevel(log_level) 194 logger.setLevel(log_level)
191 195
192 if ret: 196 if ret:
193 print("Couldn't get '%s' output." % cmd) 197 logger.error("Couldn't get '%s' output.", cmd)
194 print("Bitbake failed with error:\n%s\n" % lines) 198 logger.error("Bitbake failed with error:\n%s\n", lines)
195 return 199 return
196 200
197 # Parse bitbake -e output 201 # Parse bitbake -e output