[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