[devel] device mapper version script
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пт Сен 15 21:28:44 MSD 2006
On Fri, Sep 15, 2006 at 08:06:33PM +0400, Pavlov Konstantin wrote:
> On Friday 15 September 2006 19:55, Pavlov Konstantin wrote:
> > Всем привет.
> >
> > У меня готовы сборки новых LVM2 = 2.02.09 и device-mapper = 1.02.09.
> > Из нюансов:
> > Изменен version script для libdevmapper.
>
> А вот и diff:
>
> $ diff -urN ../device-mapper-1.02.02-alt-sym device-mapper-1.02.09-alt-sym
> --- ../device-mapper-1.02.02-alt-sym 2006-09-15 20:07:18 +0400
> +++ device-mapper-1.02.09-alt-sym 2006-09-15 20:07:22 +0400
> @@ -29,7 +29,6 @@
> dm_task_set_ro;
> dm_task_set_sector;
> dm_task_set_uuid;
> - local:
В окончательном пакете это делать не нужно - я предложил сделать это
временно, чтобы пакет хоть как-то собрался, и к нему можно было бы
применить утилиты для сравнения набора экспортируемых символов.
> *;
> };
>
> @@ -116,3 +115,27 @@
Где-то в промежутке должно было бы быть удаление dm_strdup (хотя, как
оказалось, несуществующие символы ld просто игнорирует).
Вообще история с dm_strdup следующая:
http://www.redhat.com/archives/dm-devel/2006-February/msg00057.html
Т.е., upstream сознательно разломал ABI.
> dm_tree_preload_children;
> dm_tree_suspend_children;
> };
> +
> +DEVMAPPER_1.02.09 {
> + global:
> + _align_chunk;
> + _fini;
> + _init;
> + _new_chunk;
> + add_dev_node;
> + create_dir;
> + create_target;
> + dm_check_version;
> + dm_log;
> + dm_segtypes;
> + dm_strdup_aux;
> + dm_task_set_geometry;
> + dm_task_set_gid;
> + dm_task_set_mode;
> + dm_task_set_uid;
> + dm_tree_skip_lockfs;
> + rename_dev_node;
> + rm_dev_node;
> + update_devs;
> +};
Здесь два замечания:
1) Далеко не все эти символы нужно экспортировать - скорее всего,
здесь должны быть только символы вида dm_*. Более того, в
оригинальных исходниках уже есть файл .exported_symbols, который
применяется для явного указания экспортируемых символов (правда,
там всё загоняется в одну версию с именем Base). Очевидно, что в
списке символов с версиями должны быть те и только те символы,
которые перечислены в файле .exported_symbols (возможно, это даже
не все символы вида dm_*).
2) В version script можно ещё указывать зависимости между версиями -
написать, что новая версия базируется на предыдущей. Хотя я не
совсем понимаю смысл этого действия для варианта GNU - всё равно
переносить символы из одной версии в другую нельзя; похоже, это
было нужно в основном для исходного варианта от Sun.
Впрочем, в существующем файле для версии 1.02.02 эти зависимости
уже отсутствуют - не уверен, что от их добавления ничего не
сломается.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/20060915/3c922032/attachment-0001.bin>
Подробная информация о списке рассылки Devel