[devel] Q: srpms buildrequires

Alexey Gladkov =?iso-8859-1?q?legion_=CE=C1_altlinux=2Eru?=
Вт Июл 19 16:07:30 MSD 2005


Приветствую!
При сборке приходящих пакетов под несколько архитектур одновременно
возникла проблема, которую я не знаю как решить, кроме как на уровне
полиси.
В инкоминиг приходят исходные пакеты собранные под одну архитектуру. В
некоторых пакетах некоторые BuildRequires взяты в %ifarch блоки т. е.
часть сборочных зависимостей проявляются только на определенной
архитектуре. Чтобы узнать какие пакеты нужны для сборки такого пакета
нужно сделать его перепаковку (rpm -bs --nodeps).  В "чистом" chroot'е
перепаковку сделать нельзя. Перепаковка возможна если в сборочной
среде уже установлены все необходимые пакеты.... например
предоставляющие дополнительные rpm-макросы и т.д. Получается замкнутый
круг.

Чтобы узнать сборочные зависимости нужна перепаковка <-> для
перепаковки нужны сборочные зависимости.

Причем напомню, в BuildRequires может быть то, чего еще вообще нет ...
в случае если это совсем новый пакет. Так что прибить гвоздями
необходимые пакеты нельзя.
Разобрать спек не реально. Это делает "rpm -bE" и ему тоже нужна
готовая сборочная среда. Даже если найдется такой умелец, который
возьмется парсер написать, то найдется спек который не обработается
этим парсером.

Таким образом, BuildRequires в исходном пакете становятся архитектурно
зависимыми. Но это нарушает основную идею SRPMS.

Единственным выходом мне видится, запрет на уровне полиси создания
сборочных зависимостей зависящих от _сборочной_архитектуры_ .
Подчеркиваю, что речь идет только про BuildRequires.

Если у кого-нибудь есть конструктивные предложения прошу высказаться.

-- 
Rgrds, legion



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