[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