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! -- и т.п.). Ой! Предварительная каноникализация путей работает не так, как я это себе представлял. $ readlink -ms /usr/lib/gcc/i586-alt-linux/4.1.1/../../../libSDL.so /usr/lib/libSDL-1.2.so.0.7.3 $ Я же думал что он просто схлопывает s:/[^/]+/[.][.]/:/:g и т.п.