On Thu, Aug 09, 2007 at 02:09:24AM +0400, Dmitry V. Levin wrote: > > -${contents_index_bin:+%_pkg_contents_index_bin /.host/contents_index_bin} > > +${contents_index_bin:+%_pkg_contents_index_bin /.host/${contents_index_bin##*/}} > > +${contents_index_all:+%_pkg_contents_index_all /.host/${contents_index_all##*/}} > > Здесь и далее, я не понимаю, зачем нужно передавать rpmbuild'у оба > индексных файла; если передаётся полный индекс, то зачем ещё передавать > частичный? index_bin занимает порядка 700K, index_all без сжатия занимает порядка 90M. Это очень большая разница. В /usr/lib/rpm/find-package я вчера реализовал некоторые вещи, которые сводятся к тому, что поиск по index_all идёт только в самых крайних случаях. > [...] > > + set -x > > Если код работает, то это надо убрать. Это недоделанный код, о чём я написал в commit message. С окончательным кодом пойдёт commit message с подробным комментарием. > [...] > > + <"$contents" >>"$contents.bin" grep '^/bin/' || [ $? -eq 1 ] > > + <"$contents" >>"$contents.bin" grep '^/sbin/' || [ $? -eq 1 ] > > + <"$contents" >>"$contents.bin" grep '^/usr/bin/' || [ $? -eq 1 ] > > + <"$contents" >>"$contents.bin" grep '^/usr/sbin/' || [ $? -eq 1 ] > > + <"$contents" >>"$contents.bin" grep '^/usr/X11R6/bin/' || [ $? -eq 1 ] > > + <"$contents" >>"$contents.bin" grep '^/etc/' || [ $? -eq 1 ] > > + > > + cat <"$contents.bin" >"$contents_index_bin" > > Этот новообразованный $contents.bin, похоже, никогда не зануляется. Он создаётся там же, где и "$contents", т.е. в tmpdir=.../tmp, а этот каталог tmp должен перед этим удаляться. Этот код в любом случае неправильный, последовательность каталогов должна более просто конфигурироваться. > [...] > > + gzip <"$contents" >"$contents_index_all" > А стоит ли его cжимать? Сжимается с 90M до 7M (очено много). Я исхожу из того, что для сборки большинства пакетов index_all не нужен. На самом деле нужен realtime compressor типа lzop, но сейчас не время.