On Wed, Apr 26, 2006 at 04:06:36AM +0400, Alexey Tourbin wrote: > On Wed, Apr 26, 2006 at 03:56:10AM +0400, Dmitry V. Levin wrote: [...] > > > Проблема в том, что из спека на самом деле нетривиально получить src.rpm > > > для последующей сборки. > > > > Нетривиально, но с помощью hasher'а можно. У меня есть мысли (и код) на > > эту тему. А что, интересно? > > Интересно. 1. С помощью очень простого описания (примеры .buildspec'ов были приведены ранее) можно сформировать файловое содержимое srpm'а, в виде тарболла. У меня уже есть скрипт, который это делает. 2. В базовой сборочной среде (hsh --initroot) можно распаковать этот тарболл, и с помощью команды вроде sed '/^BuildRequires(pre):[[:space:]]*/!d;s///;q' извлечь из specfile'а сборочные зависимости, которые необходимо удовлетворить для того, чтобы можно было выполнить команду вроде rpmbuild -bs --nodeps и получить srpm, который уже можно собирать обычным образом. 3. hasher можно обучить обрабатывать такие специфические тарболлы и тем самым снять дополнительную сложность сборки из git-репозитория. У нас, правда, никаких BuildRequires(pre) (или как мы их назовём) ещё нет. Я предполагаю, что кандидатами на попадание в BuildRequires(pre) являются пакеты, предоставляющие реализации rpm-макросов, необходимых для сборки srpm'ов, например, rpm-build-firefox. Я надеюсь, что проставить такие зависимости будет относительно несложной задачей. -- ldv