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

Andrey Savchenko bircoph на altlinux.org
Ср Окт 30 14:38:01 MSK 2019


On Wed, 30 Oct 2019 13:46:26 +0300 Vladimir D. Seleznev wrote:
> On Wed, Oct 30, 2019 at 12:06:26PM +0300, Andrey Savchenko wrote:
> > On Wed, 30 Oct 2019 05:04:27 +0300 Alexey Tourbin wrote:
> > > On Tue, Oct 29, 2019 at 9:23 PM Andrey Savchenko <bircoph на altlinux.org> wrote:
> > > > К сожалению, для решения реальной проблемы этого недостаточно:
> > > 
> > > Давайте решим реальную проблему. Что вы хотите сделать? Left outer join?
> > 
> > Задача следующая:
> > 
> > 1) Есть библиотека foo-1.0
> > 2) Она обновилась до foo-1.0.1
> > 3) Возник unmet пакета bar на libfoo.so (>= set:abcdef)
> > 
> > Мне нужно знать, каких именно символов из foo стало не хватать bar.
> > 
> > Будет при этом left outer join или right inner join — мне абсолютно
> > не важно. От rpm мне нужна возможность отображать set в список
> > символов (при наличии библиотеки, разумеется).
> 
> Я думаю, проще воспользоваться утилитой rpmsodiff(1) из состава пакета
> qa-robot, которая в т.ч. сравнивает символы в пределах SONAME:

Она мне ответит на вопрос чем отличается новая и старая библиотека,
но не на вопрос какие символы из этой разницы нужны заданному
пакету. Понятно, что можно прообждампить все бинарники пакета
и затем сопоставить списки символов с вытащенными из разницы.

Но ведь rpm уже обладает всей нужной информацией в виде set!
Просто нет инструментов для работы с ней :/

P.S. Конкретно возникшую прошблему с libharfbuzz я уже решил иными
методами, но безусловно, что подобные задачи будут возникать
и в дальнейшем, и было бы очень полезно иметь инструменты для их
решения. 

> $ rpmsodiff /ALT/repo/sisyphus/date/2017/01/01/x86_64/RPMS.classic/libglusterfs3-3.8.4-alt1.x86_64.rpm \
>             /ALT/repo/sisyphus/date/2018/01/01/x86_64/RPMS.classic/libglusterfs3-3.12.4-alt1.x86_64.rpm |
>             head -n 15
> 	common sonames:
> libgfchangelog.so.0	/usr/lib64/libgfchangelog.so.0.0.1	/usr/lib64/libgfchangelog.so.0.0.1
> libgfrpc.so.0	/usr/lib64/libgfrpc.so.0.0.1	/usr/lib64/libgfrpc.so.0.0.1
> libgfxdr.so.0	/usr/lib64/libgfxdr.so.0.0.1	/usr/lib64/libgfxdr.so.0.0.1
> libglusterfs.so.0	/usr/lib64/libglusterfs.so.0.0.1	/usr/lib64/libglusterfs.so.0.0.1
> 
> --- libglusterfs3-3.8.4-alt1/libgfchangelog.so.0	2016-10-02 02:02:01.000000000 +0300
> +++ libglusterfs3-3.12.4-alt1/libgfchangelog.so.0	2017-12-17 20:05:18.000000000 +0300
> @@ -74,3 +74,3 @@
>  gf_readline	T
> -gf_rfc3986_encode	T
> +gf_rfc3986_encode_space_newline	T
>  gf_thread_cleanup	T
> 
> 	1 symbols removed
> 


Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20191030/3fb33175/attachment.bin>


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