Skip to contentSkip to conversation

A couple of fixes relating to TEMPLATECONF

PATCH New Paul Eggleton 1 participant 3 messages Nov 2, 2016

lore
Share & tools
lore
#0 lore raw

cover A couple of fixes relating to TEMPLATECONF

The following changes since commit 98c6ebf1e05158c689e01b785d32757847cdb10c:

oeqa/selftest/kernel.py: Add new file destined for kernel related tests (2016-11-01 10:05:40 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib paule/templateconf
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/templateconf

Paul Eggleton (2):
oe-setup-builddir: fix TEMPLATECONF error message classes/populate_sdk_ext: prevent invalid TEMPLATECONF entering eSDK

 meta/classes/populate_sdk_ext.bbclass | 6 +++++-
 scripts/oe-setup-builddir             | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)
Signature · 1 line
2.5.5
#1 lore raw

PATCH 1/2 oe-setup-builddir: fix TEMPLATECONF error message

This directory shouldn't contain local.conf and bblayers.conf - just templates for them; except it doesn't have to contain those, it just has to exist to pass this test. Change the error message accordingly, and mention TEMPLATECONF so that the user has at least some context.

---
 scripts/oe-setup-builddir | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/oe-setup-builddir +1 -1
index 93722e0..e53f73c 100755
@@ -61,7 +61,7 @@ if [ -n "$TEMPLATECONF" ]; then
             TEMPLATECONF="$OEROOT/$TEMPLATECONF"
         fi
         if [ ! -d "$TEMPLATECONF" ]; then
-            echo >&2 "Error: '$TEMPLATECONF' must be a directory containing local.conf & bblayers.conf"
+            echo >&2 "Error: TEMPLATECONF value points to nonexistent directory '$TEMPLATECONF'"
             exit 1
         fi
     fi
Signature · 1 line
2.5.5
#2 lore raw

PATCH 2/2 classes/populate_sdk_ext: prevent invalid TEMPLATECONF entering eSDK

In reply to Paul Eggleton

If you are using a repository which contains a .templateconf file that sets TEMPLATECONF to point into a layer it contains, but you aren't using that layer in your bblayers.conf, the eSDK would produce an error during the preparation step of the installation. An example would be using the poky repository but setting DISTRO to your own custom distro and removing meta-poky from your bblayers.conf. The eSDK doesn't support creating new build directories, so we don't care about the templates and can thus force a known good value to prevent this from happening.

Fixes [YOCTO #10568].

---
 meta/classes/populate_sdk_ext.bbclass | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
meta/classes/populate_sdk_ext.bbclass +5 -1
index 0f0525d..944fe5c 100644
@@ -88,7 +88,7 @@ SDK_TITLE_task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME', True) or d.getVar(
 def clean_esdk_builddir(d, sdkbasepath):
     """Clean up traces of the fake build for create_filtered_tasklist()"""
     import shutil
-    cleanpaths = 'cache conf/sanity_info conf/templateconf.cfg tmp'.split()
+    cleanpaths = 'cache conf/sanity_info tmp'.split()
     for pth in cleanpaths:
         fullpth = os.path.join(sdkbasepath, pth)
         if os.path.isdir(fullpth):
@@ -344,6 +344,10 @@ python copy_buildsystem () {
                     if line.strip() and not line.startswith('#'):
                         f.write(line)
 
+    # Write a templateconf.cfg
+    with open(baseoutpath + '/conf/templateconf.cfg', 'w') as f:
+        f.write('meta/conf\n')
+
     # Ensure any variables set from the external environment (by way of
     # BB_ENV_EXTRAWHITE) are set in the SDK's configuration
     extralines = []
Signature · 1 line
2.5.5