]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
populate_sdk_ext.bbclass: add SDK_CONF_MANIFEST_EXCLUDE rbt/fix_from_wr
authorChen Qi <Qi.Chen@windriver.com>
Wed, 15 Nov 2017 06:00:44 +0000 (14:00 +0800)
committerRobert Yang <liezhi.yang@windriver.com>
Fri, 13 Jul 2018 02:31:53 +0000 (10:31 +0800)
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@windriver.com>
meta/classes/populate_sdk_ext.bbclass

index 9c31d70f2a4a2a36b04fd1b8f0b183134a741312..bbe6c5949a7a2e27d776acb2d77faa7c65157550 100644 (file)
@@ -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)))
 }