toaster: build missing toaster.conf settings

Submitted by Reyna, David on Oct. 5, 2017, 8:04 p.m. | Patch ID: 144705

Details

Message ID 1507233881-14893-1-git-send-email-david.reyna@windriver.com
State New
Headers show

Commit Message

Reyna, David Oct. 5, 2017, 8:04 p.m.
From: David Reyna <David.Reyna@windriver.com>

The bitbake server changed such that the Toaster custom settings from
'toaster.conf' and 'toaster-bblayers.conf' that were set when
the '--server-only' mode was started were lost when the subsequent build
request happened, resulting in builds missing all custom changes.

This patch asserts those environment settings in both server calls.

[YOCTO #12194]

Signed-off-by: David Reyna <David.Reyna@windriver.com>
---
 bitbake/lib/toaster/bldcontrol/localhostbecontroller.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Patch hide | download patch | download mbox

diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
index a2ca95b..83cb703 100644
--- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
+++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
@@ -381,9 +381,10 @@  class LocalhostBEController(BuildEnvironmentController):
         local_bitbake = os.path.join(os.path.dirname(os.getenv('BBBASEDIR')),
                                      'bitbake')
         self._shellcmd(['bash -c \"(TOASTER_BRBE="%s" BBSERVER="0.0.0.0:%s" '
-                        '%s %s -u toasterui --token="" >>%s 2>&1;'
+                        '%s %s -u toasterui  --read %s --read %s --token="" >>%s 2>&1;'
                         'BITBAKE_UI="knotty" BBSERVER=0.0.0.0:%s %s -m)&\"' \
-                        % (brbe, self.be.bbport, local_bitbake, bbtargets, log, self.be.bbport, bitbake)],
+                        % (brbe, self.be.bbport, local_bitbake, bbtargets, confpath, toasterlayers, log,
+                        self.be.bbport, bitbake,)],
                         builddir, nowait=True)
 
         logger.debug('localhostbecontroller: Build launched, exiting. '

Comments

Paul Eggleton Oct. 5, 2017, 10:34 p.m.
Hi David,

On Friday, 6 October 2017 9:04:41 AM NZDT David Reyna wrote:
> From: David Reyna <David.Reyna@windriver.com>
> 
> The bitbake server changed such that the Toaster custom settings from
> 'toaster.conf' and 'toaster-bblayers.conf' that were set when
> the '--server-only' mode was started were lost when the subsequent build
> request happened, resulting in builds missing all custom changes.
> 
> This patch asserts those environment settings in both server calls.
> 
> [YOCTO #12194]
> 
> Signed-off-by: David Reyna <David.Reyna@windriver.com>
> ---
>  bitbake/lib/toaster/bldcontrol/localhostbecontroller.py | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> index a2ca95b..83cb703 100644
> --- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> +++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> @@ -381,9 +381,10 @@ class LocalhostBEController(BuildEnvironmentController):
>          local_bitbake = os.path.join(os.path.dirname(os.getenv('BBBASEDIR')),
>                                       'bitbake')
>          self._shellcmd(['bash -c \"(TOASTER_BRBE="%s" BBSERVER="0.0.0.0:%s" '
> -                        '%s %s -u toasterui --token="" >>%s 2>&1;'
> +                        '%s %s -u toasterui  --read %s --read %s --token="" >>%s 2>&1;'
>                          'BITBAKE_UI="knotty" BBSERVER=0.0.0.0:%s %s -m)&\"' \
> -                        % (brbe, self.be.bbport, local_bitbake, bbtargets, log, self.be.bbport, bitbake)],
> +                        % (brbe, self.be.bbport, local_bitbake, bbtargets, confpath, toasterlayers, log,
> +                        self.be.bbport, bitbake,)],
>                          builddir, nowait=True)
>  
>          logger.debug('localhostbecontroller: Build launched, exiting. '
> 

So after a pointer from Brian I looked at this and the change in behaviour
is correct - bitbake will clear out any prefiles specified in a previous
invocation even if that was the invocation that started the server. This
behaviour wasn't well-defined and so it was working by accident
beforehand. We didn't appreciate that it would break Toaster however,
sorry about that.

We definitely need this fixed for 2.4 so I will send this to the bitbake
list with my sign-off and hopefully that will accelerate getting the fix in.

Cheers,
Paul
Reyna, David Oct. 5, 2017, 10:40 p.m.
> We definitely need this fixed for 2.4 so I will send this to the bitbake list with my sign-off and hopefully that will accelerate getting the fix in.

Thank you so much! I will watch for this and be available if there are any questions.

I hate making last minute requests, but I have tested the patch, the patch is simple, and I believe that there is no risk to YP-2.4 with this change.

- David

-----Original Message-----
From: Paul Eggleton [mailto:paul.eggleton@linux.intel.com] 
Sent: Thursday, October 05, 2017 3:35 PM
To: Reyna, David
Cc: toaster@yoctoproject.org
Subject: Re: [Toaster] [PATCH] toaster: build missing toaster.conf settings

Hi David,

On Friday, 6 October 2017 9:04:41 AM NZDT David Reyna wrote:
> From: David Reyna <David.Reyna@windriver.com>
> 
> The bitbake server changed such that the Toaster custom settings from 
> 'toaster.conf' and 'toaster-bblayers.conf' that were set when the 
> '--server-only' mode was started were lost when the subsequent build 
> request happened, resulting in builds missing all custom changes.
> 
> This patch asserts those environment settings in both server calls.
> 
> [YOCTO #12194]
> 
> Signed-off-by: David Reyna <David.Reyna@windriver.com>
> ---
>  bitbake/lib/toaster/bldcontrol/localhostbecontroller.py | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py 
> b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> index a2ca95b..83cb703 100644
> --- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> +++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> @@ -381,9 +381,10 @@ class LocalhostBEController(BuildEnvironmentController):
>          local_bitbake = os.path.join(os.path.dirname(os.getenv('BBBASEDIR')),
>                                       'bitbake')
>          self._shellcmd(['bash -c \"(TOASTER_BRBE="%s" BBSERVER="0.0.0.0:%s" '
> -                        '%s %s -u toasterui --token="" >>%s 2>&1;'
> +                        '%s %s -u toasterui  --read %s --read %s --token="" >>%s 2>&1;'
>                          'BITBAKE_UI="knotty" BBSERVER=0.0.0.0:%s %s -m)&\"' \
> -                        % (brbe, self.be.bbport, local_bitbake, bbtargets, log, self.be.bbport, bitbake)],
> +                        % (brbe, self.be.bbport, local_bitbake, bbtargets, confpath, toasterlayers, log,
> +                        self.be.bbport, bitbake,)],
>                          builddir, nowait=True)
>  
>          logger.debug('localhostbecontroller: Build launched, exiting. '
> 

So after a pointer from Brian I looked at this and the change in behaviour is correct - bitbake will clear out any prefiles specified in a previous invocation even if that was the invocation that started the server. This behaviour wasn't well-defined and so it was working by accident beforehand. We didn't appreciate that it would break Toaster however, sorry about that.

We definitely need this fixed for 2.4 so I will send this to the bitbake list with my sign-off and hopefully that will accelerate getting the fix in.

Cheers,
Paul