diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2020-09-29 11:22:14 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-30 15:01:51 +0100 |
commit | 23bb87bff7b3446a8d4cd8ea6428274bedfae395 (patch) | |
tree | 140e62395f43c1c7d0b8a4f963a3d4f56f5a7c1a /meta/classes | |
parent | 31d3042487c7e1d61bcde37801d17e518ca88da0 (diff) | |
download | poky-23bb87bff7b3446a8d4cd8ea6428274bedfae395.tar.gz |
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 <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 6 |
1 files changed, 6 insertions, 0 deletions
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 () { | |||
522 | # sdk_ext_postinst() below) thus the checksum we take here would always | 522 | # sdk_ext_postinst() below) thus the checksum we take here would always |
523 | # be different. | 523 | # be different. |
524 | manifest_file_list = ['conf/*'] | 524 | manifest_file_list = ['conf/*'] |
525 | esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split() | ||
526 | esdk_manifest_excludes_list = [] | ||
527 | for exclude_item in esdk_manifest_excludes: | ||
528 | esdk_manifest_excludes_list += glob.glob(os.path.join(baseoutpath, exclude_item)) | ||
525 | manifest_file = os.path.join(baseoutpath, 'conf', 'sdk-conf-manifest') | 529 | manifest_file = os.path.join(baseoutpath, 'conf', 'sdk-conf-manifest') |
526 | with open(manifest_file, 'w') as f: | 530 | with open(manifest_file, 'w') as f: |
527 | for item in manifest_file_list: | 531 | for item in manifest_file_list: |
528 | for fn in glob.glob(os.path.join(baseoutpath, item)): | 532 | for fn in glob.glob(os.path.join(baseoutpath, item)): |
529 | if fn == manifest_file: | 533 | if fn == manifest_file: |
530 | continue | 534 | continue |
535 | if fn in esdk_manifest_excludes_list: | ||
536 | continue | ||
531 | chksum = bb.utils.sha256_file(fn) | 537 | chksum = bb.utils.sha256_file(fn) |
532 | f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, baseoutpath))) | 538 | f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, baseoutpath))) |
533 | } | 539 | } |