diff options
Diffstat (limited to 'scripts/lib/wic/utils')
-rw-r--r-- | scripts/lib/wic/utils/misc.py | 32 | ||||
-rw-r--r-- | scripts/lib/wic/utils/runner.py | 12 |
2 files changed, 26 insertions, 18 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 | ||
29 | import logging | ||
29 | import os | 30 | import os |
30 | import re | 31 | import re |
32 | |||
31 | from collections import defaultdict | 33 | from collections import defaultdict |
32 | from distutils import spawn | 34 | from distutils import spawn |
33 | 35 | ||
34 | from wic import msger | ||
35 | from wic.utils import runner | 36 | from wic.utils import runner |
36 | 37 | ||
38 | logger = logging.getLogger('wic') | ||
39 | |||
37 | # executable -> recipe pairs for exec_native_cmd | 40 | # executable -> recipe pairs for exec_native_cmd |
38 | NATIVE_RECIPES = {"bmaptool": "bmap-tools", | 41 | NATIVE_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 |
diff --git a/scripts/lib/wic/utils/runner.py b/scripts/lib/wic/utils/runner.py index db536ba588..d27dcc7afd 100644 --- a/scripts/lib/wic/utils/runner.py +++ b/scripts/lib/wic/utils/runner.py | |||
@@ -15,10 +15,12 @@ | |||
15 | # with this program; if not, write to the Free Software Foundation, Inc., 59 | 15 | # with this program; if not, write to the Free Software Foundation, Inc., 59 |
16 | # Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 16 | # Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
17 | 17 | ||
18 | import logging | ||
18 | import os | 19 | import os |
19 | import subprocess | 20 | import subprocess |
21 | import sys | ||
20 | 22 | ||
21 | from wic import msger | 23 | logger = logging.getLogger('wic') |
22 | 24 | ||
23 | def runtool(cmdln_or_args, catch=1): | 25 | def runtool(cmdln_or_args, catch=1): |
24 | """ wrapper for most of the subprocess calls | 26 | """ wrapper for most of the subprocess calls |
@@ -70,7 +72,8 @@ def runtool(cmdln_or_args, catch=1): | |||
70 | except OSError as err: | 72 | except OSError as err: |
71 | if err.errno == 2: | 73 | if err.errno == 2: |
72 | # [Errno 2] No such file or directory | 74 | # [Errno 2] No such file or directory |
73 | msger.error('Cannot run command: %s, lost dependency?' % cmd) | 75 | logger.error('Cannot run command: %s, lost dependency?', cmd) |
76 | sys.exit(1) | ||
74 | else: | 77 | else: |
75 | raise # relay | 78 | raise # relay |
76 | finally: | 79 | finally: |
@@ -80,7 +83,7 @@ def runtool(cmdln_or_args, catch=1): | |||
80 | return (process.returncode, out) | 83 | return (process.returncode, out) |
81 | 84 | ||
82 | def show(cmdln_or_args): | 85 | def show(cmdln_or_args): |
83 | # show all the message using msger.verbose | 86 | """Show all messages using logger.debug.""" |
84 | 87 | ||
85 | rcode, out = runtool(cmdln_or_args, catch=3) | 88 | rcode, out = runtool(cmdln_or_args, catch=3) |
86 | 89 | ||
@@ -99,7 +102,8 @@ def show(cmdln_or_args): | |||
99 | msg += '\n | %s' % line | 102 | msg += '\n | %s' % line |
100 | msg += '\n +----------------' | 103 | msg += '\n +----------------' |
101 | 104 | ||
102 | msger.verbose(msg) | 105 | logger.debug(msg) |
106 | |||
103 | return rcode | 107 | return rcode |
104 | 108 | ||
105 | def outs(cmdln_or_args, catch=1): | 109 | def outs(cmdln_or_args, catch=1): |