* [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-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
1 sibling, 0 replies; 4+ messages in thread
From: Belal, Awais @ 2018-11-01 13:36 UTC (permalink / raw)
To: bitbake-devel@lists.openembedded.org
This should be applied to master as well as sumo.
BR,
Awais
________________________________________
From: bitbake-devel-bounces@lists.openembedded.org <bitbake-devel-bounces@lists.openembedded.org> on behalf of Belal, Awais
Sent: Thursday, November 1, 2018 6:34 PM
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
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] bitbake: toaster: allow OE_ROOT to be provided through environment
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
1 sibling, 0 replies; 4+ messages in thread
From: Reyna, David @ 2018-11-01 18:07 UTC (permalink / raw)
To: Awais Belal, bitbake-devel@lists.openembedded.org
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
^ 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.