[devel] I: arepo: next steps

Dmitry V. Levin ldv на altlinux.org
Вт Фев 28 03:42:09 MSK 2012


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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20120228/24e1ab27/attachment.bin>


Подробная информация о списке рассылки Devel