[OE-core] [PATCH] archiver.bbclass: do checkout for kernel
Jian Liu
jian.liu at windriver.com
Mon Nov 2 06:23:38 UTC 2015
The repo of kernel is bare git repository and we need to checkout to get
the source code.
Signed-off-by: Jian Liu <jian.liu at windriver.com>
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index 41a552c..7387fbf 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -66,6 +66,11 @@ python () {
ar_recipe = d.getVarFlag('ARCHIVER_MODE', 'recipe', True)
if ar_src == "original":
+ # For kernel, it is bare repo, we need to checkout
+ if bb.data.inherits_class('kernel-yocto', d):
+ bb.build.addtask('do_ar_original', 'do_kernel_metadata', 'do_validate_branches', d)
+ else:
+ bb.build.addtask('do_ar_original', None, 'do_unpack', d)
d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_ar_original' % pn)
elif ar_src == "patched":
d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_ar_patched' % pn)
@@ -113,6 +118,12 @@ python do_ar_original() {
ar_outdir = d.getVar('ARCHIVER_OUTDIR', True)
bb.note('Archiving the original source...')
+ # For kernel, the source code is shared
+ if bb.data.inherits_class('kernel-yocto', d):
+ srcdir = d.getVar('S', True)
+ create_tarball(d, srcdir, 'original', ar_outdir)
+ return
+
fetch = bb.fetch2.Fetch([], d)
for url in fetch.urls:
local = fetch.localpath(url).rstrip("/");
@@ -346,7 +357,6 @@ python do_deploy_archives_setscene () {
do_deploy_archives[sstate-inputdirs] = "${ARCHIVER_TOPDIR}"
do_deploy_archives[sstate-outputdirs] = "${DEPLOY_DIR_SRC}"
-addtask do_ar_original after do_unpack
addtask do_ar_patched after do_unpack_and_patch
addtask do_ar_configured after do_unpack_and_patch
addtask do_dumpdata
More information about the Openembedded-core
mailing list