Comment 8 for bug 1335116

Revision history for this message
Erik Devriendt (erik-devriendt) wrote :

I am not a python specialist, but on reading the source code of mintUpdate.py I noticed that the proxy methods of python module urllib2 are used.
The source code of urllib2.py shows that it uses the environment variables '*_proxy' to initialize its proxies.

This explains why mintUpdate works when started in a terminal when the *_proxy environment variables are set.
I use MATE desktop and mate-terminal sets the *_proxy environment variables finding them in the GSettings org.gnome.system.proxy.* .

However, mintUpdate (as well as mintMenu) are started by mate-session which does NOT take the GSettings org.gnome.system.proxy.* into account (why would it, it is an X session manager, not some kind of network manager).

This explains why mintUpdate started by mate-session (or cinnamon-session) or by mintMenu cannot download the ChangeLog: they don't take the proxy settings into account.

From my naive point of view, I see at least two possible solutions in mintUpdate:
1. duplicate the logic in mate-terminal or gnome-terminal by reading the GSettings org.gnome.system.proxy.* and setting the evnironment variables accordingly before calling methods of urllib2
2. switch to libproxy (for which there is a python wrapper in package python-libproxy.