Re: [gdm-list] Re: build selected modules without gnome deps



Jani:

Much thanks for doing this work.  This is a big step in getting libgnome
and libgnomeui out of GDM.  I think we are much closer now.  I applied
your patch to CVS head.  In addition, I finally finished fixing gdmsetup
and gdmflexiserver so that they use the new configuration mechanism for
accessing the xserver gdm.conf data, so that gets rid of the
gnome_config logic out of those two programs.

I also went ahead and fixed these two programs so they use gtk_init
instead of the gnome_program_init functions.  I also modified gdmlogin.c
so it just uses a hardcoded "4" instead of using GNOME_PAD_SMALL.

There are still a few issues making libgnome and libgnomeui needed
by most GDM GUI programs:

+ Many GDM GUI programs suck in gnome_program_locate_file() which is
  used in ve_find_file() function in vicious-extensions/ve-gnome.c.
  No GDM GUi program calls ve_find_file() directly but a number of
  vicious-extensions functions that are used (glade_helper_load for
  example) do call this function.  I'm not sure what this should be
  using instead of gnome_program_locate_file().  Advice or help?

+ The gnome_help_display_uri issue is still there in gdmsetup.c.  I'm
  not sure what to do about this one.

Once we figure out how to deal with the above two issues, then we can
make GDM free of libgnome/libgnomeui dependencies.  This should speed
up the time it takes for GDM to load, since it would make GDM much more
lightweight.

Brian

Follow up: I managed to build the most of gdm without gnome with the
following exceptions:
1) flexiserver still uses the old gnomeui config mechanism so it was not
converted but once it uses the new config it should be ok
2) gdmsetup uses gnome_help_display_uri(), apparently the only gnome
function used in gdm which has no gtk implementation I know of
3) a nit: gdmlogin includes libgnomeui to get the GNOME_PAD_SMALL
constant, so I defined it locally (it is 4)

Uses of gnome_program_init() were converted to gkt_init() + explicit
popt parsing, the rest is similar to the previous patch, only header
cleanups.

I only include the code changes in the patch, since autoconf/make
changes distract from the essence.
With these changes libvicious-gnome is not needed either.

Not linking to the additional ~29 gnome libraries should improve startup
time as well I think, but did not actually got around to measure.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]