[devel] жирный drm

Dmitry V. Levin ldv на altlinux.org
Ср Апр 11 17:12:20 MSK 2018


On Wed, Apr 11, 2018 at 03:26:53PM +0300, Валерий Иноземцев wrote:
> 11.04.2018 15:22, Sergey Bolshakov пишет:
> >>>>>> "Sergey" == Sergey V Turchin <zerg-u2l5PoMzF/Vg9hUCZPvPmw на public.gmane.org> writes:
> > 
> >  > On Wednesday, 11 April 2018 13:38:35 MSK Валерий Иноземцев wrote:
> >  > [...]
> >  >> Ну, как обычно говорят люди не знающие правильного ответа - "А вот это
> >  >> хороший вопрос"
> >  > В p8 тоже хорошо бы спросить, а то у меня образ дистрибутива уже еле вмещается 
> >  > в лимит.
> > 
> > Ну на самом деле я к тому, что вполне можно в %install Mesa
> > добавить вот такое (в armh/aarch64 уже давно):
> > 
> > --- %< ---
> > for f in %buildroot%_libdir/X11/modules/dri/*.so; do
> >        [ ${f##*/} = kms_swrast_dri.so ] && continue
> >        readelf -d $f |grep -q 'SONAME.\+gallium_dri.so' || continue
> >        ln -sf kms_swrast_dri.so $f
> > done
> > --- %< ---
> > 
> > поскольку kms_swrast_dri.so (и swrast_dri.so) будут
> > установлены всегда из-за зависимости в xorg-server,
> > все прочие gallium-based dri могут быть просто симлинками.
> > 
> 1. swrast_dri.so не на всех архитектурах gallium-based
> 2. не gallium-based dri тоже одинаковые

Попробуйте так:

d=%buildroot%_libdir/X11/modules/dri
for f in $d/*.so; do
	[ ! -L "$f" ] || continue
	n="${f##*/}"
	s="$(objdump -p "$f" |awk '/SONAME/ {print $2}')"
	[ -n "$s" ]
	[ "$n" != "$s" ] || continue
	t="$d/$s"
	[ -f "$t" ] || mv "$f" "$t"
	ln -v -snf "$t" "$f"
done

А вообще они уже hardlinked.


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


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