GNOME Bugzilla – Bug 558840
Get rid of libgnome
Last modified: 2009-07-14 23:40:16 UTC
welinder@toshiba:~/gnome/gnumeric> find . -name '*.[chy]' -print | xargs -n100 grep 'libgnome[^d]' ./src/libgnumeric.c:#include <libgnomevfs/gnome-vfs-init.h> ./src/session.c:#include <libgnomeui/gnome-client.h> ./src/main-application.c:#include <libgnome/gnome-program.h> ./src/main-application.c:#include <libgnome/gnome-init.h> ./src/main-application.c:#include <libgnomeui/gnome-ui-init.h> ./src/main-application.c:#include <libgnomeui/gnome-authentication-manager.h> ./src/main-application.c: * libgnome[ui]'s args. ./src/main-application.c: * Upgrade to libgnome 2.13 or better to solve this. ./plugins/excel/ms-excel-read.c:/* Map a BIFF4 SETUP paper size number to the equivalent libgnomeprint paper ./src/libgnumeric.c: gnome vfs? I think we can drop this right away. ./src/session.c: Session management. /plugins/excel/ms-excel-read.c: comment out of date, I think. ./src/main-application.c: gnome_program_init, authentification manager, bonobo. We don't need gnome_program_init anymore, I think. We don't need the authentification manager in this gio world, I think. Bonobo we might need for the component. How are we supposed to do session management?
I fixed the gnome_vfs situation. If someone links it in, it will be initialized, but we will not pull it in ourselves. (libgnomeui does.)
I also fixed the excel comment.
Session management: http://svn.gnome.org/viewvc/libegg/trunk/libegg/smclient/README?view=markup http://live.gnome.org/SessionManagement/EggSMClient http://bugzilla.gnome.org/show_bug.cgi?id=79285 Authentication manager: confirmed relevant for gnome_vfs only. I will change main-application.c to call it if someone linked it in.
Hmm... Bonobo will have to go too, at least from the main application. libbonoboui links libgnome. Also libbonobo is deprecated, i.e., no-one wants to maintain. Current users: src/workbook.c: as a comment says, that should not be there. src/main-component.c: probably ok to use here src/main-application.c: I am not sure why we need it here. plugins/corba/*.c What good is the current corba plugin?
The bonobo component has been commented out 4+ years ago by Jody in src/Makefile.am, so src/main-component.c is not used anymore.
main-component.c is gone. Archaeologists can revive from svn. test-pango.c lost it bonobo references.
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report. We lost session management -- too bad. Let's hope gtk+ integrates the eggs stuff one day.
Errr... grep'ing for libgnome still comes up with the following bits: ./configure.in: libgnome-2.0 >= 2.0.0 ./debian/control: libgnome2-dev (>= 2.4.0-2), libgnomeui-dev (>= 2.4.0-2), ./gnumeric.spec.in:BuildRequires: libgnome-devel >= 2.0.0 ./src/main-application.c:#include <libgnome/gnome-program.h> ./src/main-application.c:#include <libgnome/gnome-init.h> ./configure.in: libgnomeui-2.0 >= 2.0.0 ./debian/control: libgnome2-dev (>= 2.4.0-2), libgnomeui-dev (>= 2.4.0-2), ./gnumeric.spec.in:BuildRequires: libgnomeui-devel >= 2.0.0 ./src/main-application.c:#include <libgnomeui/gnome-ui-init.h> ./src/session.c:#include <libgnomeui/gnome-client.h> ...so I don't consider this bug bug to be complete FIXED.
Did you check where these items occur in those files? They are encapsulated for the situation that you choose to compile with gnome.
> Did you check where these items occur in those files? No, when grepping through 200 modules and getting a rough overview how much work is needed for gnome 3 platform cleanup I don't have the time to read every file. (In reply to comment #9) > They are encapsulated for the situation that you choose to compile with gnome. Still libgnome and libgnomeui are deprecated and will be removed for gnome 3. Hence it's time to get rid of them. Completely, even if encapsulated. So this is not fixed. http://live.gnome.org/TwoPointTwentyfive/Platform#upcoming_deprecations http://live.gnome.org/LibgnomeMustDie
libgnome and libgnomeui may be deprecated and may disappear for gnome 3, but gnumeric is supposed to compile even for all those that do not proceed to gnome3. While you can remove it from future versions of gnome, how do you want to remove it from those versions that users are in fact using? There is no way we will be removing those parts until we push our general requirements far enough that users can't use those older versions anymore.