Patchwork [1/2] wic: Check for the existence/correctness of build artifacts

login
register
mail settings
Submitter tom.zanussi@linux.intel.com
Date Oct. 18, 2013, 4:45 a.m.
Message ID <4a1a0d1872eef858826437e1e49bd1acfe9b6d87.1382071241.git.tom.zanussi@linux.intel.com>
Download mbox | patch
Permalink /patch/60189/
State Accepted
Commit a5b9ccadc0603c70c65f74fa386995c585a951db
Headers show

Comments

tom.zanussi@linux.intel.com - Oct. 18, 2013, 4:45 a.m.
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>
---
 scripts/wic | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Patch

diff --git a/scripts/wic b/scripts/wic
index a7221c3..08473d3 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,