]> code.ossystems Code Review - openembedded-core.git/commitdiff
wic: Check for the existence/correctness of build artifacts
authorTom Zanussi <tom.zanussi@linux.intel.com>
Fri, 18 Oct 2013 04:45:37 +0000 (23:45 -0500)
committerRobert Yang <liezhi.yang@windriver.com>
Wed, 11 Dec 2013 02:12:18 +0000 (21:12 -0500)
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.

(From OE-Core master rev: a5b9ccadc0603c70c65f74fa386995c585a951db)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
scripts/wic

index a7221c361070a4ef0a700e522bb9aad5aa11ac44..08473d3df4baa49cba23a071935a535b2fdcb893 100755 (executable)
@@ -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,