All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] bitbake: toaster: allow OE_ROOT to be provided through environment
@ 2018-11-01 13:34 Awais Belal
  2018-11-01 13:36 ` Belal, Awais
  2018-11-01 18:07 ` Reyna, David
  0 siblings, 2 replies; 4+ messages in thread
From: Awais Belal @ 2018-11-01 13:34 UTC (permalink / raw)
  To: bitbake-devel

Updates for YOCTO #12891 allowed a user to have a directory
structure different to that of yocto (bitbake isn't inside
oe-core) whereas the definition of OE_ROOT in the main toaster
binary still assumes the same while checking for .templateconf
and hence we see an error on the cmdline in such cases:
bash: <repo-path>/bitbake/bin/../../.templateconf: No such file or directory
The change here now allows the user to provide OE_ROOT through
the environment in such cases and otherwise defaults to the older
mechanism to fix this issue.

Signed-off-by: Awais Belal <awais_belal@mentor.com>
---
 bin/toaster | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bin/toaster b/bin/toaster
index 9fffbc6..4e227cc 100755
--- a/bin/toaster
+++ b/bin/toaster
@@ -161,7 +161,7 @@ fi
 
 export BBBASEDIR=`dirname $TOASTER`/..
 MANAGE="python3 $BBBASEDIR/lib/toaster/manage.py"
-OE_ROOT=`dirname $TOASTER`/../..
+OE_ROOT=${OE_ROOT:-`dirname $TOASTER`/../..}
 
 # this is the configuraton file we are using for toaster
 # we are using the same logic that oe-setup-builddir uses
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread
* Re: [PATCH] bitbake: toaster: allow OE_ROOT to be provided through environment
@ 2018-11-02  8:49 Peter Kjellerstedt
  0 siblings, 0 replies; 4+ messages in thread
From: Peter Kjellerstedt @ 2018-11-02  8:49 UTC (permalink / raw)
  To: Reyna, David, Awais Belal, bitbake-devel@lists.openembedded.org

Actually, the originally suggested parameter expansion "${foo:-bar}" is 
_not_ a bashism. It is standard POSIX, see: 

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02

I would recommend the following, as it also avoids doing an unnecessary 
fork to dirname, which has already been done two lines above when 
setting BBBASEDIR:

OE_ROOT=${OE_ROOT:-$BBBASEDIR/..}

An alternative, but maybe a bit less obvious variant, is:

: ${OE_ROOT:=$BBBASEDIR/..}

making use of the fact that the parameter expansion and conditional 
variable setting will happen before the : command (aka nop) is executed.

//Peter

> -----Original Message-----
> From: bitbake-devel-bounces@lists.openembedded.org <bitbake-devel-
> bounces@lists.openembedded.org> On Behalf Of Reyna, David
> Sent: den 1 november 2018 19:08
> To: Awais Belal <awais_belal@mentor.com>; bitbake-
> devel@lists.openembedded.org
> Subject: Re: [bitbake-devel] [PATCH] bitbake: toaster: allow OE_ROOT to
> be provided through environment
> 
> Hi Awais,
> 
> I agree to the idea. My only concern is that you are using a bashism to
> expand the variable, and that will fail on systems that for example are
> based on "dash". Since the "toaster" script is sourced, it cannot
> override the shell executor to "bash".
> 
> While not as compact, I would prefer a shell-safe expansion such as:
> 
> vvvv
> 
> if [ -z "$OE_ROOT" ] ; then
>     OE_ROOT=`dirname $TOASTER`/../..
> endif
> 
> ^^^^
> 
> - David
> 
> -----Original Message-----
> From: bitbake-devel-bounces@lists.openembedded.org [mailto:bitbake-
> devel-bounces@lists.openembedded.org] On Behalf Of Awais Belal
> Sent: Thursday, November 01, 2018 6:35 AM
> To: bitbake-devel@lists.openembedded.org
> Subject: [bitbake-devel] [PATCH] bitbake: toaster: allow OE_ROOT to be
> provided through environment
> 
> Updates for YOCTO #12891 allowed a user to have a directory
> structure different to that of yocto (bitbake isn't inside
> oe-core) whereas the definition of OE_ROOT in the main toaster
> binary still assumes the same while checking for .templateconf
> and hence we see an error on the cmdline in such cases:
> bash: <repo-path>/bitbake/bin/../../.templateconf: No such file or
> directory
> The change here now allows the user to provide OE_ROOT through
> the environment in such cases and otherwise defaults to the older
> mechanism to fix this issue.
> 
> Signed-off-by: Awais Belal <awais_belal@mentor.com>
> ---
>  bin/toaster | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/bin/toaster b/bin/toaster
> index 9fffbc6..4e227cc 100755
> --- a/bin/toaster
> +++ b/bin/toaster
> @@ -161,7 +161,7 @@ fi
> 
>  export BBBASEDIR=`dirname $TOASTER`/..
>  MANAGE="python3 $BBBASEDIR/lib/toaster/manage.py"
> -OE_ROOT=`dirname $TOASTER`/../..
> +OE_ROOT=${OE_ROOT:-`dirname $TOASTER`/../..}
> 
>  # this is the configuraton file we are using for toaster
>  # we are using the same logic that oe-setup-builddir uses
> --
> 2.7.4
> 
> --
> _______________________________________________
> bitbake-devel mailing list
> bitbake-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/bitbake-devel
> --
> _______________________________________________
> bitbake-devel mailing list
> bitbake-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/bitbake-devel


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-11-02  8:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-01 13:34 [PATCH] bitbake: toaster: allow OE_ROOT to be provided through environment Awais Belal
2018-11-01 13:36 ` Belal, Awais
2018-11-01 18:07 ` Reyna, David
  -- strict thread matches above, loose matches on Subject: below --
2018-11-02  8:49 Peter Kjellerstedt

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.