]> code.ossystems Code Review - openembedded-core.git/commitdiff
do_unpack: move qa check of unpack into insane.bbclass
authorBian Naimeng <biannm@cn.fujitsu.com>
Fri, 3 Jul 2015 03:47:47 +0000 (11:47 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 16 Jul 2015 14:08:42 +0000 (15:08 +0100)
Some source archive are not standard format.
For example, sometimes, we still need decompress file once again after base_do_unpack,
in such case, the following warning will be caught.

 WARNING: xxx : the directory ${WORKDIR}/xxxx (xxxxxx) pointed to by the S variable doesn't exist \
 - please set S within the recipe to point to where the source has been unpacked to

So, we should do this QA check after all of unpack jobs been completed.

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/base.bbclass
meta/classes/insane.bbclass

index fe803f1836217ca36e12c716bc9a78fdfc526ed8..e5417897d0801fb932acb6163998747a4445d7f1 100644 (file)
@@ -152,9 +152,6 @@ python base_do_unpack() {
         fetcher.unpack(rootdir)
     except bb.fetch2.BBFetchException as e:
         raise bb.build.FuncFailed(e)
-
-    if not os.path.exists(s_dir):
-        bb.warn('%s: the directory %s (%s) pointed to by the S variable doesn\'t exist - please set S within the recipe to point to where the source has been unpacked to' % (d.getVar('PN', True), d.getVar('S', False), s_dir))
 }
 
 def pkgarch_mapping(d):
index 4537eec891fc5188ec84b03e332963aca0690a60..fc3d5fffde264252a89ba39d018e8d1c4ae8b730 100644 (file)
@@ -1140,6 +1140,15 @@ Missing inherit gettext?""" % (gt, config))
         except subprocess.CalledProcessError:
             pass
 }
+
+python do_qa_unpack() {
+    bb.note("Checking has ${S} been created")
+
+    s_dir = d.getVar('S', True)
+    if not os.path.exists(s_dir):
+        bb.warn('%s: the directory %s (%s) pointed to by the S variable doesn\'t exist - please set S within the recipe to point to where the source has been unpacked to' % (d.getVar('PN', True), d.getVar('S', False), s_dir))
+}
+
 # The Staging Func, to check all staging
 #addtask qa_staging after do_populate_sysroot before do_build
 do_populate_sysroot[postfuncs] += "do_qa_staging "
@@ -1149,6 +1158,9 @@ do_populate_sysroot[postfuncs] += "do_qa_staging "
 #addtask qa_configure after do_configure before do_compile
 do_configure[postfuncs] += "do_qa_configure "
 
+# Check does S exist.
+do_unpack[postfuncs] += "do_qa_unpack"
+
 python () {
     tests = d.getVar('ALL_QA', True).split()
     if "desktop" in tests: