[devel] универсальный механизм проверки плагинов

Dmitry V. Levin ldv на altlinux.org
Вт Окт 24 03:51:56 MSK 2017


On Mon, Oct 23, 2017 at 06:08:31PM +0300, Mikhail Efremov wrote:
> On Mon, 23 Oct 2017 14:49:15 +0300 Vladimir D. Seleznev wrote:
> > Есть ли механизмы, с помощью которых можно было бы отслеживать
> > подобные поломки?  Если нет, то может у кого-нибудь есть идеи, как их
> > можно было бы отслеживать и добавить их в инфраструктуру сборочницы?
> 
> Ну, например, при сборке NM, чтобы убедиться, что плагинам хватает символов,
> используется такой трюк:
> LD_BIND_NOW=1 LD_PRELOAD=$${LD_PRELOAD}:$(1) $(builddir)/src/NetworkManager --version >/dev/null
> где $(1) - плагин.
> Но не знаю насколько возможно сделать такую проверку в общем случае, для
> любых плагинов к любой программе.

У нас в rpm-build >= 4.0.4-alt100.91 есть механизм проверки плагинов,
который используется в разных пакетах.  Вот, например, я когда-то применил
его для irssi, выглядит это так (%_bindir/irssi можно прелоадить,
потому что он PIE):

export RPM_LD_PRELOAD_irssi=%buildroot%_bindir/irssi
export RPM_FILES_TO_LD_PRELOAD_irssi='%irssi_modules_dir/lib*.so %perl_vendor_autolib/Irssi/*.so'
export RPM_LD_PRELOAD_libperl_core='%buildroot%irssi_modules_dir/libperl_core.so'
export RPM_FILES_TO_LD_PRELOAD_libperl_core='%irssi_modules_dir/libfe_perl.so %perl_vendor_autolib/Irssi/*.so'
%set_verify_elf_method strict

Спрашивайте автора! :)


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


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