From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <42DCED02.2080707@altlinux.ru> Date: Tue, 19 Jul 2005 16:07:30 +0400 From: Alexey Gladkov Organization: ALT Linux User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050511) X-Accept-Language: en-us, en MIME-Version: 1.0 To: ALT Devel discussion list X-Enigmail-Version: 0.91.0.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Subject: [devel] Q: srpms buildrequires X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jul 2005 12:08:10 -0000 Archived-At: List-Archive: List-Post: Приветствую! При сборке приходящих пакетов под несколько архитектур одновременно возникла проблема, которую я не знаю как решить, кроме как на уровне полиси. В инкоминиг приходят исходные пакеты собранные под одну архитектуру. В некоторых пакетах некоторые BuildRequires взяты в %ifarch блоки т. е. часть сборочных зависимостей проявляются только на определенной архитектуре. Чтобы узнать какие пакеты нужны для сборки такого пакета нужно сделать его перепаковку (rpm -bs --nodeps). В "чистом" chroot'е перепаковку сделать нельзя. Перепаковка возможна если в сборочной среде уже установлены все необходимые пакеты.... например предоставляющие дополнительные rpm-макросы и т.д. Получается замкнутый круг. Чтобы узнать сборочные зависимости нужна перепаковка <-> для перепаковки нужны сборочные зависимости. Причем напомню, в BuildRequires может быть то, чего еще вообще нет ... в случае если это совсем новый пакет. Так что прибить гвоздями необходимые пакеты нельзя. Разобрать спек не реально. Это делает "rpm -bE" и ему тоже нужна готовая сборочная среда. Даже если найдется такой умелец, который возьмется парсер написать, то найдется спек который не обработается этим парсером. Таким образом, BuildRequires в исходном пакете становятся архитектурно зависимыми. Но это нарушает основную идею SRPMS. Единственным выходом мне видится, запрет на уровне полиси создания сборочных зависимостей зависящих от _сборочной_архитектуры_ . Подчеркиваю, что речь идет только про BuildRequires. Если у кого-нибудь есть конструктивные предложения прошу высказаться. -- Rgrds, legion