ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] [librpm] обновление rpm и ldconfig
@ 2019-09-25 13:37 Stanislav Levin
  2019-09-25 14:01 ` Dmitry V. Levin
  0 siblings, 1 reply; 19+ messages in thread
From: Stanislav Levin @ 2019-09-25 13:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions


[-- Attachment #1.1: Type: text/plain, Size: 1761 bytes --]

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


Решается задача автоматизированного обновления одного из продуктов 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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-09-30  9:22 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-25 13:37 [devel] [librpm] обновление rpm и ldconfig Stanislav Levin
2019-09-25 14:01 ` Dmitry V. Levin
2019-09-25 19:34   ` Stanislav Levin
2019-09-25 20:11     ` Dmitry V. Levin
2019-09-26 11:02       ` Stanislav Levin
2019-09-26 11:10         ` Dmitry V. Levin
2019-09-26 12:06           ` Anton Farygin
2019-09-26 12:23             ` Dmitry V. Levin
2019-09-26 13:00               ` Aleksei Nikiforov
2019-09-26 13:06                 ` Dmitry V. Levin
2019-09-26 13:09               ` Stanislav Levin
2019-09-26 14:06               ` Anton Farygin
2019-09-26 14:29                   ` Anton Farygin
2019-09-26 21:01           ` Stanislav Levin
2019-09-27  1:27             ` Dmitry V. Levin
2019-09-27  4:14               ` Anton Farygin
2019-09-27  6:39               ` Stanislav Levin
2019-09-27 11:49                 ` Dmitry V. Levin
2019-09-30  9:22                   ` Stanislav Levin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git