[OE-core] [PATCH V4 4/4] populate_sdk_ext.bbclass: add SDK_CONF_MANIFEST_EXCLUDE
Robert Yang
liezhi.yang at windriver.com
Fri Jul 13 02:36:24 UTC 2018
From: Chen Qi <Qi.Chen at windriver.com>
Add SDK_CONF_MANIFEST_EXCLUDE 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
SDK_CONF_MANIFEST_EXCLUDE to enable users to do this.
This variable takes the form of glob matching.
e.g.
SDK_CONF_MANIFEST_EXCLUDE = "conf/autogen*"
This would exclude all files under conf/ starting with 'autogen' from
sdk-conf-manifest.
Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
meta/classes/populate_sdk_ext.bbclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 9c31d70..bbe6c59 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -479,12 +479,19 @@ 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('SDK_CONF_MANIFEST_EXCLUDE') 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:
+ bb.note('Exclude %s since it is in SDK_CONF_MANIFEST_EXCLUDE' % fn)
+ continue
chksum = bb.utils.sha256_file(fn)
f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, baseoutpath)))
}
--
2.7.4
More information about the Openembedded-core
mailing list