This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Issues

The page should list cases in which GNOME modules do not seem to follow the Interface Specification.

General

Known Issues

File Installation Locations

Status

Module

Bug

Description

Open Issue

gnome-keyring-daemon

#171399

gnome-keyring-daemon is installed to bin instead of libexec

Open Issue

General Issue

General Issue

Needless clutter in %{datadir}. One example, GNOME applications install datafiles to %{datadir}/programname just to install icon and glade files. Might make more sense to install these files to a common location like %{datadir}/icons and %{datadir}/glade.

GNOME Website

Status

Module

Bug

Description

Open Issue

Release Team

#314505

Release Team Website Suggestions

Open Issue

libart_lgpl

None

The API docs for this GNOME Platform module are stored in a less stable/official location than other GNOME modules, http://www.gnome.org/~mathieu/libart

Interface Documentation

Status

Module

Bug

Description

Partially Resolved

GConf

#313596

The gtk-docs are in poor shape

Open Issue

pango

None

gtk-docs do not seem to highlight interface change information

Open Issue

libart_lgpl

#111795

Although API docs are provided at the above URL, the libart module does not build gtk-docs. Only 39 of the 108 functions exposed in libart are undocumented. The one added function is not using the "Since:" tag.

Patch Available

libglade

#156302

One interfacce, glade_module_check_version is not documented

Open Issue

libgnome

#313888

Not all libgnome interfaces are documented, and Since: tags are not properly used to indicate new interfaces]

Open Issue

libgnomeui

#117115, #117177

Documentation bugs

Open Issue

gnome-vfs

#351587

New interfaces not properly documented, gnome-vfs-mime move to libbonobo not mentioned

Library Versioning

libtool

The GNOME Release Team recommends that the LT_VERSION macro be updated in their instructions for Making A Release. Note that some GNOME Platform modules do not follow this recommendation, but probably should. ORBit2, libbonobo, and libbonoboui are examples of modules that have not been following this convention as their interfaces change.

The following text explains how the LT_VERSION libtool macro is used to control library version numbers.

# Before making a release, the LT_VERSION string should be modified.
# The string is of the form C:R:A, or CURRENT[:REVISION[:AGE]]
.
# - If interfaces have been changed or added, but binary compatibility has
#   been preserved, change to C+1:0:A+1
# - If binary compatibility has been broken (eg removed or changed interfaces)
#   change to C+1:0:0
# - If the interface is the same as the previous version, change to C:R+1:A
LT_VERSION=4:5:2

This is then passed to libtool's -version-info argument. Owen Taylor has the following to say explaining why this is valuable.

OwenTaylor: The standard libtool scheme maps in a predictable (if unituitive way) to the ELF version triplet, and gives you no capabilities that you wouldn't have by specifying that version number directly. The only things that really matter is: does the soname change? (the soname is typically libfoo.so.x). We jump through some hoops in the GTK+ stack to give library version numbers that are more easily connectable to the release versions ... so we have, say, libgtk-2.0.so.0.800.2 for gtk+-2.8.2, but the important thing is that "libgtk-2.0.so.0" has stayed constant since GTK+-2.0.0. If we broke backwards compatibility, then we would change the soname, but that would generally be a bad thing. If we were using the libtool versioning scheme more directly, then we'd likely have something like libgtk.so.3.7.2 as the version number, which would be fine as well, as long as 'libgtk.so.3' hadn't changed since GTK+-2.0.0. The reason that libtool has a bizarre scheme rather than specifying ELF numbers is to increase portability systems with different conventions (SunOS 4, old BSD systems only have x.y, not x.yz). Though recent versions of libtool let you specify ELF triplets directly as an alternatively.


2024-10-23 10:59