[OE-core] [PATCH 1/2] Allow passthrough of important placement variables when using devshell

Richard Purdie richard.purdie at linuxfoundation.org
Fri Nov 1 11:04:11 UTC 2013


On Thu, 2013-10-31 at 03:02 -0500, blloyd wrote:
> The environment is very well sanitized when using the shell.  However, when using devshell developers are typically interested in sources and build artifacts.  The variables B S and D control this but are cleaned from the environment when a shell is started.  Add a new variable to allow additional variables to be kept for a developer shell and set it to "B S D" by default.  The implementation allows variables for developer convenience and verification while not changing shells used for compile tasks.
> 
> Signed-off-by: blloyd <blloyd at familyhonor.net>
> ---
>  meta/classes/devshell.bbclass | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/meta/classes/devshell.bbclass b/meta/classes/devshell.bbclass
> index 92edb9e..cc1bb64 100644
> --- a/meta/classes/devshell.bbclass
> +++ b/meta/classes/devshell.bbclass
> @@ -2,7 +2,17 @@ inherit terminal
>  
>  DEVSHELL = "${SHELL}"
>  
> +OE_DEVSHELL_TERMINAL_ADDL_EXPORTS ?= "B S D"
> +OE_DEVSHELL_TERMINAL_ADDL_EXPORTS[type] = 'list'

Can we call this something like DEVSHELL_EXTRA_ENVVARS which is a little
simpler?

>  python do_devshell () {
> +    import oe.data
> +    import oe.terminal

Why do we need to import these?

> +    export_dev=d.getVar('OE_DEVSHELL_TERMINAL_ADDL_EXPORTS') 

We should probably use ", True" here and expand since that is the common
behaviour. I'd also prefer " = " for consistent spacing.

> +    export_term=d.getVar('OE_TERMINAL_EXPORTS')

ditto spacing and ", True".

> +    export_term = export_term + ' ' + export_dev
> +    d.setVar('OE_TERMINAL_EXPORTS', export_term)
> +
>      if d.getVarFlag("do_devshell", "manualfakeroot"):
>         d.prependVar("DEVSHELL", "pseudo ")
>         fakeenv = d.getVar("FAKEROOTENV", True).split()

Cheers,

Richard




More information about the Openembedded-core mailing list