[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
Вс Дек 18 18:14:24 MSK 2016
On Sun, 18 Dec 2016, Ivan Zakharyaschev wrote:
> On Tue, 5 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). В качестве примера с помощью него реализована:
> Одна из прелестей успешного прохождения verify-elf (с unresolved=strict) в
> том, что наш автомат получается обучен тому, как загружать библиотеки и
> откуда взять все нужные символы. Это формальное знание можно использовать в
> lib.req, чтобы получить точные зависимости на множества требуемых символов.
> Принципиально этому ничего не мешает.
> А в общем случае в нынешнем виде не очень хочется рекомендовать использовать
> этот механизм без реализации второй части, т.е. пользы от lib.req.
> Думаю, можно было бы связать их теснее, и для RPM_LD_PRELOAD_xxxx
> генерировать просто всегда жёсткую зависимость вида:
>
> Requires: xxxx > = set:.......
Для справки: сейчас не проходят строгую проверку verify-elf (на unresolved
symbols):
[imz на people success]$ cd /beehive/logs/Sisyphus-x86_64/latest/success/
[imz на people success]$ fgrep 'ELF verification disabled' -rl . | less
./FlightGear-data-2016.1.1-alt1
./java-1.6.0-sun-0:1.6.0.26-alt8
./firefox-classic_theme_restorer-1.5.6-alt1
./kdemultimedia-3.5.13.2-alt2.3
./firefox-lazarus-3.2-alt1
./ZendFramework-1.11.7-alt1
./opengoo-1.5.2-alt2.3
./rocksndiamonds-emc-1:2.0.0-alt3
./fortunes-fido-20070503-alt1
./firefox-colorfultabs-23.8-alt1
./FlightGear-tu154b-3.1-alt1
./golang-1.7-alt1
./kdepim-1:3.5.13.2-alt5.3
./typo3_src-4.5.40-alt1
./openscada-0.8.13-alt1
./typo3-dummy-4.5.40-alt1
./java-1.5.0-sun-0:1.5.0.22-alt5
./firefox-tree_style_tab-0.15.2014120101-alt1
./gimp-help-2.6.1-alt2
./webguard-1.9-alt1.1
./k3b-1.0.5-alt13.1.1
lines 1-21/21 (END)
[imz на people success]$ egrep 'WARNING:.*undefined' -rl . | wc -l
755
[imz на people success]$ egrep 'WARNING:.*undefined' -rl . | sort >
~/warning-undefined.txt
--
Best regards,
Ivan
----------- следующая часть -----------
An embedded and charset-unspecified text was scrubbed...
Name: warning-undefined.txt
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20161218/0d61cff9/attachment-0001.txt>
Подробная информация о списке рассылки Devel