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