Patchwork oe-setup-builddir: substitute ##OEROOT## when using templates

login
register
mail settings
Submitter Ross Burton
Date Aug. 8, 2013, 2:14 p.m.
Message ID <1375971269-9758-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/55343/
State New
Headers show

Comments

Ross Burton - Aug. 8, 2013, 2:14 p.m.
oe-setup-builddir substitutes ##COREBASE## which seems like it should have the
same value as the variable ${COREBASE}.  In reality it doesn't as ##COREBASE##
is substituted with the value of $OEROOT (the location of the oe-init-build-env
script), whereas ${COREBASE} is set by oe-core to the parent directory of meta/.
If oe-core's meta/ isn't a top-level directory then ##COREBASE## and ${COREBASE}
have different values, which can lead to confusion.

To resolve this, deprecate (but still substitute) ##COREBASE## and substitute

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 scripts/oe-setup-builddir |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Gary Thomas - Aug. 8, 2013, 2:41 p.m.
On 2013-08-08 08:14, Ross Burton wrote:
> oe-setup-builddir substitutes ##COREBASE## which seems like it should have the
> same value as the variable ${COREBASE}.  In reality it doesn't as ##COREBASE##
> is substituted with the value of $OEROOT (the location of the oe-init-build-env
> script), whereas ${COREBASE} is set by oe-core to the parent directory of meta/.
> If oe-core's meta/ isn't a top-level directory then ##COREBASE## and ${COREBASE}
> have different values, which can lead to confusion.
>
> To resolve this, deprecate (but still substitute) ##COREBASE## and substitute
>
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>   scripts/oe-setup-builddir |    5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir
> index d5d8d98..d5bd581 100755
> --- a/scripts/oe-setup-builddir
> +++ b/scripts/oe-setup-builddir
> @@ -101,7 +101,10 @@ EOM
>
>       # Put the abosolute path to the layers in bblayers.conf so we can run
>       # bitbake without the init script after the first run
> -    sed "s|##COREBASE##|$OEROOT|g" $OECORELAYERCONF > $BUILDDIR/conf/bblayers.conf
> +    sed "s|##OEROOT##|$OEROOT|g" $OECORELAYERCONF > $BUILDDIR/conf/bblayers.conf
> +    # ##COREBASE## is deprecated as it's meaning was inconsistent, but continue
> +    # ##to replace it for compatibility.
          ^^
Should these be here?

> +    sed -i -e "s|##COREBASE##|$OEROOT|g" $BUILDDIR/conf/bblayers.conf
>   fi
>
>   # Prevent disturbing a new GIT clone in same console
>
Ross Burton - Aug. 8, 2013, 2:44 p.m.
On 8 August 2013 15:41, Gary Thomas <gary@mlbassoc.com> wrote:
> Should these be here?

No, that would be emacs being "clever".

Ross

Patch

diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir
index d5d8d98..d5bd581 100755
--- a/scripts/oe-setup-builddir
+++ b/scripts/oe-setup-builddir
@@ -101,7 +101,10 @@  EOM
 
     # Put the abosolute path to the layers in bblayers.conf so we can run
     # bitbake without the init script after the first run
-    sed "s|##COREBASE##|$OEROOT|g" $OECORELAYERCONF > $BUILDDIR/conf/bblayers.conf
+    sed "s|##OEROOT##|$OEROOT|g" $OECORELAYERCONF > $BUILDDIR/conf/bblayers.conf
+    # ##COREBASE## is deprecated as it's meaning was inconsistent, but continue
+    # ##to replace it for compatibility.
+    sed -i -e "s|##COREBASE##|$OEROOT|g" $BUILDDIR/conf/bblayers.conf
 fi
 
 # Prevent disturbing a new GIT clone in same console