John [CC'd] nicely contributed code for us to use the Gnome and KDE
systems for password management.  (BTW, I believe they are converging
on a single backend in the future, but that doesn't help us now.)

The KDE implementation uses dbus, which we already depend upon via
gconf, which we depend upon for fetching the Gnome proxy settings.

The Gnome one uses libgnome-keyring, and that is where I got worried,
in two ways:
A) On 64-bit Ubuntu systems we'll need to figure out how to get a
32-bit library available.  It's not part of the ia32-libs package, so
we'd need to build it ourselves?
B) Dependency creep in general is bad.  Many users (e.g. all KDE ones,
and I've never actually known anyone to even use the Gnome one) don't
use or need this library.

Ways I see out of this mess in particular:
1) Bundle and build enough of gnome-keyring ourselves?  Ugh, I hate
it, and only include it for completeness.  For reference, the entire
package is 82kloc of C, while the compiled binary is 80k.
2) Weak linking?  I'm not exactly sure how this works, but as I
understand it you can basically make it a build-time dependency that
is only an optional run-time dependency.
3) We've talked about building helper binaries for these sorts of
interfaces.  Due to threading limitations our calls to gconf for proxy
settings currently block the UI message loop, so our existing code
would benefit from this as well.  Separate helper binaries would also
allow us to ship the helpers separately.  On the other hand, it sounds
like a lot of work for perhaps not a lot of benefit.

For comparison, Firefox goes the third route, kinda.  There's an extra
package for "Gnome support" which conceptually for us would include a
binary linked against libgnome-keyring that we could shell out to.
 $ apt-cache search ^firefox-3.5
 firefox-3.5 - safe and easy web browser from Mozilla
 firefox-3.5-branding - Package that ships the firefox branding
 firefox-3.5-dbg - firefox-3.5 debug symbols
 firefox-3.5-dev - Development files for Mozilla Firefox
 firefox-3.5-gnome-support - Support for Gnome in Mozilla Firefox

For both (2) and (3) it's not quite clear to me what the right way is to
package this as a single installer.  We could either include the
binaries and just have them fail if their dependent libraries aren't
found, which seems bad, or we could pre-depend on the dependent
libraries, which also seems bad.

If anyone has any thoughts -- preferably factual, like how much
additional library dependencies really affect memory usage or startup
-- I'd appreciate them.  Maybe in today's world of apt, yum, and large
hard drives we just shouldn't care about dependency creep, though that
still leaves the 64-bit issue.

I think I'm leaning towards #2, despite the proxy limitation, just
because it's the most expedient.

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to