On Thu, Feb 19, 2009 at 03:56:27PM +0300, Dmitry V. Levin wrote: > > > > А в каком порядке их следовало бы обрабатывать? > > > Параллельно > > > > А как потом сводить? Если задать жесткие условия сериализации, > > то при параллельной сборке N заданий придётся заново пересобирать > > остальные N-1 заданий. > > Мне _кажется_, что вероятность того, что придётся пересобирать остальные > задания из-за изменения сборочной среды, невелика. Это сложно реализовать на шелле хорошо. Например, для сборки одного пакета нужна такая операция: 1) lock /ALT/Sisyphus 2) run hsh-rebuild 3) wait until hsh-rebuild installs BuildRequires 4) release /ALT/Sisyphus lock ASAP То есть надо уметь обкладывать локами и уметь эти локи вовремя снимать, иначе пакет может просто не собраться по независящим от него причинам. Хешер не шибко модульный, чтобы в него можно было вклиниться, и вообще весь этот юниксвей в этом смысле не шибко модульный. > С другой стороны, у > нас пока не так много вероятных параллельных заданий, мы хотим нагрузить > сборочную систему дополнительными проверками, и на всё на это надо > много сборочных ресурсов. В принципе заманчиво повысить "время отклика" системы, чтобы всем не приходилось долго ждать, если кто-то один застрял. Но это сложно сделать хорошо.