[devel] Утилиты для работы с setversions?

Alexey Tourbin alexey.tourbin на gmail.com
Сб Окт 26 17:17:25 MSK 2019


On Sat, Oct 26, 2019 at 4:31 PM Andrey Savchenko <bircoph на altlinux.org> wrote:
> Добрый день!
>
> Есть ли у нас утилиты для работы с set versions? На вики ничего
> не нашёл. Мне нужно развернуть set:<hash_array> в список символов.
> Понятно, что для этого нужны бинарники, они в пакете есть.

Set-версия состоит из упорядоченного набора bpp-битных хешей (а
кодируются дельты между хешами).  Хеши можно получить через закрытое
API, которое доступно через только через #include "set.c".  Прикрепил
пример.

$ rpm -q --provides glibc-core |grep 'libdl.*set'
libdl.so.2()(64bit) = set:hdBjS1I4gQ8BohwImELo8Zh
$ ./a.out set:hdBjS1I4gQ8BohwImELo8Zh
0272
0a8f
12b4
1f1c
1fb0
23f5
31a1
3571
35d3
3bcb

> Ещё было бы полезно знать, как получить список символов для каждой
> библиотеки до вычисления хешей.

Список для Provides делается через /usr/lib/rpm/provided_symbols.
Список для Requires делается более сложным образом с использованием
/usr/lib/rpm/ldd.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : printset.c
Тип     : text/x-csrc
Размер  : 514 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20191026/8428e346/attachment-0001.bin>


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