[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