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 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 (#170631): https://lists.openembedded.org/g/openembedded-core/message/170631 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]] -=-=-=-=-=-=-=-=-=-=-=-
