From 23bb87bff7b3446a8d4cd8ea6428274bedfae395 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Tue, 29 Sep 2020 11:22:14 +0800 Subject: populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES Add ESDK_MANIFEST_EXCLUDES to enable excluding items in sdk-conf-manifest. By default, files under conf/ are all added to sdk-conf-manifest, as the manifest file is set to 'conf/*'. However, there are situations where some configuration files under conf/ directory are not intended to be added to sdk-conf-manifest, thus adding ESDK_MANIFEST_EXCLUDES to enable users to do this. This variable takes the form of glob matching. e.g. ESDK_MANIFEST_EXCLUDES = "conf/autogen*" This would exclude all files under conf/ starting with 'autogen' from sdk-conf-manifest. (From OE-Core rev: 2d71e427b530ec4ea5524efa951b6a87f21b8b22) Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/classes/populate_sdk_ext.bbclass | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'meta/classes/populate_sdk_ext.bbclass') diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index d659b6940a..6f35b612c2 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -522,12 +522,18 @@ python copy_buildsystem () { # sdk_ext_postinst() below) thus the checksum we take here would always # be different. manifest_file_list = ['conf/*'] + esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split() + esdk_manifest_excludes_list = [] + for exclude_item in esdk_manifest_excludes: + esdk_manifest_excludes_list += glob.glob(os.path.join(baseoutpath, exclude_item)) manifest_file = os.path.join(baseoutpath, 'conf', 'sdk-conf-manifest') with open(manifest_file, 'w') as f: for item in manifest_file_list: for fn in glob.glob(os.path.join(baseoutpath, item)): if fn == manifest_file: continue + if fn in esdk_manifest_excludes_list: + continue chksum = bb.utils.sha256_file(fn) f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, baseoutpath))) } -- cgit v1.2.3-54-g00ecf