ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Stanislav Levin <slev@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: [devel] [librpm] обновление rpm и ldconfig
Date: Wed, 25 Sep 2019 16:37:15 +0300
Message-ID: <850f16c3-d83f-4202-a083-e4fae64e08f6@altlinux.org> (raw)


[-- 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 --]

             reply	other threads:[~2019-09-25 13:37 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-25 13:37 Stanislav Levin [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=850f16c3-d83f-4202-a083-e4fae64e08f6@altlinux.org \
    --to=slev@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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