* [PATCH] populate_sdk_ext: copy BBMULTICONFIG files
@ 2021-06-16 20:27 Justin Bronder
2021-06-16 20:42 ` [OE-core] " Joshua Watt
0 siblings, 1 reply; 2+ messages in thread
From: Justin Bronder @ 2021-06-16 20:27 UTC (permalink / raw)
To: openembedded-core; +Cc: Justin Bronder
As the generated local.conf includes BBMULTICONFIG, the referenced files
in conf/multiconfig also need to be copied. Otherwise with
BBMULTICONFIG="abc" for instance, building the esdk fails with:
ERROR: ParseError at tmp/build-glibc/work/qemux86_64-oe-linux/core-image-ssh/1.0-r0/sdk-ext/image/tmp-renamed-sdk/layers/openembedded-core/meta/conf/bitbake.conf:767: Could not include required file conf/multiconfig/abc.conf
Signed-off-by: Justin Bronder <jsbronder@cold-front.org>
---
meta/classes/populate_sdk_ext.bbclass | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index fe840d9cfb..71f601fa9b 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -397,6 +397,13 @@ python copy_buildsystem () {
f.write('require conf/locked-sigs.inc\n')
f.write('require conf/unlocked-sigs.inc\n')
+ # Copy multiple configurations if they exist
+ if d.getVar('BBMULTICONFIG') is not None:
+ bb.utils.mkdirhier(os.path.join(baseoutpath, 'conf', 'multiconfig'))
+ for mc in d.getVar('BBMULTICONFIG').split():
+ dest_stub = "/conf/multiconfig/%s.conf" % (mc,)
+ shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub)
+
if os.path.exists(builddir + '/cache/bb_unihashes.dat'):
bb.parse.siggen.save_unitaskhashes()
bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache'))
@@ -556,6 +563,9 @@ python copy_buildsystem () {
# sdk_ext_postinst() below) thus the checksum we take here would always
# be different.
manifest_file_list = ['conf/*']
+ if d.getVar('BBMULTICONFIG') is not None:
+ manifest_file_list.append('conf/multiconfig/*')
+
esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split()
esdk_manifest_excludes_list = []
for exclude_item in esdk_manifest_excludes:
@@ -564,7 +574,7 @@ python copy_buildsystem () {
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:
+ if fn == manifest_file or os.path.isdir(fn):
continue
if fn in esdk_manifest_excludes_list:
continue
--
2.31.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [OE-core] [PATCH] populate_sdk_ext: copy BBMULTICONFIG files
2021-06-16 20:27 [PATCH] populate_sdk_ext: copy BBMULTICONFIG files Justin Bronder
@ 2021-06-16 20:42 ` Joshua Watt
0 siblings, 0 replies; 2+ messages in thread
From: Joshua Watt @ 2021-06-16 20:42 UTC (permalink / raw)
To: Justin Bronder, openembedded-core
[-- Attachment #1: Type: text/plain, Size: 2877 bytes --]
On 6/16/21 3:27 PM, Justin Bronder wrote:
> As the generated local.conf includes BBMULTICONFIG, the referenced files
> in conf/multiconfig also need to be copied. Otherwise with
> BBMULTICONFIG="abc" for instance, building the esdk fails with:
>
> ERROR: ParseError at tmp/build-glibc/work/qemux86_64-oe-linux/core-image-ssh/1.0-r0/sdk-ext/image/tmp-renamed-sdk/layers/openembedded-core/meta/conf/bitbake.conf:767: Could not include required file conf/multiconfig/abc.conf
>
> Signed-off-by: Justin Bronder <jsbronder@cold-front.org>
> ---
> meta/classes/populate_sdk_ext.bbclass | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
> index fe840d9cfb..71f601fa9b 100644
> --- a/meta/classes/populate_sdk_ext.bbclass
> +++ b/meta/classes/populate_sdk_ext.bbclass
> @@ -397,6 +397,13 @@ python copy_buildsystem () {
> f.write('require conf/locked-sigs.inc\n')
> f.write('require conf/unlocked-sigs.inc\n')
>
> + # Copy multiple configurations if they exist
> + if d.getVar('BBMULTICONFIG') is not None:
> + bb.utils.mkdirhier(os.path.join(baseoutpath, 'conf', 'multiconfig'))
> + for mc in d.getVar('BBMULTICONFIG').split():
> + dest_stub = "/conf/multiconfig/%s.conf" % (mc,)
> + shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub)
multiconfig files can live in layers also, so they may not be in the the
users conf/multiconfig directory. I'm not sure if you need to copy them
for the esdk to work, but at a minimum if you don't find a multiconfig
in the users conf directory it shouldn't be an error
> +
> if os.path.exists(builddir + '/cache/bb_unihashes.dat'):
> bb.parse.siggen.save_unitaskhashes()
> bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache'))
> @@ -556,6 +563,9 @@ python copy_buildsystem () {
> # sdk_ext_postinst() below) thus the checksum we take here would always
> # be different.
> manifest_file_list = ['conf/*']
> + if d.getVar('BBMULTICONFIG') is not None:
> + manifest_file_list.append('conf/multiconfig/*')
> +
> esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split()
> esdk_manifest_excludes_list = []
> for exclude_item in esdk_manifest_excludes:
> @@ -564,7 +574,7 @@ python copy_buildsystem () {
> 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:
> + if fn == manifest_file or os.path.isdir(fn):
> continue
> if fn in esdk_manifest_excludes_list:
> continue
>
>
>
[-- Attachment #2: Type: text/html, Size: 3513 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-06-16 20:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-16 20:27 [PATCH] populate_sdk_ext: copy BBMULTICONFIG files Justin Bronder
2021-06-16 20:42 ` [OE-core] " Joshua Watt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.