Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/rpms/sugar/0064-sugar-session-export-manual-Gnome-proxy-settings-as-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'rpms/sugar/0064-sugar-session-export-manual-Gnome-proxy-settings-as-.patch')
-rw-r--r--rpms/sugar/0064-sugar-session-export-manual-Gnome-proxy-settings-as-.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/rpms/sugar/0064-sugar-session-export-manual-Gnome-proxy-settings-as-.patch b/rpms/sugar/0064-sugar-session-export-manual-Gnome-proxy-settings-as-.patch
new file mode 100644
index 0000000..a5aa53e
--- /dev/null
+++ b/rpms/sugar/0064-sugar-session-export-manual-Gnome-proxy-settings-as-.patch
@@ -0,0 +1,73 @@
+From 005a15f4c6954d5a2d25f3762b1f702117e854e2 Mon Sep 17 00:00:00 2001
+From: Jerry Vonau <jvonau@shaw.ca>
+Date: Mon, 12 Dec 2011 19:09:06 +0100
+Subject: [PATCH sugar 64/74] sugar-session: export manual Gnome proxy
+ settings as $http_proxy
+
+Some applications and tools and even some parts of Sugar will use the
+http_proxy environment variable if set, but don't use the Gnome (GConf) proxy
+settings.
+
+After changing the GConf proxy settings, Sugar needs to be restarted for the
+http_proxy environment variable to be updated.
+
+[factored out into separate function; some clean-ups; added description]
+Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
+---
+ bin/sugar-session | 26 ++++++++++++++++++++++++++
+ 1 files changed, 26 insertions(+), 0 deletions(-)
+
+diff --git a/bin/sugar-session b/bin/sugar-session
+index ee0048d..7eaa8f1 100755
+--- a/bin/sugar-session
++++ b/bin/sugar-session
+@@ -2,6 +2,7 @@
+ # Copyright (C) 2006, Red Hat, Inc.
+ # Copyright (C) 2009, One Laptop Per Child Association Inc
+ # Copyright (C) 2010, Plan Ceibal <comunidad@plan.ceibal.edu.uy>
++# Copyright (C) 2011, OLPC-AU.
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -211,6 +212,30 @@ def setup_accessibility_cb():
+ accessibility_manager = accessibility.AccessibilityManager()
+ accessibility_manager.setup_accessibility()
+
++
++def export_proxy_settings():
++ """Export manual proxy settings from GConf as environment variables
++
++ Some applications and tools and even some parts of Sugar will use
++ the http_proxy environment variable if set, but don't use the Gnome
++ (GConf) proxy settings.
++ """
++ client = gconf.client_get_default()
++ if client.get_string('/system/proxy/mode') != 'manual':
++ return
++
++ http_host = client.get_string('/system/http_proxy/host')
++ http_port = client.get_int('/system/http_proxy/port')
++ use_auth = client.get_bool('/system/http_proxy/use_authentication')
++ proxy_info = '%s:%d' % (http_host, http_port)
++ if use_auth:
++ user = client.get_string('/system/http_proxy/authentication_user')
++ pword = client.get_string('/system/http_proxy/authentication_password')
++ proxy_info = '%s:%s@%s' % (user, pword, proxy_info)
++
++ os.environ['http_proxy'] = 'http://%s/' % proxy_info
++
++
+ def main():
+ try:
+ from sugar import env
+@@ -253,6 +278,7 @@ def main():
+ if timezone is not None and timezone:
+ os.environ['TZ'] = timezone
+
++ export_proxy_settings()
+ set_fonts()
+
+ # this must be added early, so that it executes and unfreezes the screen
+--
+1.7.6
+