GNOME Bugzilla – Bug 554226
get rid of libgnome
Last modified: 2008-10-07 15:17:53 UTC
The only thing left that's using the libgnome support is the session management. We can use the eggsmclient stuff for that.
Created attachment 119548 [details] [review] [PATCH] Bug 554226 – get rid of libgnome bindings/python/Makefile.am | 4 +- browser-plugin/Makefile.am | 12 +- configure.in | 81 +- lib/Makefile.am | 2 +- src/Makefile.am | 57 +- src/backend/Makefile.am | 8 +- src/eggdesktopfile.c | 1386 ++++++++++++++++++++++++++++ src/eggdesktopfile.h | 130 +++ src/eggsmclient-osx.c | 158 ++++ src/eggsmclient-private.h | 53 ++ src/eggsmclient-win32.c | 255 ++++++ src/eggsmclient-xsmp.c | 1404 +++++++++++++++++++++++++++++ src/eggsmclient.c | 588 ++++++++++++ src/eggsmclient.h | 123 +++ src/plugins/Makefile.am | 4 +- src/plugins/bemused/Makefile.am | 2 +- src/plugins/galago/Makefile.am | 2 +- src/plugins/gromit/Makefile.am | 2 +- src/plugins/lirc/Makefile.am | 2 +- src/plugins/media-player-keys/Makefile.am | 2 +- src/plugins/mythtv/Makefile.am | 2 +- src/plugins/ontop/Makefile.am | 2 +- src/plugins/properties/Makefile.am | 4 +- src/plugins/publish/Makefile.am | 2 +- src/plugins/sample-vala/Makefile.am | 4 +- src/plugins/screensaver/Makefile.am | 2 +- src/plugins/sidebar-test/Makefile.am | 2 +- src/plugins/skipto/Makefile.am | 2 +- src/plugins/thumbnail/Makefile.am | 2 +- src/plugins/tracker/Makefile.am | 2 +- src/totem-options.c | 13 + src/totem-session.c | 49 +- src/totem.c | 67 +- 33 files changed, 4295 insertions(+), 133 deletions(-)
Won't that break if any of the plugins are linked to libgnomeui though?
I grepped the whole tree and there are no callers of libgnome/libgnomeui functions left, neither in the main programme nor under src/plugins/. Or are you concerned about out-of-tree plugins (are there any?) ? No gstreamer plugins use libgnome/libgnomeui either, at least a grep turned up only use of gnome-vfs in gst-plugins-base. (Oh and btw I should mention that the patch should be correct but is untestable here since session management seems to be totally broken on intrepid. Testing appreciated :).
Seems fine to commit to me then, but please make sure all the egg*.[ch] files are added to the regenerate-built-sources target, and use update-from-egg.sh for updating.
Can we also do without the load_accels()/save_accels() stuff? Changing the accels currently works in Totem, but they were never saved, and nobody complained, so I'd rather have them dead.
Created attachment 119647 [details] [review] [PATCH] Bug 554226 – get rid of libgnome bindings/python/Makefile.am | 4 +- browser-plugin/Makefile.am | 12 +- configure.in | 81 +- lib/Makefile.am | 2 +- src/Makefile.am | 57 +- src/backend/Makefile.am | 8 +- src/eggdesktopfile.c | 1386 ++++++++++++++++++++++++++++ src/eggdesktopfile.h | 130 +++ src/eggsmclient-1.patch | 192 ++++ src/eggsmclient-2.patch | 25 + src/eggsmclient-3.patch | 84 ++ src/eggsmclient-osx.c | 158 ++++ src/eggsmclient-private.h | 53 ++ src/eggsmclient-win32.c | 255 ++++++ src/eggsmclient-xsmp.c | 1404 +++++++++++++++++++++++++++++ src/eggsmclient.c | 588 ++++++++++++ src/eggsmclient.h | 123 +++ src/plugins/Makefile.am | 4 +- src/plugins/bemused/Makefile.am | 2 +- src/plugins/galago/Makefile.am | 2 +- src/plugins/gromit/Makefile.am | 2 +- src/plugins/lirc/Makefile.am | 2 +- src/plugins/media-player-keys/Makefile.am | 2 +- src/plugins/mythtv/Makefile.am | 2 +- src/plugins/ontop/Makefile.am | 2 +- src/plugins/properties/Makefile.am | 4 +- src/plugins/publish/Makefile.am | 2 +- src/plugins/sample-vala/Makefile.am | 4 +- src/plugins/screensaver/Makefile.am | 2 +- src/plugins/sidebar-test/Makefile.am | 2 +- src/plugins/skipto/Makefile.am | 2 +- src/plugins/thumbnail/Makefile.am | 2 +- src/plugins/tracker/Makefile.am | 2 +- src/totem-interface.c | 10 +- src/totem-options.c | 13 + src/totem-session.c | 49 +- src/totem.c | 60 +- src/update-from-egg.sh | 41 +- 38 files changed, 4612 insertions(+), 161 deletions(-)
Updated patch, with update-from-egg.sh adapted, and accel saving stuff removed. And about dialogue hooks implemented.
Looks good.
Added a few more fixes to that patch. Thanks! 2008-10-07 Bastien Nocera <hadess@hadess.net> * bindings/python/Makefile.am: * browser-plugin/Makefile.am: * configure.in: * lib/Makefile.am: * src/Makefile.am: * src/backend/Makefile.am: * src/plugins/Makefile.am: * src/plugins/bemused/Makefile.am: * src/plugins/galago/Makefile.am: * src/plugins/gromit/Makefile.am: * src/plugins/lirc/Makefile.am: * src/plugins/media-player-keys/Makefile.am: * src/plugins/mythtv/Makefile.am: * src/plugins/ontop/Makefile.am: * src/plugins/properties/Makefile.am: * src/plugins/publish/Makefile.am: * src/plugins/sample-vala/Makefile.am: * src/plugins/screensaver/Makefile.am: * src/plugins/sidebar-test/Makefile.am: * src/plugins/skipto/Makefile.am: * src/plugins/skipto/totem-skipto.c: * src/plugins/thumbnail/Makefile.am: * src/plugins/tracker/Makefile.am: * src/totem-interface.c (totem_interface_error), (totem_interface_error_with_link): * src/totem-options.c (option_version_cb): * src/totem-session.c (totem_save_state_cb), (totem_quit_cb), (totem_session_setup), (totem_session_restore): * src/totem.c (about_url_hook), (about_email_hook), (main): * src/update-from-egg.sh: Big patch from Christian Persch <chpe@gnome.org> to remove the libgnome dependencies (Closes: #554226)