[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