[devel] Q: girar builder: automated bad_elf_symbols check

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Фев 18 17:33:54 MSK 2009


On Wed, Feb 18, 2009 at 05:19:11PM +0300, Dmitry V. Levin wrote:
> On Wed, Feb 18, 2009 at 03:06:46PM +0300, Alexey M. Tourbin wrote:
> > Update of /people/at/packages/girar-builder.git
> [...]
> > +	if [ -s $arch-bes.plus ]; then
> > +		echo "	$arch: NEW bad_elf_symbols detected:"
> > +		cat $arch-bes.plus
> > +		rc=1
> > +	fi >&2
> 
> Ну хорошо, а что мы будем делать в тех очень редких случаях, когда эти
> "нехорошие" ссылки являются законными?
> 
> Например, я видел такой вариант: процесс загружает elf shared object с
> помощью dlopen, проверяет наличие в нём нужных ему символов с помощью
> dlsym, и, если всё нужное нашлось, использует их напрямую.  Хотя,
> конечно, использование weak symbols в такой ситуации выглядит более
> естественным.

Только weak symbols.

	if (weak_symbol_function)
		ret = weak_symbol_function(args);

> Будем ли мы исправлять весь код, который не пройдёт проверку на
> "нехорошие" ссылки?

Хоршо бы исправить код, особенно если он есть.  Примерно половина
существующих случаев bad_elf_symbols -- это проприетарные драйвера.

[at на people ~]$ cut -f1 /ALT/qa-robot/bad_elf_symbols/*/dump.old |sort |uniq -c |sort -n |tail
     48 virtualbox
    141 nvidia_glx_1.0.7182
    141 nvidia_glx_1.0.8756
    141 nvidia_glx_1.0.8762
    141 nvidia_glx_1.0.8774
    141 nvidia_glx_1.0.8776
    142 nvidia_glx_1.0.8178
    158 matroxdriver_glx
    276 fglrx_glx
    618 monkeystudio
[at на people ~]$ 

Кстати, новая проверка на bad_elf_symbols во многих отношениях похожа
на проверку unmets.  И сами эти понятия сходны.  Понятию левого
проприетарного бинарика в bad_elf_symbols будет соответствовать понятие
левого проприетарного собранного пакета в unmets.  Но пакеты без сборки
мы вообще не допускаем, а вот левые бинарики допускаем.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20090218/0bd14ad9/attachment-0001.bin>


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