On 9/14/22 13:00, Alexander Kanavin wrote:
Hello,
this is done for reasons of discoverability and consistency with
machine and distro definitions: they all should be under
meta-somelayer/conf/. This way both tools and humans can easily find
the config templates, and be certain that this is the only location..
Alex
Hi Alex,
I'm reluctant to agree that this is like machine and distro, because
it's a hard requirement that machine and distro definitions be under
some layer, otherwise how can bitbake get info about it? But
TEMPLATECONF seems to be a different case, it could be everywhere
because it's used by the project setup script.
In our case, the TEMPLATECONF is <project_dir>/config/, and layers are
<project_dir>/<layer>/. This directory hierarchy has been working for
years until recent changes.
Do you think such directory hierarchy makes sense? How about we deleting
such check if there's no strong technical reason to do so? By 'strong
technical reason', I mean that some codes in oe-core are written based
on this assumption (this is the part I'm sure about).
Regards,
Qi
On Wed, 14 Sept 2022 at 05:27, ChenQi <[email protected]> wrote:
Hi Alex,
Why must TEMPLATECONF be under a layer?
Regards,
Qi
On 8/31/22 19:13, Alexander Kanavin wrote:
specifically that ../../layer.conf exists, and that second-from-last
component in the path is 'templates'.
This requires tweaking template.conf creation in eSDK bbclass, as
we need to ensure that the path in it is valid, and exists
(which may not be the case if the SDK is poky-based).
Signed-off-by: Alexander Kanavin <[email protected]>
---
meta/classes-recipe/populate_sdk_ext.bbclass | 3 ++-
scripts/oe-setup-builddir | 5 +++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/meta/classes-recipe/populate_sdk_ext.bbclass
b/meta/classes-recipe/populate_sdk_ext.bbclass
index 56e24c4eed..925cb313fc 100644
--- a/meta/classes-recipe/populate_sdk_ext.bbclass
+++ b/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -438,7 +438,8 @@ python copy_buildsystem () {
else:
# Write a templateconf.cfg
with open(baseoutpath + '/conf/templateconf.cfg', 'w') as f:
- f.write('meta/conf\n')
+ f.write('meta/conf/templates/default\n')
+ os.makedirs(os.path.join(baseoutpath, core_meta_subdir,
'conf/templates/default'), exist_ok=True)
# Ensure any variables set from the external environment (by way of
# BB_ENV_PASSTHROUGH_ADDITIONS) are set in the SDK's configuration
diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir
index 5d644168cb..bf832ee0ca 100755
--- a/scripts/oe-setup-builddir
+++ b/scripts/oe-setup-builddir
@@ -61,6 +61,11 @@ if [ -n "$TEMPLATECONF" ]; then
echo >&2 "Error: TEMPLATECONF value points to nonexistent directory
'$TEMPLATECONF'"
exit 1
fi
+ templatesdir=$(python3 -c "import sys;
print(sys.argv[1].strip('/').split('/')[-2])" $TEMPLATECONF)
+ if [ ! -f "$TEMPLATECONF/../../layer.conf" -o $templatesdir !=
"templates" ]; then
+ echo >&2 "Error: TEMPLATECONF value (which is $TEMPLATECONF) must point
to meta-some-layer/conf/templates/template-name"
+ exit 1
+ fi
fi
OECORELAYERCONF="$TEMPLATECONF/bblayers.conf.sample"
OECORELOCALCONF="$TEMPLATECONF/local.conf.sample"
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#170633):
https://lists.openembedded.org/g/openembedded-core/message/170633
Mute This Topic: https://lists.openembedded.org/mt/93368468/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-