aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Zanussi <tom.zanussi@linux.intel.com>2013-10-17 23:45:37 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-10-18 15:50:33 +0100
commita5b9ccadc0603c70c65f74fa386995c585a951db (patch)
tree56f69979b94eee9812784e8f485581649eb8a8b8
parent5b3c2aac48dd060f20a3c65f15560996c35695fd (diff)
downloadopenembedded-core-contrib-a5b9ccadc0603c70c65f74fa386995c585a951db.tar.gz
wic: Check for the existence/correctness of build artifacts
If a user uses the -e option and specifies a machine that hasn't been built or uses the wrong .wks script for the build artifacts pointed to by the current machine, we should point that out for obvious cases. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xscripts/wic20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/wic b/scripts/wic
index a7221c3610..08473d3df4 100755
--- a/scripts/wic
+++ b/scripts/wic
@@ -143,6 +143,26 @@ def wic_create_subcommand(args, usage_str):
if not os.path.isdir(native_sysroot):
print "--native-sysroot (-n) not found, exiting\n"
sys.exit(1)
+ else:
+ not_found = not_found_dir = ""
+ if not os.path.isdir(rootfs_dir):
+ (not_found, not_found_dir) = ("rootfs-dir", rootfs_dir)
+ elif not os.path.isdir(hdddir) and not os.path.isdir(staging_data_dir):
+ (not_found, not_found_dir) = ("bootimg-dir", bootimg_dir)
+ elif not os.path.isdir(kernel_dir):
+ (not_found, not_found_dir) = ("kernel-dir", kernel_dir)
+ elif not os.path.isdir(native_sysroot):
+ (not_found, not_found_dir) = ("native-sysroot", native_sysroot)
+ if not_found:
+ if not not_found_dir:
+ not_found_dir = "Completely missing artifact - wrong image (.wks) used?"
+ print "Build artifacts not found, exiting."
+ print " (Please check that the build artifacts for the machine"
+ print " selected in local.conf actually exist and that they"
+ print " are the correct artifacts for the image (.wks file)).\n"
+ print "The artifact that couldn't be found was %s:\n %s" % \
+ (not_found, not_found_dir)
+ sys.exit(1)
wic_create(args, wks_file, rootfs_dir, bootimg_dir, kernel_dir,
native_sysroot, hdddir, staging_data_dir, scripts_path,