[Toaster] [PATCH] toaster: localhostbectrl Pass DATABASE_URL in via the process environment

Smith, Elliot elliot.smith at intel.com
Fri Nov 13 07:34:25 PST 2015


On 12 November 2015 at 18:06, Michael Wood <michael.g.wood at intel.com> wrote:

> Instead of putting the DATABASE_URL as part of the command for launching
> the bitbake observer process set it as part of environment.
>

Submitted to bitbake-devel and added to toaster-next.

Elliot



>
> This fixes two issues 1. Where the value isn't quoted and therefore will be
> interpreted in the shell and 2. Anyone being able to see the value of
> DATABASE_URL in the process tree.
>
> [YOCTO #8669]
>
> Signed-off-by: Michael Wood <michael.g.wood at intel.com>
> ---
>  bitbake/lib/toaster/bldcontrol/localhostbecontroller.py | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> index b5cf559..854a6bb 100644
> --- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> +++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
> @@ -48,7 +48,6 @@ class LocalhostBEController(BuildEnvironmentController):
>
>      def __init__(self, be):
>          super(LocalhostBEController, self).__init__(be)
> -        self.dburl = settings.getDATABASE_URL()
>          self.pokydirname = None
>          self.islayerset = False
>
> @@ -126,9 +125,17 @@ class
> LocalhostBEController(BuildEnvironmentController):
>                      port = i.split(" ")[-1]
>                      logger.debug("localhostbecontroller: Found bitbake
> server port %s" % port)
>
> -        cmd = "bash -c \"source %s/oe-init-build-env-memres -1 %s &&
> DATABASE_URL=%s %s --observe-only -u toasterui --remote-server=0.0.0.0:-1
> -t xmlrpc\"" % (self.pokydirname, self.be.builddir, self.dburl, own_bitbake)
> +        cmd = "bash -c \"source %s/oe-init-build-env-memres -1 %s && %s
> --observe-only -u toasterui --remote-server=0.0.0.0:-1 -t xmlrpc\"" % \
> +                (self.pokydirname, self.be.builddir, own_bitbake)
> +
> +        # Use a copy of the current environment and add the DATABASE_URL
> +        # for the bitbake observer process.
> +        env = os.environ.copy()
> +        env['DATABASE_URL'] = settings.getDATABASE_URL()
> +
>          with open(toaster_ui_log_filepath, "a+") as f:
> -            p = subprocess.Popen(cmd, cwd = self.be.builddir, shell=True,
> stdout=f, stderr=f)
> +            p = subprocess.Popen(cmd, cwd = self.be.builddir, shell=True,
> +                                 stdout=f, stderr=f, env=env)
>
>          def _toaster_ui_started(filepath, filepos = 0):
>              if not os.path.exists(filepath):
> --
> 2.1.4
>
> --
> _______________________________________________
> toaster mailing list
> toaster at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/toaster
>



-- 
Elliot Smith
Software Engineer
Intel Open Source Technology Centre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20151113/d7162fd7/attachment.html>


More information about the toaster mailing list