[devel] Персональная собиралка Сизифа

Evgeny Sinelnikov =?iso-8859-1?q?sin_=CE=C1_info=2Esgu=2Eru?=
Ср Май 7 03:06:21 MSD 2008


2008/5/7 Dmitry V. Levin <ldv на altlinux.org>:
> On Wed, May 07, 2008 at 02:40:16AM +0400, Wartan Hachaturow wrote:
>  > 2008/5/7 Alexey Gladkov <legion на altlinux.ru>:
>  > >  Раз это не сложно, то расскажи как узнать из какого git репозитория
>  > > собирасется пакет FooBar, при условии что из одного репозитория может
>  > > собираться не один пакет и то что имена пакетов и репозиториев не всегда
>  > > совпадают. Меня интересует альгритм поиска соотвествия. Я такого альгоритма
>  > > придумать не могу.
>  >

Я сейчас как раз нахожусь на стадии формализации процесса сборки
пакетов. При этом я ввёл ряд ограничений... Прежде всего это относится
к переходу от использования src.rpm-пакетов, в качестве первичного
источника, к gear-репозиториям. Благо git.alt/archive делается путём
gear-srpmimport... Собиралка предполагает использовать gear --hasher
для замыкания сборочной среды, на выбранном репозитории. Особенность
gear по собрке src.rpm-пакета в chroot'е является здесь существенным
моментом, хотя это и приводит в к тому, BuildRequires(pre) начинает
требоваться то там, то тут...

Суть собиралки вобщем-то проста... укзаывается соотвествие между
пакетами и именами майнтейнеров, после чего некий скрипт выполняет
вытягивание, на основании этих правил, заданной ветки из
соотвествующих репозиториев и выполняет сборку...

Скрипт называется autobuilder и пока далёк от совершенство, к
сожалению он настолько сырой, что использовать его пока можно только
для ифксированного набора задач... Проблема ткже состоит в том, что
многие пакеты не содержат правильных зависимостей BuildRequires(pre),
которые могут потребоваться не только для вычисления nvr,

В этом плане меня интересует вопрос, существуют ли средства для
вычисления порядка сборки пакетов, если необходимо собрать несколько
взаимозависимых пакета? Как при этом принято поступать?

Кстати, наткнулся на то, что в kdelibs есть race на уровне генерации
заголовочных файлов и, в стандартной схеме сборки на много
процессорной или многоядерной машине, этот пакет может собираться
"иногда"...

>  > У вас в rpm-мире вообще никогда ничего нельзя понять точно -- даже то,
>  > где кончается имя пакета и начинается версия по имени файла ;) Это я
>  > уже осознал.
>
>  В версии, релизе и архитектуре пакета не может быть дефисов, так что, если
>  имя файла пакета каноническое (не было переименовано для запутывания
>  следов), то имя, версию, релиз и архиткутуру пакета можно идентифицировать
>  однозначно по имени файла пакета.
>

Для этого можно относительно легко воспользоваться python-modules-rpm,
который умеет парсить заголовки пакетов.

>
>  > Поскольку в данном случае речь идёт только об src.rpm'ах, то
>  > однозначное отображение между репозиторием и src.rpm установить можно,
>  > я полагаю.
>
>  В 90% случаев (число взято с потолка, но ситуацию отражает) можно.
>
>
>  --
>  ldv
>
> _______________________________________________
>  Devel mailing list
>  Devel на lists.altlinux.org
>  https://lists.altlinux.org/mailman/listinfo/devel
>



-- 
Sin (Sinelnikov Evgeny)


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