Plan for Adding Gnome to LSB
The following Gnome libraries make up an appropriate/necessary base layer which could be included in the LSB:
These are the base libraries that are recommended for an application to use. The interface list extracted from each of these will be reviewed by the Gnome project, and deprecated interfaces will be pruned at the beginning. Overall, there will be 2000-3000 interfaces.
The Gnome project has produced a versioned snapshot (2.6.2) of the documentation for these libraries so there's something specific to which the LSB could point. This can be found at http://www.gtk.org/api.
There are some tests available, but like most other libraries LSB has looked at, coverage is not complete. Sun created the gtkvts which can be found in the gnome cvs tree. Each of the modules listed above have some tests normally used for make check, which we can use in a manner similar to what was done for C++ (that is, wrap them so they can be run by one of our harnesses, either tet or qmtest).
Current source/library breakdown
These libraries are all released as part of a GNOME Platform release. Most of them are also released separately as the gtk project. The breakdown is as follows for the 2.6.0 gtk release as of December 2004:
- atk-1.9.0: atk
- glib-2.6.0: glib, gmodule, gobject, gthread
- gtk-2.6.0: gdk, gdk-pixbuf, gtk
- pango-1.8.0: pango
Should gobject be in the above list?
The other four libraries mentioned are in the GNOME 2.8.2 Platform release, currently GConf-2.8.1, libglade-2.4.1, libgnomeprint-2.8.1 and libgnomeprintui-2.8.1. Note that also available from a platform release are libxml2 and libxslt, which are tracked separately as LSB candidates (these do have a separate upstream).
In building the gtk set, these were discovered:
- gtk wants libtiff and libjpeg, it will configure without them but claims functionality may be lost
- pango wants to use Xft, and requires Freetype
- Xft has a dependency on fontconfig (and at least one of the gtk set would also like to have it)
- these will really be happier with the Xrender library
With the exception of tiff and jpeg, the X11 build can be configured to provide these. But what should we do with all these libraries? A build configured as just described in the lsbsi leaves us with the following shared library list. Are all these really required in lsb-graphics to support the gtk libs?
- libexpat.so.0.4.0, libfontconfig.so.1.0.4, libfontenc.so.1.0, libfreetype.so.6.3.6, libFS.so.6.0, libGL.so.1.2, libICE.so.6.3, libSM.so.6.0, libX11.so.6.2, libXaw.so.6.1, libXaw.so.7.0, libXaw.so.8.0, libXcomposite.so.1.0, libXcursor.so.1.0.2, libXdamage.so.1.0, libXevie.so.1.0, libXext.so.6.4, libXfixes.so.3.0, libXft.so.1.1, libXft.so.2.1.2, libxkbfile.so.1.0, libxkbui.so.1.0, libXmu.so.6.2, libXmuu.so.1.0, libXpm.so.4.11, libXp.so.6.2, libXrender.so.1.2.2, libXRes.so.1.0, libXt.so.6.0, libXtst.so.6.1, libXxf86misc.so.1.1, libXxf86vm.so.1.0
[[[GnomePlan3]]/Comments User Comments] [[Include(GnomePlan3/Comments)]]