[devel] [librpm] обновление rpm и ldconfig

Stanislav Levin slev на altlinux.org
Ср Сен 25 16:37:15 MSK 2019


Здравствуйте!


Решается задача автоматизированного обновления одного из продуктов P8 => P9.

Этот продукт по своим причинам дергает `rpmvercmp` из librpm с помощью
Python ctypes. Библиотека ищется в системе с помощью `ldconfig -p` [1]

До обновления:

# ldconfig -p | grep rpm

...

librpm-4.0.4.so (libc6,x86-64) => /usr/lib64/librpm-4.0.4.so

...

После обновления ситуация не меняется (в кеше сидит старая библиотека).

ctypes в свою очередь не может найти `rpmvercmp` и продукт падает.

Ситуация исправляется обновлением кеша (`ldconfig`).


Проблема в том, что эта процедура происходит в RPM filetrigger'е.


Возникло несколько вопросов:

1) почему не запускается ldconfig при обновлении librpm (наверное, есть
серьезная причина)

2) насколько безопасно обновить кеш ldconfig в RPM filetrigger'е, если
это делать вручную

3) есть ли известные workaround'ы

в ctypes можно указать конкретную библиотеку, например,
ctypes.CDLL("librpm.so.7").

Но согласитесь, что это не самый удобный вариант.

4) будет ли задокументирована процедура перехода с P8 на P9

Спасибо!


[1] https://docs.python.org/3/library/ctypes.html#finding-shared-libraries

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20190925/dd7c9f33/attachment-0001.bin>


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