wic requires tools that are not always possible to find in $PATH. This causes wic to fail with confusing errors like this: External command 'parted' not found, exiting. (Please install 'parted' on your host system)
Adding ~/bin/, /usr/local/sbin, /usr/local/bin, /usr/sbin, /usr/bin, /sbin and /bin to the list of paths makes find_binary_path to produce more reliable results. [YOCTO #7122] Signed-off-by: Ed Bartosh <ed.bart...@linux.intel.com> --- scripts/lib/wic/utils/fs_related.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/lib/wic/utils/fs_related.py b/scripts/lib/wic/utils/fs_related.py index ea9f85c..832a44a 100644 --- a/scripts/lib/wic/utils/fs_related.py +++ b/scripts/lib/wic/utils/fs_related.py @@ -32,13 +32,16 @@ from wic.utils.errors import * from wic.utils.oe.misc import * def find_binary_path(binary): + paths = [] if os.environ.has_key("PATH"): paths = os.environ["PATH"].split(":") - else: - paths = [] - if os.environ.has_key("HOME"): - paths += [os.environ["HOME"] + "/bin"] - paths += ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"] + if os.environ.has_key("HOME"): + path = os.path.join(os.environ["HOME"], "bin") + if path not in paths: + paths.append(path) + for path in ["/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin"]: + if path not in paths: + paths.append(path) for path in paths: bin_path = "%s/%s" % (path, binary) -- 2.1.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core