Continuing adventures of bonobo and gnome-vfs
After some discussion with Michael Meeks about yesterdays post we decided to move the problematic gnome-vfs functions to libbonobo, so that we can totally avoid bonobo in gnome-vfs. This is ok, since these functions are useless unless you use bonobo yourself, so you’ll be linking to libbonobo if you use them. In fact all old apps are guaranteed to do this since gnome-vfs pulled in libbonobo.
So, what happens is that the function declarations are in the gnome-vfs headers, but the actual implementation is in libbonobo. This means we can now push gnome-vfs much lower in the gnome build stack. It now only depends on glib, dbus, gconf and libxml.
There is only one minor issue. Since we don’t want gnome-vfs to depend on bonobo I had to remove a bonobo include from the gnome-vfs headers. Its likely that apps that use these functions already include this header, but if they don’t they can just add that include, or define GNOME_VFS_INCLUDE_BONOBO to make gnome-vfs include it. The only application in Gnome that uses these functions is evolution, and it didn’t need any modification to keep building.
July 8th, 2006 at 1:33 am
Heh, nice stuff, keep on the good work … Gnome got some of those evil dep i will be more than happy to see disapear. Maybe atacking cyclic deps too at some point in the future and make them less evil would be something too.
July 8th, 2006 at 1:55 am
Almost fine but unfortunately it breaked gnome-python. See bug 346910 on b.g.o
July 8th, 2006 at 6:34 pm
any plans on integrating the patches to make gconf depend on dbus too? also, for which tasks is gnome-vfs using libxml?
July 9th, 2006 at 4:32 am
This is great news
July 9th, 2006 at 11:32 am
You are probably already aware of these:
http://developer.imendio.com/wiki/GnomeVFS_D-BUS http://developer.imendio.com/wiki/GConf_D-BUSJuly 10th, 2006 at 12:23 am
How about eliminating the dependency on the crypto libraries?
gnome-vfs links to a lot of crypto libraries, which makes
virtually all gnome applications link to them which is
wasteful for a lot of them that have no use for crypto…
July 10th, 2006 at 8:12 pm
Uh, doesn’t this break Gnome source compatability? I thought Gnome promised not to do that unless the majoe version number changed. Perhaps GNOME_VFS_INCLUDE_BONOBO should be GNOME_VFS_EXCLUDE_BONOBO nd distributers can turn it off, so drive it down the stack.