[master/rhel7] set proxy related environmental variables (#854029)

Brian C. Lane bcl at redhat.com
Thu Mar 6 19:29:03 UTC 2014


pre and post scripts using utilities like curl should use the global
proxy setting from the cmdline. libreport will also use this to setup
the proxy for bug reporting.

Resolves: rhbz#854029
---
 anaconda | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/anaconda b/anaconda
index 192561d..270295e 100755
--- a/anaconda
+++ b/anaconda
@@ -765,6 +765,7 @@ if __name__ == "__main__":
     from pyanaconda import kickstart
     from pyanaconda import ntp
     from pyanaconda import keyboard
+    from pyanaconda.iutil import ProxyString, ProxyStringError
 
     verdesc = "%s for %s %s" % (getAnacondaVersion(),
                                 product.productName, product.productVersion)
@@ -935,6 +936,24 @@ if __name__ == "__main__":
     # cmdline flags override kickstart settings
     if anaconda.proxy:
         ksdata.method.proxy = anaconda.proxy
+
+        # Setup proxy environmental variables so that pre/post scripts use it
+        # as well as libreport
+        try:
+            proxy = ProxyString(anaconda.proxy)
+        except ProxyStringError as e:
+            log.info("Failed to parse proxy \"%s\": %s" % (anaconda.proxy, e))
+        finally:
+            # Set environmental variables to be used by pre/post scripts
+            os.environ["PROXY"] = proxy.noauth_url
+            os.environ["PROXY_USER"] = proxy.username or ""
+            os.environ["PROXY_PASSWORD"] = proxy.password or ""
+
+            # Variables used by curl, libreport, etc.
+            os.environ["http_proxy"] = proxy.url
+            os.environ["ftp_proxy"] = proxy.url
+            os.environ["HTTPS_PROXY"] = proxy.url
+
     if flags.noverifyssl:
         ksdata.method.noverifyssl = flags.noverifyssl
     if opts.multiLib:
-- 
1.8.5.3



More information about the anaconda-patches mailing list