diff options
author | Ross Burton <ross.burton@intel.com> | 2016-04-22 16:56:50 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-29 07:58:45 +0100 |
commit | f9c623ddbfc140c0c8911f06aa2824edef8a5f4f (patch) | |
tree | 75ccdf3d3d00f1da47803bc624acf818762b710d | |
parent | 768c796850b1919286cc261e810c2339ae8c215c (diff) | |
download | poky-f9c623ddbfc140c0c8911f06aa2824edef8a5f4f.tar.gz |
bitbake: fetch2: export DBUS_SESSION_BUS_ADDRESS to support authentication agents
Some users may want to use authenticated SSH connections with credentials stored
in a keyring, such as gnome-keyring. These typically need a DBus session bus
connection, so pass DBUS_SESSION_BUS_ADDRESS into the fetcher environment.
To avoid the user needing to set it in their local.conf (which wouldn't be
usable) or adding it to the environment-cleansing whitelist (which would
potentially impact builds) allow the variables being passed to the fetchers to
come from the data store (first) or the original environment (second).
(Bitbake rev: 20ad1ea87712d042bd5d89ce1957793f7ff71da0)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/fetch2/__init__.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 1fa67020c4..e8fbe89a3a 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py | |||
@@ -807,13 +807,14 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None): | |||
807 | 'GIT_SSL_CAINFO', | 807 | 'GIT_SSL_CAINFO', |
808 | 'GIT_SMART_HTTP', | 808 | 'GIT_SMART_HTTP', |
809 | 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', | 809 | 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', |
810 | 'SOCKS5_USER', 'SOCKS5_PASSWD'] | 810 | 'SOCKS5_USER', 'SOCKS5_PASSWD', |
811 | 'DBUS_SESSION_BUS_ADDRESS'] | ||
811 | 812 | ||
812 | if not cleanup: | 813 | if not cleanup: |
813 | cleanup = [] | 814 | cleanup = [] |
814 | 815 | ||
815 | for var in exportvars: | 816 | for var in exportvars: |
816 | val = d.getVar(var, True) | 817 | val = d.getVar(var, True) or d.getVar("BB_ORIGENV", False).getVar(var, True) |
817 | if val: | 818 | if val: |
818 | cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd) | 819 | cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd) |
819 | 820 | ||