[devel] Re: version script for libgtk+2

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Сен 9 08:24:20 MSD 2005


On Mon, Sep 05, 2005 at 01:06:22AM +0400, Alexey Tourbin wrote:
> $ rpmsymver /var/cache/apt/archives/libgtk+2_2.6.7-alt1_i586.rpm /var/cache/apt/archives/libgtk+2_2.8.3-alt1_i586.rpm
> --- libgtk+2_2.6.7-alt1_i586.rpm/usr/lib/libgdk-x11-2.0.so.0.sym	2005-09-05 00:53:01 +0400
> +++ libgtk+2_2.8.3-alt1_i586.rpm/usr/lib/libgdk-x11-2.0.so.0.sym	2005-09-05 00:53:01 +0400
> @@ -12,2 +12,7 @@
>  T gdk_byte_order_get_type
> +T gdk_cairo_create
> +T gdk_cairo_rectangle
> +T gdk_cairo_region
> +T gdk_cairo_set_source_color
> +T gdk_cairo_set_source_pixbuf
>  T gdk_cap_style_get_type

Далее нужно проверить, какие изменения были сделаны в 2.8.1-2.8.3,
то есть достаточно ли будет одного интерфейса для 2.8.

$ diff -abBpruw gtk+-2.8.0 gtk+-2.8.1 >2.8.0-2.8.1.diff
$ diff -abBpruw gtk+-2.8.1 gtk+-2.8.2 >2.8.1-2.8.2.diff
$ diff -abBpruw gtk+-2.8.2 gtk+-2.8.3 >2.8.2-2.8.3.diff

Список новых функций помещаем в файл fun:

$ head fun
gdk_cairo_create
gdk_cairo_rectangle
gdk_cairo_region
gdk_cairo_set_source_color
gdk_cairo_set_source_pixbuf
gdk_cursor_get_image
gdk_cursor_new_from_name
gdk_display_warp_pointer
gdk_pixmap_impl_x11_get_type
gdk_screen_get_rgba_colormap
$

Ищем упоминание этих функций в диффах:

$ grepdiff -H -f fun 2.8.?-2.8.?.diff |grep -v 'html$'
2.8.0-2.8.1.diff:gtk+-2.8.0/ChangeLog
2.8.0-2.8.1.diff:gtk+-2.8.0/docs/reference/gdk-pixbuf/html/gdk-pixbuf.devhelp
2.8.0-2.8.1.diff:gtk+-2.8.0/gtk/gtkiconview.c
2.8.0-2.8.1.diff:gtk+-2.8.0/gtk/gtksettings.c
2.8.1-2.8.2.diff:gtk+-2.8.1/docs/reference/gdk-pixbuf/html/gdk-pixbuf.devhelp
2.8.2-2.8.3.diff:gtk+-2.8.2/ChangeLog
2.8.2-2.8.3.diff:gtk+-2.8.2/docs/reference/gdk-pixbuf/html/gdk-pixbuf.devhelp
2.8.2-2.8.3.diff:gtk+-2.8.2/gdk/x11/gdkcursor-x11.c
2.8.2-2.8.3.diff:gtk+-2.8.2/gtk/gtksettings.c
$

Далее последовательно проверяем эти куски, напр:

$ filterdiff -i gtk+-2.8.0/gtk/gtkiconview.c 2.8.0-2.8.1.diff
--- gtk+-2.8.0/gtk/gtkiconview.c        2005-07-11 13:14:04 +0000
+++ gtk+-2.8.1/gtk/gtkiconview.c        2005-08-20 20:16:34 +0000
@@ -172,6 +173,12 @@ struct _GtkIconViewPrivate
   GtkTreeRowReference *dest_item;
   GtkIconViewDropPosition dest_pos;

+  /* scroll to */
+  GtkTreeRowReference *scroll_to_path;
+  gfloat scroll_to_row_align;
+  gfloat scroll_to_col_align;
+  guint scroll_to_use_align : 1;
+
   guint source_set : 1;
   guint dest_set : 1;
   guint reorderable : 1;
...
$

Видно, что этот кусок никак не задевает ABI, хотя в нём и встречаются
упоминания некоторых новых функций:

$ filterdiff -i gtk+-2.8.0/gtk/gtkiconview.c 2.8.0-2.8.1.diff |grep -f fun
+      gtk_icon_view_scroll_to_path (icon_view, path,
@@ -1712,6 +1745,7 @@ gtk_icon_view_set_cursor (GtkIconView
@@ -1733,7 +1767,11 @@ gtk_icon_view_set_cursor (GtkIconView
   gtk_icon_view_set_cursor_item (icon_view, item, cell_pos);
+    gtk_icon_view_scroll_to_path (icon_view, path,
@@ -3917,15 +3955,33 @@ gtk_icon_view_scroll_to_path (GtkIconVie
$

Проверка других кусков показывает, что они тоже никак не задевают ABI.
Значит, отдельных интерфейсов для 2.8.{1,2,3} не нужно.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20050909/fb95ea36/attachment-0001.bin>


Подробная информация о списке рассылки Devel