This email list is read-only.  Emails sent to this list will be discarded
----------------------------------
 build/conf/site.conf.sample |    5 +++++
 meta/classes/base.bbclass   |   25 +++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 0 deletions(-)

New commits:
commit d514eeeaec77c8ba3a4993ad7705e7a857c52dec
Author: Joshua Lock <[EMAIL PROTECTED]>
Date:   Thu Oct 30 17:42:01 2008 +0000

    base.bbclass: Additional git proxy support.
    
    Add to the git proxy support so that the proxy configuration can be 
propogated to the git config (etc/gitconfig in staging).
    Add support for ignored hosts in the git proxy.
    
    Examples in site.conf.sample


Diff in this email is a maximum of 400 lines.
diff --git a/build/conf/site.conf.sample b/build/conf/site.conf.sample
index f14b3d9..0ed70c6 100644
--- a/build/conf/site.conf.sample
+++ b/build/conf/site.conf.sample
@@ -19,6 +19,11 @@
 #GIT_PROXY_PORT = "81"
 #export GIT_PROXY_COMMAND = "${OEROOT}/scripts/poky-git-proxy-command"
 
+# GIT_PROXY_IGNORE_* lines define hosts which do not require a proxy to access
+#GIT_CORE_CONFIG = "Yes"
+#GIT_PROXY_IGNORE_1 = "host.server.com"
+#GIT_PROXY_IGNORE_2 = "another.server.com"
+
 # If SOCKS is available run the following command to comple a simple transport
 # gcc scripts/poky-git-proxy-socks.c -o poky-git-proxy-socks
 # and then share that binary somewhere in PATH, then use the following settings
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index c6e19c1..623bd79 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -725,6 +725,28 @@ def base_get_metadata_svn_revision(d):
                pass
        return revision
 
+def generate_git_config(e):
+        from bb import data
+
+        if data.getVar('GIT_CORE_CONFIG', e.data, True):
+                gitconfig_path = "${STAGING_DIR_HOST}/usr/etc/gitconfig"
+                proxy_command = "gitproxy = %s" % 
data.getVar('GIT_PROXY_COMMAND', e.data, True)
+
+                bb.mkdirhier("${STAGING_DIR_HOST}/usr/etc/")
+                if (os.path.exists(gitconfig_path)):
+                        os.remove(gitconfig_path)
+
+                f = open(gitconfig_path, 'w')
+                f.write("[core]\n")
+                f.write(proxy_command)
+
+                ignore_count = 1
+                ignore_host = data.getVar('GIT_PROXY_IGNORE_1', e.data, True)
+                while (ignore_host):
+                        f.write(ignore_host)
+                        ignore_count += 1
+                        ignore_host = data.getVar('GIT_PROXY_IGNORE_%s' % 
ignore_count)
+
 METADATA_REVISION ?= "[EMAIL PROTECTED](d)}"
 
 addhandler base_eventhandler
@@ -787,6 +809,9 @@ python base_eventhandler() {
                                os.system('rm -f '+ dir)
                                os.system('touch ' + e.stampPrefix[fn] + 
'.needclean')
 
+        if name == "ConfigParsed":
+                generate_git_config(e)
+
        if not data in e.__dict__:
                return NotHandled
 
_______________________________________________
Commits mailing list
[email protected]
https://lists.moblin.org/mailman/listinfo/commits

Reply via email to