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

Alexey Tourbin at на altlinux.ru
Вс Сен 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, то работает гораздо быстрее, но задержка
всё равно заметна.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : http://lists.altlinux.org/pipermail/devel/attachments/20060903/c555809e/attachment.bin 


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