[Lsb-infrastructure] strange change in lsbspec from ???

Denis Silakov silakov at ispras.ru
Mon Sep 22 23:29:39 PDT 2008


Wichmann, Mats D wrote:
> Doing a full "make gensrc" today I observe some odd
> drifting in standards references, I wonder if there's
> now a bug in one of the scripts?
>
> Here's an example:
>
> +++ Toolkit_Gtk/generic/GTK/libGdk_pixbuf.sgml  2008-09-18 18:10:51 +0000
> @@ -142,7 +142,7 @@
>  </ROW>
>  <ROW>
>  <ENTRY><indexterm><primary>gdk_pixbuf_get_rowstride</primary></indexterm>gdk_pixbuf_get_rowstride <LINK LINKEND="REFSTD.libgdk.pixbuf.2.0.1">[Gdk-pixbuf 2.8]</LINK></ENTRY>
> -<ENTRY><indexterm><primary>gdk_pixbuf_get_type</primary></indexterm>gdk_pixbuf_get_type <LINK LINKEND="REFSTD.libgdk.pixbuf.2.0.1">[Gdk-pixbuf 2.8]</LINK></ENTRY>
> +<ENTRY><indexterm><primary>gdk_pixbuf_get_type</primary></indexterm>gdk_pixbuf_get_type <LINK LINKEND="REFSTD.libgdk.pixbuf.2.0.2">[Gobject 2.8]</LINK></ENTRY>
>  </ROW>
>  <ROW>
>  <ENTRY><indexterm><primary>gdk_pixbuf_get_width</primary></indexterm>gdk_pixbuf_get_width <LINK LINKEND="REFSTD.libgdk.pixbuf.2.0.1">[Gdk-pixbuf 2.8]</LINK></ENTRY>
>
>
> In the -/+ lines we see the reference to the library has
> changed from libgdk.pixbuf.2.0.1 (which doesn't appear correct
> either) to libgdk.pixbuf.2.0.2; and the tag which will actually
> be printed in the spec has changed from [Gdk-pixbuf 2.8] to
> [Gobject 2.8].  Indeed there are a number of these changes
> which all seem to have migrated to using this [Gobject 2.8] tag.

Change in referenced spec is intentional. The thing is that in LSB 3.2 
all *get_type functions were assigned to appropriate library docs (e.g. 
gdk_pixbuf_get_type - to Gdk-pixbuf docs). Unfortunately, that docs 
actually don't describe *get_type symbols; the only available 
description appeared in Gobject 2.8 documentation - 'gtype-conventions' 
page describes the whole class of *get_type functions. That's why since 
LSB 4.0 all such symbols are assigned to Gobject documentation.

However, there is some duplicates in the IntStd table - it seems that 
many *get_type symbols have two records with ISappraredin='4.0' - one 
points to Gobject, another - to appropriate lib documentation. The 
latter should be dropped:

CREATE TEMPORARY TABLE tmp_Sid (
 SELECT ISiid FROM IntStd GROUP BY ISiid, ISappearedin
 HAVING COUNT(ISsid) > 1
);

DELETE FROM IntStd WHERE ISiid IN (
 SELECT ISiid FROM tmp_Sid
) AND ISappearedin='4.0' AND ISurl IS NULL;

-- 
Regards,
Denis.



More information about the lsb-infrastructure mailing list