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 -~----------~----~----~----~------~----~------~--~---
