ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: devel@altlinux.ru
Subject: [devel] version script for glib2 [2]
Date: Sun, 4 Sep 2005 05:31:37 +0400
Message-ID: <20050904013137.GF27194@solemn.turbinal.org> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 4248 bytes --]

На всякий случай ещё раз кратко фиксирую, "что нужно делать".

$ rpm2cpio /var/cache/apt/archives/glib2_2.6.3-alt1_i586.rpm |(mkdir 2.6.3; cd 2.6.3; cpio -idm)
3621 blocks
$ rpm2cpio /var/cache/apt/archives/glib2_2.8.1-alt1_i586.rpm |(mkdir 2.8.1; cd 2.8.1; cpio -idm)
4091 blocks
$ for f in {2.6.3,2.8.1}/usr/lib/*.so*(.); do nm -D $f |awk 'NF==3{print$2,$3}' >${f%%-*}.sym; done
$ ls -1 {2.6.3,2.8.1}/usr/lib/*.sym
2.6.3/usr/lib/libglib.sym
2.6.3/usr/lib/libgmodule.sym
2.6.3/usr/lib/libgobject.sym
2.6.3/usr/lib/libgthread.sym
2.8.1/usr/lib/libglib.sym
2.8.1/usr/lib/libgmodule.sym
2.8.1/usr/lib/libgobject.sym
2.8.1/usr/lib/libgthread.sym
$ diff -U1 -r --exclude='*.so*' {2.6.3,2.8.1}/usr/lib
diff -U1 -r --exclude='*.so*' 2.6.3/usr/lib/libglib.sym 2.8.1/usr/lib/libglib.sym
--- 2.6.3/usr/lib/libglib.sym	2005-09-04 05:17:14 +0400
+++ 2.8.1/usr/lib/libglib.sym	2005-09-04 05:17:14 +0400
@@ -1 +1,2 @@
+T g_access
 T g_allocator_free
@@ -49,3 +50,5 @@
 T g_atomic_int_exchange_and_add
+T g_atomic_int_get
 T g_atomic_pointer_compare_and_exchange
+T g_atomic_pointer_get
 T g_basename
@@ -56,3 +59,5 @@
 T g_build_filename
+T g_build_filenamev
 T g_build_path
+T g_build_pathv
 T g_byte_array_append
@@ -74,2 +79,3 @@
 T g_cache_value_foreach
+T g_chdir
 T g_child_watch_add
@@ -78,2 +84,3 @@
 T g_child_watch_source_new
+T g_chmod
 T g_clear_error
@@ -91,4 +98,6 @@
 T g_convert_with_iconv
+T g_creat
 T g_datalist_clear
 T g_datalist_foreach
+T g_datalist_get_flags
 T g_datalist_id_get_data
@@ -97,2 +106,4 @@
 T g_datalist_init
+T g_datalist_set_flags
+T g_datalist_unset_flags
 T g_dataset_destroy
@@ -164,2 +175,3 @@
 T g_file_read_link
+T g_file_set_contents
 T g_file_test
@@ -183,2 +195,3 @@
 T g_get_home_dir
+T g_get_host_name
 T g_get_language_names
@@ -346,2 +359,3 @@
 T g_list_sort_with_data
+T g_listenv
 T g_locale_from_utf8
@@ -388,2 +402,6 @@
 T g_malloc0
+T g_mapped_file_free
+T g_mapped_file_get_contents
+T g_mapped_file_get_length
+T g_mapped_file_new
 T g_markup_error_quark
@@ -412,2 +430,3 @@
 T g_mkdir
+T g_mkdir_with_parents
 T g_mkstemp
@@ -801,2 +820,3 @@
 T g_try_malloc
+T g_try_malloc0
 T g_try_realloc
@@ -841,2 +861,3 @@
 T g_utf8_collate_key
+T g_utf8_collate_key_for_filename
 T g_utf8_find_next_char
diff -U1 -r --exclude='*.so*' 2.6.3/usr/lib/libgobject.sym 2.8.1/usr/lib/libgobject.sym
--- 2.6.3/usr/lib/libgobject.sym	2005-09-04 05:17:14 +0400
+++ 2.8.1/usr/lib/libgobject.sym	2005-09-04 05:17:14 +0400
@@ -42,2 +42,3 @@
 T g_closure_unref
+T g_date_get_type
 T g_enum_complete_type_info
@@ -55,2 +56,3 @@
 T g_io_condition_get_type
+T g_object_add_toggle_ref
 T g_object_add_weak_pointer
@@ -76,2 +78,3 @@
 T g_object_ref
+T g_object_remove_toggle_ref
 T g_object_remove_weak_pointer
$

Таким образом, видно, что в libglib добавили 21 новую функцию, в
libgobject -- 3 новые функции, libgmodule и libgthread не изменились.

Мы надеемся на то, что новые функции будут добавляться только в minor,
но не в micro версиях (2.8.3 -- major.minor.micro).  Вешаем новые
функции на интерфейс GLIB_2.8.

--- RPM/SPECS/glib2.spec-	2005-08-29 22:20:22 +0000
+++ RPM/SPECS/glib2.spec	2005-09-04 00:56:00 +0000
@@ -14,6 +14,9 @@ Url: ftp://ftp.gnome.org
 
 Source: ftp://ftp.gnome.org/pub/gnome/sources/%_name/%ver_major/%_name-%version.tar.bz2
 
+Source1: %name-2.8-glib.map
+Source2: %name-2.8-gobject.map
+
 Provides: lib%name = %version-%release
 Obsoletes: lib%name
 
@@ -85,6 +88,9 @@ This package provides GLIB static librar
 %prep
 %setup -q -n %_name-%version
 
+%__install -p -m644 %SOURCE1 glib/symver.map
+%__install -p -m644 %SOURCE2 gobject/symver.map
+
 %build
 %configure \
     %{subst_enable static} \
@@ -92,7 +98,7 @@ This package provides GLIB static librar
     --enable-gtk-doc
 %endif
 
-%make_build
+%make_build LIBTOOL_EXPORT_OPTIONS=-Wl,--version-script=symver.map
 #%make -C tests check-TESTS
 
 %install
End of patch

После пересборки появляется:
Provides: libglib2 = 2.8.1-alt1, libglib-2.0.so.0, libglib-2.0.so.0(GLIB_2.8), libgmodule-2.0.so.0, libgobject-2.0.so.0, libgobject-2.0.so.0(GLIB_2.8), libgthread-2.0.so.0 

Вроде всё правильно.

[-- Attachment #1.2: glib2-2.8-glib.map --]
[-- Type: text/plain, Size: 454 bytes --]

GLIB_2.8 {
    global:
	g_access;
	g_atomic_int_get;
	g_atomic_pointer_get;
	g_build_filenamev;
	g_build_pathv;
	g_chdir;
	g_chmod;
	g_creat;
	g_datalist_get_flags;
	g_datalist_set_flags;
	g_datalist_unset_flags;
	g_file_set_contents;
	g_get_host_name;
	g_listenv;
	g_mapped_file_free;
	g_mapped_file_get_contents;
	g_mapped_file_get_length;
	g_mapped_file_new;
	g_mkdir_with_parents;
	g_try_malloc0;
	g_utf8_collate_key_for_filename;
    local:
	_*;
};

[-- Attachment #1.3: glib2-2.8-gobject.map --]
[-- Type: text/plain, Size: 115 bytes --]

GLIB_2.8 {
    global:
	g_date_get_type;
	g_object_add_toggle_ref;
	g_object_remove_toggle_ref;
    local:
	_*;
};

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

             reply	other threads:[~2005-09-04  1:31 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-04  1:31 Alexey Tourbin [this message]
2005-09-04 14:10 ` Dmitry V. Levin
2005-09-04 15:21   ` [devel] " Alexey Tourbin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050904013137.GF27194@solemn.turbinal.org \
    --to=at@altlinux.ru \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git