* [devel] selecting the default Cython to use: none (for bootstrap) or real
@ 2018-03-26 13:18 Ivan Zakharyaschev
2018-03-26 13:50 ` Paul Wolneykien
2018-03-26 20:46 ` Yuri Sedunov
0 siblings, 2 replies; 8+ messages in thread
From: Ivan Zakharyaschev @ 2018-03-26 13:18 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1901 bytes --]
Hello!
Пакеты, использующую Cython для сборки, обычно работают и не
скомпилированные им (непотимально, интерпретируются питоном).
Мы когда-то этим пользовались с Денисом nbr@ для пересборки с очередной
версией python3 (3.5): убрали Cython из BuildRequires, добавили пакет в
задание по пересборке и смогли всё собрать в работоспособном виде, без
циклов по сборочным зависимостям. Потом надо не забыть в эти пакеты
вернуть Cython и пересобрать.
Можно упростить это ради бутстрапов новых платформ и пересборок с новыми
версиями python3. Чтобы не надо быоо spec-файлы редактировать.
Представить себе это как выбор одного из вариантов Cython: ничего или
настоящий.
Дальше размышления о реализации:
Один вариант: сделать пакет dummy-python3-module-Cython, который Provides:
python3-module-Cython
Тогда, возможно, hasher+apt вытянет dummy-python3-module-Cython, если
настоящий python3-module-Cython не может быть установлен из-за
неудовлетворённой зависимости на python3.X-ABI. Надо проверить
экспериментально.
А на новых платформах будет пока просто только
dummy-python3-module-Cython.
Но это идёт вразрез с желанием отказаться от альтернативных
удовлетворителей BuildRequires -- чтобы не apt выбирал, а было всё
детерминированно. Так было сделано для gcc в Sisyphus.
Другой вариант: python3-module-Cython -- пустой пакет, который имеет
только Requires: python3-module-CythonVERSION . На время пересборки с
новым python3 и для новых платформ собирается его релиз без Requires,
потом возвращается (в следующем таске или когда будет реализован).
В BuildRequires уже написано python3-module-Cython у пакетов и это мы
редактировать не хотим.
Для реализации второго плана нужно содействие от мейнтейнера
python-module-Cython (а первый план -- больше беспорядка вносит) в
переименовании пакета по крайней мере. aris@ и другие заинтересованные,
что думаете?
--
Best regards,
Ivan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] selecting the default Cython to use: none (for bootstrap) or real
2018-03-26 13:18 [devel] selecting the default Cython to use: none (for bootstrap) or real Ivan Zakharyaschev
@ 2018-03-26 13:50 ` Paul Wolneykien
2018-03-26 13:52 ` Ivan Zakharyaschev
2018-03-26 20:46 ` Yuri Sedunov
1 sibling, 1 reply; 8+ messages in thread
From: Paul Wolneykien @ 2018-03-26 13:50 UTC (permalink / raw)
To: devel
26.03.2018 16:18, Ivan Zakharyaschev пишет:
> Один вариант: сделать пакет dummy-python3-module-Cython, который
> Provides: python3-module-Cython
>
> Тогда, возможно, hasher+apt вытянет dummy-python3-module-Cython, если
А как он догадается, какой из пакетов вытягивать? pkgpriorities ?
> настоящий python3-module-Cython не может быть установлен из-за
> неудовлетворённой зависимости на python3.X-ABI. Надо проверить
> экспериментально.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] selecting the default Cython to use: none (for bootstrap) or real
2018-03-26 13:50 ` Paul Wolneykien
@ 2018-03-26 13:52 ` Ivan Zakharyaschev
0 siblings, 0 replies; 8+ messages in thread
From: Ivan Zakharyaschev @ 2018-03-26 13:52 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 660 bytes --]
On Mon, 26 Mar 2018, Paul Wolneykien wrote:
> 26.03.2018 16:18, Ivan Zakharyaschev пишет:
>> Один вариант: сделать пакет dummy-python3-module-Cython, который
>> Provides: python3-module-Cython
>>
>> Тогда, возможно, hasher+apt вытянет dummy-python3-module-Cython, если
>
> А как он догадается, какой из пакетов вытягивать? pkgpriorities ?
Ну я думал, что вот так (раз тот не ставится из-за зависимостей, попробуем
другой):
>> настоящий python3-module-Cython не может быть установлен из-за
>> неудовлетворённой зависимости на python3.X-ABI. Надо проверить
>> экспериментально.
Но я не был уверен, что такой backtracking сработает.
--
Best regards,
Ivan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] selecting the default Cython to use: none (for bootstrap) or real
2018-03-26 13:18 [devel] selecting the default Cython to use: none (for bootstrap) or real Ivan Zakharyaschev
2018-03-26 13:50 ` Paul Wolneykien
@ 2018-03-26 20:46 ` Yuri Sedunov
2018-03-26 21:31 ` Dmitry V. Levin
1 sibling, 1 reply; 8+ messages in thread
From: Yuri Sedunov @ 2018-03-26 20:46 UTC (permalink / raw)
To: devel
В Пн, 26/03/2018 в 16:18 +0300, Ivan Zakharyaschev пишет:
> Hello!
>
> Пакеты, использующую Cython для сборки, обычно работают и не
> скомпилированные им (непотимально, интерпретируются питоном).
...
>
> Другой вариант: python3-module-Cython -- пустой пакет, который имеет
> только Requires: python3-module-CythonVERSION . На время пересборки
> с
> новым python3 и для новых платформ собирается его релиз без
> Requires,
> потом возвращается (в следующем таске или когда будет реализован).
>
> В BuildRequires уже написано python3-module-Cython у пакетов и это
> мы
> редактировать не хотим.
>
> Для реализации второго плана нужно содействие от мейнтейнера
> python-module-Cython (а первый план -- больше беспорядка вносит) в
> переименовании пакета по крайней мере. aris@ и другие
> заинтересованные,
> что думаете?
Думается, что не надо портить python-module-Cython.
Если научить сборочечницу принимать аргументы для rpmbuild, что кажется
полезным в общем случае, то будет достаточно чуть модифицировать
целевые пакеты вписав простые конструкции типа:
%def_enable cython
%{?_enable_cython: BuildRequires: python-module-Cython}
--
Yuri N. Sedunov
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] selecting the default Cython to use: none (for bootstrap) or real
2018-03-26 20:46 ` Yuri Sedunov
@ 2018-03-26 21:31 ` Dmitry V. Levin
2018-03-26 22:09 ` Yuri Sedunov
0 siblings, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2018-03-26 21:31 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 403 bytes --]
On Mon, Mar 26, 2018 at 11:46:51PM +0300, Yuri Sedunov wrote:
[...]
> Если научить сборочечницу принимать аргументы для rpmbuild, что кажется
> полезным в общем случае,
В каком случае это кажется полезным?
Если на результат сборки исходного пакета, помимо самого сборочного пакета
и сборочной среды, будет влиять ещё что-то, это негативно скажется на
воспроизводимости сборки.
--
ldv
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] selecting the default Cython to use: none (for bootstrap) or real
2018-03-26 21:31 ` Dmitry V. Levin
@ 2018-03-26 22:09 ` Yuri Sedunov
2018-03-27 9:40 ` Ivan Zakharyaschev
0 siblings, 1 reply; 8+ messages in thread
From: Yuri Sedunov @ 2018-03-26 22:09 UTC (permalink / raw)
To: devel
В Вт, 27/03/2018 в 00:31 +0300, Dmitry V. Levin пишет:
> On Mon, Mar 26, 2018 at 11:46:51PM +0300, Yuri Sedunov wrote:
> [...]
> > Если научить сборочечницу принимать аргументы для rpmbuild, что
> > кажется
> > полезным в общем случае,
>
> В каком случае это кажется полезным?
В тех случаях, когда упомянутой ниже воспроизводимостью сборки можно
пренебречь, -- в тестовых заданиях, например. Для бутстрапа новых
архитектур, чтобы максимально использовать немодифицированные пакеты,
отключая нереализованные в настоящее время фичи в процессе сборки.
>
> Если на результат сборки исходного пакета, помимо самого сборочного
> пакета
> и сборочной среды, будет влиять ещё что-то, это негативно скажется на
> воспроизводимости сборки.
Если дополнительные сборочные параметры сохранить, то они вместе со
сборочным пакетом и сборочной средой будут вполне описывать условия
сборки.
>
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
--
Yuri N. Sedunov
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] selecting the default Cython to use: none (for bootstrap) or real
2018-03-26 22:09 ` Yuri Sedunov
@ 2018-03-27 9:40 ` Ivan Zakharyaschev
2018-03-27 10:39 ` Yuri Sedunov
0 siblings, 1 reply; 8+ messages in thread
From: Ivan Zakharyaschev @ 2018-03-27 9:40 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 2439 bytes --]
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] selecting the default Cython to use: none (for bootstrap) or real
2018-03-27 9:40 ` Ivan Zakharyaschev
@ 2018-03-27 10:39 ` Yuri Sedunov
0 siblings, 0 replies; 8+ messages in thread
From: Yuri Sedunov @ 2018-03-27 10:39 UTC (permalink / raw)
To: devel
В Вт, 27/03/2018 в 12:40 +0300, Ivan Zakharyaschev пишет:
> On Tue, 27 Mar 2018, Yuri Sedunov wrote:
> Но похожая проблема возникает при пересборке python3...
>
> Кстати, забыл в изначальном предложении упомянуть, что нужно будет
> правило
> замены для buildreq еще: вместо python-module-CythonVERSION
> использовать
> python-module-Cython.
>
> (Раз я предложил, я могу попробовать реализовать в тестовом задании
> через
> некоторое время, если никто раньше не захочет и не попробует. Или
> обсуждение убедит в ненужности преобразоаний.)
В Сизифе уже были два цитона, как раз при пересборке с python3 (3,3) и
курочить python-module-Cython не потребовалось.
--
Yuri N. Sedunov
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-03-27 10:39 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-26 13:18 [devel] selecting the default Cython to use: none (for bootstrap) or real Ivan Zakharyaschev
2018-03-26 13:50 ` Paul Wolneykien
2018-03-26 13:52 ` Ivan Zakharyaschev
2018-03-26 20:46 ` Yuri Sedunov
2018-03-26 21:31 ` Dmitry V. Levin
2018-03-26 22:09 ` Yuri Sedunov
2018-03-27 9:40 ` Ivan Zakharyaschev
2018-03-27 10:39 ` Yuri Sedunov
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git