[devel] selecting the default Cython to use: none (for bootstrap) or real
Ivan Zakharyaschev
imz на altlinux.org
Вт Мар 27 12:40:34 MSK 2018
On Tue, 27 Mar 2018, Yuri Sedunov wrote:
> В Вт, 27/03/2018 в 00:31 +0300, Dmitry V. Levin пишет:
>> On Mon, Mar 26, 2018 at 11:46:51PM +0300, Yuri Sedunov wrote:
>> [...]
>> > Если научить сборочечницу принимать аргументы для rpmbuild, что
>> > кажется
>> > полезным в общем случае,
>>
>> В каком случае это кажется полезным?
>
> В тех случаях, когда упомянутой ниже воспроизводимостью сборки можно
> пренебречь, -- в тестовых заданиях, например. Для бутстрапа новых
> архитектур, чтобы максимально использовать немодифицированные пакеты,
> отключая нереализованные в настоящее время фичи в процессе сборки.
>
>>
>> Если на результат сборки исходного пакета, помимо самого сборочного
>> пакета
>> и сборочной среды, будет влиять ещё что-то, это негативно скажется на
>> воспроизводимости сборки.
>
> Если дополнительные сборочные параметры сохранить, то они вместе со
> сборочным пакетом и сборочной средой будут вполне описывать условия
> сборки.
Вообще, можно сохранять в теге, тогда эта информация не будет теряться.
Ничего страшного я в этом не вижу.
Но gear сейчас передаёт хешеру по сути только srpm, без параметров.
Поэтому это потребует каких-то изменений в этом механизме.
Можно ещё "вписывать" такие параметры в srpm с помощью уже имеющегося
механизма specsubst:
%def_ на cython@ cython
а @cython@ будет заменяться на with или without. Но это потребует указания
этого значения в каждом теге, что может напрягать...
Не подумал про сборку из srpm (без git) совсем! А aris@ как раз собирает
обычно так. Тогда нет варианта подготовить тег, где будут сохранены
параметры.
Ну вот, вспомним задачу. На какой-то платформе может не быть Cython, на
какой-то есть рабочий. Хочется собирать из одного исходника (коммита или
srpm) и там, и там.
В принципе, если речь про другие платформы, можно просто сделать пока
dummy python-module-Cython там. И задача будет решена. (Советую пока
по крайней мере сделать так тем собирает под другие платформы, чтобы
Cython вас не держал.)
Но похожая проблема возникает при пересборке python3...
Кстати, забыл в изначальном предложении упомянуть, что нужно будет правило
замены для buildreq еще: вместо python-module-CythonVERSION использовать
python-module-Cython.
(Раз я предложил, я могу попробовать реализовать в тестовом задании через
некоторое время, если никто раньше не захочет и не попробует. Или
обсуждение убедит в ненужности преобразоаний.)
--
Best regards,
Ivan
Подробная информация о списке рассылки Devel