On Fri, Apr 08, 2005 at 01:02:32PM +0300, Nick S. Grechukh wrote: > мне для сборки требуется тулза A и тулз B. > я пишу PreBuildReq: A B > > тулза B требует библиотеку C которая просит A. > в итоге в моих buildreq останется только B, если я правильно понял. Да. Остаются только "опорные точки", которые по зависимостям дают вытягивание всего остального (а сами по себе ни к чему не сводятся). Есть неочевидные случаи. Например, пакеты rpm-build и rpm-build-perl взаимно зависят друг от друга. Оптимизатор оставляет rpm-build, т.к. у него больше зависимостей, чем у rpm-build-perl. (Я опять изобрел велосипед. Здесь нужен какой-нибудь алгоритм на графах. Но данный конкретные велосипед работает очень хорошо, гораздо лучше предыдущих.) > но зависимость B на C могла возникнтуь случайно по желанию левой ноги > разработчика / майнтейнера / find-req. Пример случайных зависимостей? Зависимости между пакетами не случайны. :) > при очередной пересборке B она отваливается и мне нужно добавлять руками A в > buildreq. так я и сам знал что она мне нужна, пока ее оптимизатор не сожрал! Нет, нужно ещё раз запустить алгоритм. :)