[bitbake-devel] [PATCH 1/1] bitbake: Disable pseudo in runfetchcmd()

Mark Hatle mark.hatle at windriver.com
Thu Feb 20 15:42:31 UTC 2014


On 2/20/14, 8:55 AM, Peter Kjellerstedt wrote:
> If a fetcher, e.g., git, is run when pseudo is active it will think it
> is running as root. If it in turn uses ssh (as git does), ssh too will
> think it is running as root. This will cause it to try to read root's
> ssh configuration from /root/.ssh which will fail. If ssh then needs to
> ask for credentials it will hang indefinitely as there is nowhere for it
> to ask the user for them (and even if there was it would not access the
> correct private keys).
>
> The solution to the above is to temporarily disable pseudo while
> executing any fetcher commands. There should be no reason for them to be
> executed under pseudo anyway so this should not be a problem.
>
> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> ---
>   bitbake/lib/bb/fetch2/__init__.py | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
> index de95074..1c3ee4f 100644
> --- a/bitbake/lib/bb/fetch2/__init__.py
> +++ b/bitbake/lib/bb/fetch2/__init__.py
> @@ -680,6 +680,9 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
>           if val:
>               cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
>
> +    # Disable pseudo as it may affect ssh, potentially causing it to hang.
> +    cmd = 'export PSEUDO_DISABLED=1; ' + cmd
> +

This may be a reasonable workaround... but is there any way we can identify the 
offending command and create a reproducer for pseudo?  It would be nice to 
identify what the actual problem is -- as something else in the system may 
encounter it.

--Mark

>       logger.debug(1, "Running %s", cmd)
>
>       success = False
>




More information about the bitbake-devel mailing list