Hi, On Mon, Feb 27, 2012 at 08:13:16PM +0200, Igor Vlasenko wrote: > Уважаемые коллеги, > > В общем, так понимаю, arepo стагнировал, а это вещь нужная. Есть другая точка зрения: репозиторий, который сейчас называется сейчас x86_32 (и который на всякий случай предстоит переименовать во избежание коллизий с настоящим x86_32) - это вещь нужная, но его формированием должна заниматься та же самая система, которая обрабатывает задания, чтобы обеспечить должную актуальность, полноту и целостность этого репозитория. Можно дать этой части сборочницы имя arepo, можно не давать названия, сути это не меняет. На эту тему у нас есть следующие мысли. У этого условного girar-builder-arepo, очевидно, будет совсем другая архитектура. Его роль - во время обработки задания, по окончании тестирования нового состояния репозитория автоматически определить, какие arepo-пакеты нужно создать, сгенерировать эти пакеты, и сформировать новое состояние arepo-репозитория. Определение пакетов определяется следующими принципами: - noarch-пакеты не участвуют в рассмотрении; - пакеты обрабатываются по одной из двух схем: + arepo-библиотеки: если i586.rpm и x86_64.rpm отличаются по составу файлов в каталоге /usr/lib, то в arepo-пакет попадают все файлы из каталога /usr/lib пакета i586.rpm, которых нет в пакете x86_64.rpm; + arepo-программы: если x86_64.rpm нет (или он есть, но нам заранее известно, что его не следует учитывать), то в arepo-пакет попадают все файлы из пакета i586.rpm; - пустые arepo-пакеты не создаются. Зависимости arepo-библиотек вычисляются следующим образом: - requires: + копируются все set-version-зависимости из i586.rpm; + добавляется NEVR-зависимость на x86_64.rpm; - provides: + копируются все set-version-зависимости из i586.rpm; + добавляется стандартная self-NEVR-зависимость; Зависимости arepo-программ вычисляются следующим образом: - requires: + к зависимостям на имена пакетов, которые есть в новом состоянии arepo-репозитория, добавляется arepo-префикс; + остальные зависимости копируются из i586.rpm без изменений; - provides: + копируется все без изменений, за исключением self-NEVR-зависимости, вместо которой добавляется своя стандартная. Хочется обойтись простым перекладыванием заголовков и файлов, без использования rpmbuild'а и прочих вычислений произвольного кода в изолированной среде. Все это пока что мысли, которые еще предстоит проверить на практике. -- ldv