[devel] оптимизация сборочных зависимостей

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Сен 3 10:52:27 MSD 2006


On Sun, Sep 03, 2006 at 10:34:41AM +0400, Alexey Tourbin wrote:
> --- /usr/bin/filereq-	2006-09-03 00:03:03 +0000
> +++ /usr/bin/filereq	2006-09-03 05:58:00 +0000
> @@ -67,3 +67,9 @@
>  while [ -f "$LOCKFILE" ]; do
>  	usleep 100000
>  done
> +
> +while read -r file; do
> +	readlink -ms "$file" || echo "$file"
> +	readlink -es "$file" ||:
> +done <"$unsorted" >"$unsorted$$"
> +mv "$unsorted$$" "$unsorted"
> 
> Здесь решаются две разные проблемы.
> 
> 1) Предварительная каноникализация путей.  Это нужно для того, чтобы
> правила /etc/buildreqs/files/ignore.d работали всегда, а не от случая
> к случаю (т.е. не зависели от путей типа /usr/bin/../lib/... -- такие
> пути делает gcc! -- и т.п.).
> 
> 2) Окончательная каноникализация путей.  Это нужно для того, о чем я
> писал в процитированном письме: чтобы требование на симлинки дополнительно
> переходило в требование на файлы, на которые симлинки смотрят.
> 
> Проблема с этим патчем одна -- readlink'и в цикле будут работать долго.
> Приходится ждать заметное время даже на мощной машине (порядка двух
> секунд при линковке с -lSDL).  Кстати, оптимизация {esound,libSDL-devel}
> с этим патчем работает агрессивно.

Ой, там же в unsorted много-много дупов.  Если предварительно
отсортировать unsorted, то работает гораздо быстрее, но задержка
всё равно заметна.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060903/c555809e/attachment-0001.bin>


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