[devel] I: verify-elf for plugins etc. with RPM_LD_PRELOAD_xxxx & RPM_FILES_TO_LD_PRELOAD_xxxx; was: Re: python3-3.5 unmets
Ivan Zakharyaschev
imz на altlinux.org
Вт Апр 5 00:45:23 MSK 2016
On Fri, 1 Apr 2016, Ivan Zakharyaschev wrote:
> (Им же в verify_elf делается LD_PRELOAD, чтобы не засорять лог сборки
> несущественными сообщениями об undefined symbols. Для случая, когда
> такая библиотека кладётся в системные /usr/lib/, есть макрос
> %requires_python_ABI_for_files; пример -- пакет boost или
> python3-module-pygobject или python-module-pygobject3. Иначе пакет не
> пропустят.)
Появился механизм для проверки всяких .so-плагинов на undefined symbols.
Можно пользоваться (например, видел краем глаза обилие саодельных проверок
в спеке apache). В качестве примера с помощью него реализована:
1. проверка всего внутри python*/site-packages/ (раньше были warnings)
2. а также макрос %requires_python3_ABI_for_files с явным указанием
интересных файлов.
Принцип такой, что verify-elf понимает пары переменных окружения вида
RPM_LD_PRELOAD_xxxx и RPM_FILES_TO_LD_PRELOAD_xxxx (в случае одного из
питоноа в качестве идентификатора вместо xxxx выбрано python3, например).
Поверх этого можно реализовывать нужные Вам макросы или задействовать
напрямую.
Как предлагает glebfm@, чтобы ld-preload-ить программы, а не библиотеки,
они должны быть PIE.
--
Best regards,
Ivan
Подробная информация о списке рассылки Devel