From 4012fd32359d733b18cbe178f95ff47d04848526 Mon Sep 17 00:00:00 2001 From: Bian Naimeng Date: Fri, 3 Jul 2015 11:47:47 +0800 Subject: [PATCH] do_unpack: move qa check of unpack into insane.bbclass 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. (From OE-Core rev: 81216da9fa90dc8a67a0f367742b1e73afec0aa1) Signed-off-by: Bian Naimeng Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 3 --- meta/classes/insane.bbclass | 12 ++++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index fe803f1836..e5417897d0 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -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): diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 4537eec891..fc3d5fffde 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -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: