[oe-commits] [bitbake] branch 1.36 updated: fetch2/__init__: Disable pseudo in runfetchcmd()

git at git.openembedded.org git at git.openembedded.org
Mon Jul 2 10:56:50 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch 1.36
in repository bitbake.

The following commit(s) were added to refs/heads/1.36 by this push:
     new d0fb46e  fetch2/__init__: Disable pseudo in runfetchcmd()
d0fb46e is described below

commit d0fb46eead1f23356d8c3bd53a85047521ef29a7
Author: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
AuthorDate: Thu Feb 20 15:55:51 2014 +0100

    fetch2/__init__: Disable pseudo in runfetchcmd()
    
    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.
    
    RP Ammendum:
    
    We finally did get more information about how to reproduce this problem,
    something needs to trigger bb.fetch2.get_srcrev() in a pseudo context,
    for example when AUTOREV is in use or the recipe doesn't have a defined
    SRCREV. That SRC_URI needs to be using protocol=ssh. This would trigger
    an ls-remote of the remote repo and if that happens under pseudo, the
    wrong ssh credentials may be attempted which can hang.
    
    [YOCTO #12464]
    
    Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/fetch2/__init__.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py
index f70f1b5..e758a68 100644
--- a/lib/bb/fetch2/__init__.py
+++ b/lib/bb/fetch2/__init__.py
@@ -853,6 +853,9 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
         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
+
     logger.debug(1, "Running %s", cmd)
 
     success = False

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list