ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [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