* [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