Re: libproxy as external dependency



Nathaniel McCallum wrote:
> I'd like to propose libproxy (LGPL 2.1+;
> http://code.google.com/p/libproxy/) as a blessed external dependency for
> GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and
> webkit are considering adopting it.

You need a comma somewhere... Since I know libsoup doesn't currently use
it, you must mean either:

  libproxy is currently used by vlc ... and neon and libsoup and webkit
  are considering adopting it.

OR

  libproxy is currently used by vlc and neon ... and libsoup and webkit
  are considering adopting it.


Anyway, Nathaniel is proposing this for GNOME primarily so that libsoup
can depend on it, and here's the story with that:

For various reasons, mostly bad, libsoup has never handled reading the
HTTP proxy configuration out of GConf itself, which means that apps
using libsoup either have to do it themselves (which sucks), or else
they ignore the problem and then don't work for people who need proxies
(which also sucks).

I've been meaning to fix this for a while, but haven't. Anyway, I'd like
to fix it for 2.26, which means either:

    1. libsoup takes a mandatory dependency on libproxy
or
    2. libsoup takes an optional dependency on libproxy, and then also
       has gconf-specific code to be used in case libproxy isn't
       present.

It can't be "libsoup takes an optional dependency on libproxy, and
doesn't handle proxies if libproxy isn't present", because then apps
can't rely on libsoup doing the right thing for them, so we'd end up
with proxy code in *both* libsoup (via libproxy) *and* the apps (via
gconf directly), which would be even worse than what we have now.

Now I *can* do option 2 (libsoup has codepaths for both libproxy and
gconf directly), and that's what I will end up doing if libproxy isn't
accepted as an external dependency, but it would be simpler not to have
the extra codepath (there are all sorts of icky bits if you want to do
this 100% right, like parsing and matching IPv6 network masks in
ignore_hosts, etc).

Also, if GNOME makes libproxy a required external dependency, that means
all distros have to ship it, which then makes it easier for other
applications to start depending on it, which brings us one step closer
to universal proxy workingness.

All of which is to say, +1.

-- Dan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]