[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