diff --git a/meta-yocto/conf/site.conf.sample b/meta-yocto/conf/site.conf.sample index d438298e84..68d1da91a9 100644 --- a/meta-yocto/conf/site.conf.sample +++ b/meta-yocto/conf/site.conf.sample @@ -22,17 +22,25 @@ SCONF_VERSION = "1" #GIT_PROXY_PORT = "81" #export GIT_PROXY_COMMAND = "${COREBASE}/scripts/oe-git-proxy-command" -# GIT_PROXY_IGNORE_* lines define hosts which do not require a proxy to access +# Set to yes to have a gitconfig generated for handling proxies; you +# might not want this if you have all that set in your global git +# configuration. If you don't enable it, the rest of the entries +# (_PROXY_IGNORE, etc) don't really work that well #GIT_CORE_CONFIG = "Yes" -#GIT_PROXY_IGNORE_1 = "host.server.com" -#GIT_PROXY_IGNORE_2 = "another.server.com" + +# Space separate list of hosts to ignore for GIT proxy +#GIT_PROXY_IGNORE = "host.server.com another.server.com" # If SOCKS is available run the following command to comple a simple transport # gcc scripts/oe-git-proxy-socks.c -o oe-git-proxy-socks # and then share that binary somewhere in PATH, then use the following settings #GIT_PROXY_HOST = "proxy.example.com" #GIT_PROXY_PORT = "81" -#export GIT_PROXY_COMMAND = "${COREBASE}/scripts/oe-git-proxy-socks-command" + +# GIT_PROXY_COMMAND is used by git to override all proxy settings from +# configuration files, so we prefix OE_ to avoid breaking havoc on the +# generated (or local) gitconfig's. +#OE_GIT_PROXY_COMMAND = "${COREBASE}/scripts/oe-git-proxy-socks-command" # Uncomment this to use a shared download directory diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index e80e874360..a76fe55b89 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -111,16 +111,17 @@ python base_do_unpack() { raise bb.build.FuncFailed(e) } -GIT_CONFIG = "${STAGING_DIR_NATIVE}/usr/etc/gitconfig" +GIT_CONFIG_PATH = "${STAGING_DIR_NATIVE}/etc" +GIT_CONFIG = "${GIT_CONFIG_PATH}/gitconfig" def generate_git_config(e): from bb import data if data.getVar('GIT_CORE_CONFIG', e.data, True): gitconfig_path = e.data.getVar('GIT_CONFIG', True) - proxy_command = " gitproxy = %s\n" % data.getVar('GIT_PROXY_COMMAND', e.data, True) + proxy_command = " gitProxy = %s\n" % data.getVar('OE_GIT_PROXY_COMMAND', e.data, True) - bb.mkdirhier(bb.data.expand("${STAGING_DIR_NATIVE}/usr/etc/", e.data)) + bb.mkdirhier(bb.data.expand("${GIT_CONFIG_PATH}", e.data)) if (os.path.exists(gitconfig_path)): os.remove(gitconfig_path) @@ -128,7 +129,7 @@ def generate_git_config(e): f.write("[core]\n") ignore_hosts = data.getVar('GIT_PROXY_IGNORE', e.data, True).split() for ignore_host in ignore_hosts: - f.write(" gitproxy = none for %s\n" % ignore_host) + f.write(" gitProxy = none for %s\n" % ignore_host) f.write(proxy_command) f.close