* [devel] version script for glib2 [2]
@ 2005-09-04 1:31 Alexey Tourbin
2005-09-04 14:10 ` Dmitry V. Levin
0 siblings, 1 reply; 3+ messages in thread
From: Alexey Tourbin @ 2005-09-04 1:31 UTC (permalink / raw)
To: devel
[-- 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 --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] version script for glib2 [2]
2005-09-04 1:31 [devel] version script for glib2 [2] Alexey Tourbin
@ 2005-09-04 14:10 ` Dmitry V. Levin
2005-09-04 15:21 ` [devel] " Alexey Tourbin
0 siblings, 1 reply; 3+ messages in thread
From: Dmitry V. Levin @ 2005-09-04 14:10 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 519 bytes --]
On Sun, Sep 04, 2005 at 05:31:37AM +0400, Alexey Tourbin wrote:
> На всякий случай ещё раз кратко фиксирую, "что нужно делать".
На всякий случай напоминаю, что пока upstream не прозрел, это нужно делать
перед упаковкой каждой новой версии.
[...]
> Мы надеемся на то, что новые функции будут добавляться только в minor,
> но не в micro версиях (2.8.3 -- major.minor.micro). Вешаем новые
> функции на интерфейс GLIB_2.8.
Даже если эти надежды не оправдаются, ничего страшного не произойдёт.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [devel] Re: version script for glib2 [2]
2005-09-04 14:10 ` Dmitry V. Levin
@ 2005-09-04 15:21 ` Alexey Tourbin
0 siblings, 0 replies; 3+ messages in thread
From: Alexey Tourbin @ 2005-09-04 15:21 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1821 bytes --]
On Sun, Sep 04, 2005 at 06:10:13PM +0400, Dmitry V. Levin wrote:
> On Sun, Sep 04, 2005 at 05:31:37AM +0400, Alexey Tourbin wrote:
> > На всякий случай ещё раз кратко фиксирую, "что нужно делать".
> На всякий случай напоминаю, что пока upstream не прозрел, это нужно делать
> перед упаковкой каждой новой версии.
И даже если прозреет. :)
> > Мы надеемся на то, что новые функции будут добавляться только в minor,
> > но не в micro версиях (2.8.3 -- major.minor.micro). Вешаем новые
> > функции на интерфейс GLIB_2.8.
> Даже если эти надежды не оправдаются, ничего страшного не произойдёт.
В release announcement обычно пишут, какие новые функции добавлены.
http://mail.gnome.org/archives/gnome-announce-list/2005-August/msg00048.html
http://mail.gnome.org/archives/gnome-announce-list/2005-August/msg00073.html
Апстрим по-своему прав, потому что использует libtool, а libtool
поддерживает только --export-symbols FILE и --export-symbols REGEX,
что апстримом и используется.
Я как-будто краем глаза в google search видел, что libtool-2.0
поддерживает --version-script. А сейчас он только генерить его умеет:
/usr/bin/libtool-1.5:
212 archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
213 cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
214 \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
215 \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
Ну вот нафига так делать? Почему генерат делать умеет, а нормальный
version-script брать не умеет? Эти GNU'тые поделия отчего-то меня
иногда очень раздражают. По-моему, это не я выпендриваюсь, а libtool
выпендривается.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-09-04 15:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-04 1:31 [devel] version script for glib2 [2] Alexey Tourbin
2005-09-04 14:10 ` Dmitry V. Levin
2005-09-04 15:21 ` [devel] " Alexey Tourbin
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