ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] python transition: 3.3 -> 3.5
@ 2016-02-21 13:31 Ivan Zakharyaschev
  2016-02-21 13:54 ` Alexey Shabalin
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-21 13:31 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 3634 bytes --]

Здравствуйте!

Насчёт перехода на python3.5 вместо python3.3 у меня была мысль об
одном радикальном способе сделать это, не вникая в циклы зависимостей.

Потом после комментариев ldv@ она поменялась и стала к тому же больше
позволять разбиение работы на куски (в т.ч. между разными людьми)

Записываю тут. Может быть, будет полезно, когда этим займутся.

Изначально я подумал, что можно было бы на время сборки переходного
задания старые 3.3-модули подкладывать новому python3-3.5 -- для того, чтобы
они работали и использовались. (Ведь там помимо bytecode есть и
исходники, и новый python просто должен их суметь синтерпретировать.
Неизвестно, заработает ли.)

Подкладывать думалось самым грубым образом (не меняя сам пакет
python3-3.5): сделать следующим в задании дополнительный переходный
пакет, где директория site-packages для 3.3 будет символической
ссылкой на site-packages для 3.5 (и при установке сборочной среды в
hasher-е модули будут видня новому python). Туда же положить в виде
симв.ссылок на 3.5-варианты всё, чем python3-3.3 отличается от
python3-3.5. (И его provides.)

Вновь собранные модули становились бы 3.5-модулями. Чтобы не попасться
в цикл, нужно при сборке не использовать новые 3.5-модули (у которых
могут быть зависимости на ещё не собранные 3.5-модули), а только
старый набор пакетов из Sisyphus. Т.е. куча параллельных сборок
отдельных модулей на одном и том же исходном состоянии, аналог
--without-stuff. (Такой возможности в сборочнице сейчас нет.)

Такая последовательность заданий была бы:

1. python3-3.5 и python3-transition_from_3.3 (здесь ссылки и provides)
2. все модули --without-stuff
3. удалить python3-transition-from-3.3

Замечания среди прочего были про:

* provides от python3-base
* кривость symlink-ов вместо директорий (для пользователей Sisyphus)

Сначала я совсем забыл про кучу python3.3(*) provides от python3-base,
которые, конечно, должны быть очень нужны другим модулям.

Так что изначальная мысль меняется так: генерировать python3.3(*)
provides и для новособранных модулей, в том числе python3-base-3.5.

И python3.5 научить по-хорошему смотреть в site-packages для 3.3
(отдельную директорию).

В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
работать.)

Дальше пересобираем модули. Их requires генерируются уже только на
python3.5(*) (а provides для удобства в двух вариантах). Но при сборке
могут использоваться старые 3.3-модули без проблем.

Стало быть, критерием хорошего задания по пересборке части модулей
будет то, что оно не создаёт новых unmets, т.е. всё то, что является
python3.5(*)-зависимостями новых модулей уже собрано (в Sisyphus или в
этом задании).

Так вместо одного большого задания по параллельной (т.е.
--without-stuff) пересборке всех модулей работа становится разделяемой
на куски.

Возможно, где-то народ столкнётся с циклами, но часть можно уже
собрать и отправить в Sisyphus, и вреда от этого не будет. (Потому что
мы пока добавляем python3.3(*)-provides.)

Постепенное продвижение к результату силами разных людей.
Синхронизация только по состоянию Sisyphus.

А потом, когда все модули будут пересобраны, можно генерацию
python3.3(*)-provides  убрать и убрать вспомогательный пакет
site-packages для 3.3 (и по желанию пересобрать всё ещё раз :) ).

Есть ещё пакеты, слинкованные с libpython. (Их от 30 до 60.) Их нужно
будет в первую очередь вместе с отправкой python3-3.5 пересобрать.

Остаётся проверить, что python3-3.5 сможет взять и использовать
3.3-модули, если в пути поиска site-packages ему добавить
site-packages для 3.3.

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 13:31 [devel] python transition: 3.3 -> 3.5 Ivan Zakharyaschev
@ 2016-02-21 13:54 ` Alexey Shabalin
  2016-02-21 16:12   ` Ivan Zakharyaschev
  2016-02-24 12:21   ` Ivan Zakharyaschev
  0 siblings, 2 replies; 16+ messages in thread
From: Alexey Shabalin @ 2016-02-21 13:54 UTC (permalink / raw)
  To: ALT Linux Team development discussions

> Так что изначальная мысль меняется так: генерировать python3.3(*)
> provides и для новособранных модулей, в том числе python3-base-3.5.
>
> И python3.5 научить по-хорошему смотреть в site-packages для 3.3
> (отдельную директорию).
>
> В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
> теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
> работать.)

если ожидается, что все будет работать, то просто надо заменить
provides python3.3(*) -> python3(*)
это вообще решит все проблемы в дальнейшем:)
и для python2 так же сделать - от него точно не стоит ожидать
кардинальных изменений.

-- 
Alexey Shabalin

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 13:54 ` Alexey Shabalin
@ 2016-02-21 16:12   ` Ivan Zakharyaschev
  2016-02-21 17:38     ` Igor Vlasenko
  2016-02-21 17:40     ` Alexey Shabalin
  2016-02-24 12:21   ` Ivan Zakharyaschev
  1 sibling, 2 replies; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-21 16:12 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1154 bytes --]

On Sun, 21 Feb 2016, Alexey Shabalin wrote:

>> Так что изначальная мысль меняется так: генерировать python3.3(*)
>> provides и для новособранных модулей, в том числе python3-base-3.5.
>>
>> И python3.5 научить по-хорошему смотреть в site-packages для 3.3
>> (отдельную директорию).
>>
>> В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
>> теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
>> работать.)
>
> если ожидается, что все будет работать, то просто надо заменить
> provides python3.3(*) -> python3(*)
> это вообще решит все проблемы в дальнейшем:)

Не ожидается, что будет байткод работать. (Поэтому там версия такая 
подробная.) А исходный код, возможно, будет. (Он же лежит рядом.)

Но для того, чтоб всё было хорошо, в дистрибутив собирается байткод.

> и для python2 так же сделать - от него точно не стоит ожидать
> кардинальных изменений.

Не понял точно, о чём эта подковырка: что не надо 2 и 3 различать, или же 
что внутри 2 версии меняются.

(python2 и python3 всё же разные языки.)

А если 3.3 и 3.5 не совместимы по исходному коду, то зря называют это 
просто python3.

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 16:12   ` Ivan Zakharyaschev
@ 2016-02-21 17:38     ` Igor Vlasenko
  2016-02-21 19:23       ` Ivan Zakharyaschev
  2016-02-21 17:40     ` Alexey Shabalin
  1 sibling, 1 reply; 16+ messages in thread
From: Igor Vlasenko @ 2016-02-21 17:38 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sun, Feb 21, 2016 at 07:12:43PM +0300, Ivan Zakharyaschev wrote:
> >>В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
> >>теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
> >>работать.)

Это работало бы если бы у нас модули были бы не
python3-module-* а python3.3--module-*,
тогда рядом можно было бы выложить python3.5--module-*.
А так никуда не деться, модули надо замещать.

Как понимаю, проблема python3 в том, что для комфортного
сборочного окружения голого python3 мало, надо добавить
ряд noarch пакетов, а они зависят от python3.

Эту проблему можно решить, сгенерировав скриптом
из имеющихся python3-module-*.noarch rpm пакетов
bootstrap модули для python3.5 --
перепакованные так, то py файлы переложены
в site-packages для 3.5, а bytecode для python3.3 удален.

Я так делал для java, когда организовал переезд на xmvn.
С помощью bootstrap пакетов собрал работающее сборочное окружение
для maven3+xmvn, а потом с его помощью собрал нормальные пакеты,
которые заменили собой bootstrap. Сейчас в репозитории
еще живо несколько пакетов от этого bootstrap набора,
посмотрите как пример на
avro-1.7.5-alt0.1jpp.src.rpm


-- 

I V


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 16:12   ` Ivan Zakharyaschev
  2016-02-21 17:38     ` Igor Vlasenko
@ 2016-02-21 17:40     ` Alexey Shabalin
  2016-02-21 18:09       ` Dmitry V. Levin
                         ` (2 more replies)
  1 sibling, 3 replies; 16+ messages in thread
From: Alexey Shabalin @ 2016-02-21 17:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

21 февраля 2016 г., 19:12 пользователь Ivan Zakharyaschev
<imz@altlinux.org> написал:
> On Sun, 21 Feb 2016, Alexey Shabalin wrote:
>
>>> Так что изначальная мысль меняется так: генерировать python3.3(*)
>>> provides и для новособранных модулей, в том числе python3-base-3.5.
>>>
>>> И python3.5 научить по-хорошему смотреть в site-packages для 3.3
>>> (отдельную директорию).
>>>
>>> В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
>>> теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
>>> работать.)
>>
>>
>> если ожидается, что все будет работать, то просто надо заменить
>> provides python3.3(*) -> python3(*)
>> это вообще решит все проблемы в дальнейшем:)
>
>
> Не ожидается, что будет байткод работать. (Поэтому там версия такая
> подробная.) А исходный код, возможно, будет. (Он же лежит рядом.)
тогда в чем отличие от того, что предлагаете вы?

> Но для того, чтоб всё было хорошо, в дистрибутив собирается байткод.
>
>> и для python2 так же сделать - от него точно не стоит ожидать
>> кардинальных изменений.
>
>
> Не понял точно, о чём эта подковырка: что не надо 2 и 3 различать, или же
> что внутри 2 версии меняются.
>
> (python2 и python3 всё же разные языки.)
никаких подковырок. я серьезно. я имел ввиду python2.7(*) -> python2(*)

> А если 3.3 и 3.5 не совместимы по исходному коду, то зря называют это просто
> python3.
>



-- 
Alexey Shabalin

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 17:40     ` Alexey Shabalin
@ 2016-02-21 18:09       ` Dmitry V. Levin
  2016-02-21 19:20       ` Ivan Zakharyaschev
  2016-02-23  8:43       ` Vitaly Lipatov
  2 siblings, 0 replies; 16+ messages in thread
From: Dmitry V. Levin @ 2016-02-21 18:09 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 253 bytes --]

On Sun, Feb 21, 2016 at 08:40:37PM +0300, Alexey Shabalin wrote:
[...]
> никаких подковырок. я серьезно. я имел ввиду python2.7(*) -> python2(*)

Зачем?  Вы ожидаете python2.8, несмотря на
https://www.python.org/dev/peps/pep-0404/ ?


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 17:40     ` Alexey Shabalin
  2016-02-21 18:09       ` Dmitry V. Levin
@ 2016-02-21 19:20       ` Ivan Zakharyaschev
  2016-02-23  8:43       ` Vitaly Lipatov
  2 siblings, 0 replies; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-21 19:20 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2547 bytes --]

On Sun, 21 Feb 2016, Alexey Shabalin wrote:

> 21 февраля 2016 г., 19:12 пользователь Ivan Zakharyaschev
> <imz@altlinux.org> написал:
>> On Sun, 21 Feb 2016, Alexey Shabalin wrote:
>>
>>>> Так что изначальная мысль меняется так: генерировать python3.3(*)
>>>> provides и для новособранных модулей, в том числе python3-base-3.5.
>>>>
>>>> И python3.5 научить по-хорошему смотреть в site-packages для 3.3
>>>> (отдельную директорию).
>>>>
>>>> В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
>>>> теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
>>>> работать.)
>>>
>>>
>>> если ожидается, что все будет работать, то просто надо заменить
>>> provides python3.3(*) -> python3(*)
>>> это вообще решит все проблемы в дальнейшем:)
>>
>>
>> Не ожидается, что будет байткод работать. (Поэтому там версия такая
>> подробная.) А исходный код, возможно, будет. (Он же лежит рядом.)
> тогда в чем отличие от того, что предлагаете вы?

Понятно. Это вопрос про политику упаковки python в дистрибутиве:

>> Но для того, чтоб всё было хорошо, в дистрибутив собирается байткод.

Я понимаю это как-то так:

Считается, что хорошо, когда упакован и работает байткод. В provides 
ставится подробная версия 3.5 как гарантия того, что байткод был успешно 
скомпилирован python версии 3.5, и той большей уверенности в 
работоспособности с python 3.5, которая из этого следует..

В том, что я сказал, это правило временно на переходный период нарушится 
по духу для python3.3(*). Но предлагается считать состояние 
стабилизированным, когда из Sisyphus можно будет удалить пакет, 
предоставляющий site-packages для 3.3 (т.е. ни один старый 3.3-модуль не 
выживет).

В принципе в первоначальной моей мысли я думал не выносить вообще эту 
внутреннюю кухню (и нарушение этого правила по духу) за пределеы одного 
огромного задания (или, точнее, трёх связанных заданий) по пересборке всех 
модулей, которое бы на вход получало Sisyphus с набором 3.3-модулей, а на 
выходе давало набор 3.5-модулей без каких-то следов 3.3.

Т.е. будет ли это работать, нас будет беспокоить только в рамках этого 
задания по пересборке и переходу на 3.5. Возможные проблемы мы не будем 
сеять по всему Sisyphus. Если при пересборке что-то обломится, надо будет 
разобраться. И этот вопрос будет иметь не общий характер ("Будет ли оно 
всегда работать?"), а ограниченный на практике этим заданием по 
пересборке.

В том же смысле я продолжаю думать и про переходный период, как я думал 
про одно такое задание с внутренней кухней.

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 17:38     ` Igor Vlasenko
@ 2016-02-21 19:23       ` Ivan Zakharyaschev
  2016-02-21 21:25         ` Ivan Zakharyaschev
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-21 19:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 726 bytes --]

On Sun, 21 Feb 2016, Igor Vlasenko wrote:

> On Sun, Feb 21, 2016 at 07:12:43PM +0300, Ivan Zakharyaschev wrote:
>> >>В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
>> >>теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
>> >>работать.)

> Эту проблему можно решить, сгенерировав скриптом
> из имеющихся python3-module-*.noarch rpm пакетов
> bootstrap модули для python3.5 --
> перепакованные так, то py файлы переложены
> в site-packages для 3.5, а bytecode для python3.3 удален.

Так я такое и предлагаю. Моя мысль трансформировалась в то, чтобы 
python3-3.5 попросить смотреть в site-packages для 3.3 (в надежде, что 
несовместимый байткод он проигнорирует).

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 19:23       ` Ivan Zakharyaschev
@ 2016-02-21 21:25         ` Ivan Zakharyaschev
  2016-02-21 21:46           ` Igor Vlasenko
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-21 21:25 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1352 bytes --]

(Не успел сразу подробнее написать ответ тогда.)

On Sun, 21 Feb 2016, Ivan Zakharyaschev wrote:

> On Sun, 21 Feb 2016, Igor Vlasenko wrote:
>
>>  On Sun, Feb 21, 2016 at 07:12:43PM +0300, Ivan Zakharyaschev wrote:
>> > > > В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
>> > > > теории--не получить unmets. (Ну и ожидается, что более-менее всё 
>> > > > будет
>> > > > работать.)
>
>>  Эту проблему можно решить, сгенерировав скриптом
>>  из имеющихся python3-module-*.noarch rpm пакетов
>>  bootstrap модули для python3.5 --
>>  перепакованные так, то py файлы переложены
>>  в site-packages для 3.5, а bytecode для python3.3 удален.
>
> Так я такое и предлагаю. Моя мысль трансформировалась в то, чтобы python3-3.5

Т.е. по сути такое. А в реализации экономия в том, что всего один пакет 
поменять (которого ещё нет в Sisyphus -- python3-3.5) -- пусть смотрит в 
старое site-packages. И не перегенерировать пакеты с модулями для 
bootstrap-а. (Собственно трансформация идеи в "пусть смотрит в старое 
site-packages тоже" случилась у меня благодаря комментарию ldv@; поначалу 
я высказывал более грязное предложение: симлинком директории подложить 
старые модули новому python на время пересборки.)

> попросить смотреть в site-packages для 3.3 (в надежде, что несовместимый 
> байткод он проигнорирует).

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 21:25         ` Ivan Zakharyaschev
@ 2016-02-21 21:46           ` Igor Vlasenko
  2016-02-21 22:01             ` Ivan Zakharyaschev
  0 siblings, 1 reply; 16+ messages in thread
From: Igor Vlasenko @ 2016-02-21 21:46 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Mon, Feb 22, 2016 at 12:25:10AM +0300, Ivan Zakharyaschev wrote:
> (Не успел сразу подробнее написать ответ тогда.)
> Т.е. по сути такое. А в реализации экономия в том, что всего один пакет
> поменять (которого ещё нет в Sisyphus -- python3-3.5) -- пусть смотрит в
> старое site-packages. И не перегенерировать пакеты с модулями для
> bootstrap-а. (Собственно трансформация идеи в "пусть смотрит в старое
> site-packages тоже" случилась у меня благодаря комментарию ldv@; поначалу я
> высказывал более грязное предложение: симлинком директории подложить старые
> модули новому python на время пересборки.)
> >попросить смотреть в site-packages для 3.3 (в надежде, что несовместимый
> >байткод он проигнорирует).

Хороший подход.
Еще по опыту тогда надо не забыть прописать в python3-3.5 подпакеты
Obsoletes на python3 подпакеты, чтобы если стррый python3
вытянется, то он замещался бы и не мешал сборке.



-- 

I V


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 21:46           ` Igor Vlasenko
@ 2016-02-21 22:01             ` Ivan Zakharyaschev
  2016-02-21 22:06               ` Ivan Zakharyaschev
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-21 22:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1671 bytes --]

On Sun, 21 Feb 2016, Igor Vlasenko wrote:

> On Mon, Feb 22, 2016 at 12:25:10AM +0300, Ivan Zakharyaschev wrote:

>> Т.е. по сути такое. А в реализации экономия в том, что всего один пакет
>> поменять (которого ещё нет в Sisyphus -- python3-3.5) -- пусть смотрит в
>> старое site-packages. И не перегенерировать пакеты с модулями для
>> bootstrap-а. (Собственно трансформация идеи в "пусть смотрит в старое
>> site-packages тоже" случилась у меня благодаря комментарию ldv@; поначалу я
>> высказывал более грязное предложение: симлинком директории подложить старые
>> модули новому python на время пересборки.)
>> >попросить смотреть в site-packages для 3.3 (в надежде, что несовместимый
>> >байткод он проигнорирует).
>
> Хороший подход.
> Еще по опыту тогда надо не забыть прописать в python3-3.5 подпакеты
> Obsoletes на python3 подпакеты, чтобы если стррый python3
> вытянется, то он замещался бы и не мешал сборке.

Тут я писал в формате %name-%version , т.е. python3-3.5 заменяет 
python3-3.3 естественным путём.

То, про что я сначала не подумал -- это то, что есть существенный 
python3-base. У него куча python3.3(*) provides. А на них зависимости 
других пакетов. (Обратить внимание на это опять же заставили меня 
комментарии.)

Отсюда взялось предложение генерировать для новособираемого python и 
модулей не только provides вида python3.5(*), но и python3.3(*).

Чтобы -- в частности -- те пакеты, которые зависили от модулей, 
предоставляемых python3-base (вида python3.3(*)), не имели unmets в новой 
ситуации (пока они не пересобраны с новыми requires вида python3.5(*), 
но уже собран новый python3-3.5 вместе с python3-base-3.5).

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 22:01             ` Ivan Zakharyaschev
@ 2016-02-21 22:06               ` Ivan Zakharyaschev
  0 siblings, 0 replies; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-21 22:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1045 bytes --]


On Mon, 22 Feb 2016, Ivan Zakharyaschev wrote:

> То, про что я сначала не подумал -- это то, что есть существенный 
> python3-base. У него куча python3.3(*) provides. А на них зависимости других 
> пакетов. (Обратить внимание на это опять же заставили меня комментарии.)
>
> Отсюда взялось предложение генерировать для новособираемого python и модулей 
> не только provides вида python3.5(*), но и python3.3(*).
>
> Чтобы -- в частности -- те пакеты, которые зависили от модулей, 
> предоставляемых python3-base (вида python3.3(*)), не имели unmets в новой 
> ситуации (пока они не пересобраны с новыми requires вида python3.5(*), но уже 
> собран новый python3-3.5 вместе с python3-base-3.5).

Конечно, набор модулей, предоставляемых python3-base-3.3 и 
python3-base-3.5 может отличаться (и тогда unmets будут). Эту ситуацию 
надо будет разрешить уже человеческим вмешательством, добавив в задание 
следующим пунктом сборку нового модуля, который будет это потерянное 
предоставлять (а раньше оно было в python3-base).

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 17:40     ` Alexey Shabalin
  2016-02-21 18:09       ` Dmitry V. Levin
  2016-02-21 19:20       ` Ivan Zakharyaschev
@ 2016-02-23  8:43       ` Vitaly Lipatov
  2 siblings, 0 replies; 16+ messages in thread
From: Vitaly Lipatov @ 2016-02-23  8:43 UTC (permalink / raw)
  To: devel

On 21.02.2016 20:40, Alexey Shabalin wrote:
> никаких подковырок. я серьезно. я имел ввиду python2.7(*) -> python2(*)
>
>
Я вот не очень понял, почему при наличии пакетов python-module-* и 
python3-module-* файлы кладутся в site-packages с более детальной 
версией. Есть ли смысл так детализировать, или это больше связано с 
provides, чем с названием пакета? Ведь потом при обновлении начинаются 
истории «подложить файлы от 3.3 в каталог 3.5…»

Меня ещё преследует ужас с php, где при каждом обновлении модули 
кладутся в каталог с полной версией (5.3.2, например),а  конфиг лежит в 
каталоге с мажорной версией (5.3), а в конфиге вписаны зачем-то полные 
пути к каталогам с модулями. И всё это очень приятно обновлять.

-- 
С уважением,
Виталий Липатов,
Etersoft



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-21 13:54 ` Alexey Shabalin
  2016-02-21 16:12   ` Ivan Zakharyaschev
@ 2016-02-24 12:21   ` Ivan Zakharyaschev
  2016-02-24 16:44     ` Ivan Zakharyaschev
  1 sibling, 1 reply; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-24 12:21 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1277 bytes --]

On Sun, 21 Feb 2016, Alexey Shabalin wrote:

>> Так что изначальная мысль меняется так: генерировать python3.3(*)
>> provides и для новособранных модулей, в том числе python3-base-3.5.
>>
>> И python3.5 научить по-хорошему смотреть в site-packages для 3.3
>> (отдельную директорию).
>>
>> В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
>> теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
>> работать.)
>
> если ожидается, что все будет работать, то просто надо заменить

Проверил. Так просто не работает.

С пакетами из задания 159698:

[root@c253 python3-transition]# rpm -q retext
retext-5.3.0-alt1
[root@c253 python3-transition]# rpm -Fhv * --nodeps
Preparing... 
####################################################################################################
python3-base 
####################################################################################################
libpython3 
####################################################################################################
python3 
####################################################################################################
Running /usr/lib/rpm/posttrans-filetriggers
[root@c253 python3-transition]#

$ retext
Segmentation fault

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-24 12:21   ` Ivan Zakharyaschev
@ 2016-02-24 16:44     ` Ivan Zakharyaschev
  2016-02-26 14:04       ` Ivan Zakharyaschev
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-24 16:44 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 3471 bytes --]


On Wed, 24 Feb 2016, Ivan Zakharyaschev wrote:

> On Sun, 21 Feb 2016, Alexey Shabalin wrote:
>
>> >  Так что изначальная мысль меняется так: генерировать python3.3(*)
>> >  provides и для новособранных модулей, в том числе python3-base-3.5.
>> > 
>> >  И python3.5 научить по-хорошему смотреть в site-packages для 3.3
>> >  (отдельную директорию).
>> > 
>> >  В таком виде, наверное, можно отправить python3-3.5 в Sisyphus и--в
>> >  теории--не получить unmets. (Ну и ожидается, что более-менее всё будет
>> >  работать.)
>>
>>  если ожидается, что все будет работать, то просто надо заменить
>
> Проверил. Так просто не работает.

Если таким образом позволить новому python использовать 
python3.3/site-packages, то формально unmet-ов останется всего ничего:

[imz@people 159698]$ sed -e '/x86_64.*unmet/,/affected/ { p; }; d' < logs/events.8.1.log | fgrep -v debug | sed -e 's: >=.*$::'
 	x86_64: NEW unmet dependencies detected:
LibreOffice-common#5.0-alt2	libpython3.3m.so.1.0()(64bit)
blender#2.69-alt1       	libpython3.3m.so.1.0()(64bit)
blueman#2.0.3-alt1      	libpython3.3m.so.1.0()(64bit)
boost-python3-devel#1:1.58.0-alt1.1	python3-devel = 3.3
gnome-builder#3.18.1-alt1	libpython3.3m.so.1.0()(64bit)
libpeas-python3-loader#1.16.0-alt1	libpython3.3m.so.1.0()(64bit)
libpyside-qt4-py3#1.2.2-alt2.git20140501 
libpython3.3m.so.1.0()(64bit)
libshiboken-py3#1.2.2-alt1.git20140422	libpython3.3m.so.1.0()(64bit)
python3-module-PySide#1.2.2-alt2.git20140501 
libpython3.3m.so.1.0()(64bit)
python3-module-geos#3.6.0-alt1.dev.git20150816 
libpython3.3m.so.1.0()(64bit)
python3-module-gist#2.2.0-alt2.git20130422.1 
libpython3.3m.so.1.0()(64bit)
python3-module-lcms#1.19-alt1.1	libpython3.3m.so.1.0()(64bit)
python3-module-libcap-ng#0.7.4-alt1.2	libpython3.3m.so.1.0()(64bit)
python3-module-libxml2#1:2.9.3-alt1	libpython3.3m.so.1.0()(64bit)
python3-module-log4cplus#2.0.0-alt1.git20150807 
libpython3.3m.so.1.0()(64bit)
python3-module-shiboken#1.2.2-alt1.git20140422 
libpython3.3m.so.1.0()(64bit)
python3-module-utmp#0.8-alt1	libpython3.3m.so.1.0()(64bit)
python3-test#3.5.1-alt2 	python3.5(_winapi)
python3-test#3.5.1-alt2 	python3.5(winreg)
python3-tools#3.5.1-alt2	python3.5(docutils)
python3-tools#3.5.1-alt2	python3.5(sphinx)
weechat-plugin-python#1.4-alt1	libpython3.3m.so.1.0()(64bit)
 	ACLs of affected packages:
[imz@people 159698]$

Но это неправда, потому что части модулей нужна libpython.

Думаем, перезжать на python3/site-packages (без детализированной версии) с 
добавлением зависимости на libpython, где нужно. И возможно с каким-то 
индикатором версии байткода (специальный provides?).

Эта фактическая зависимость, должно быть, выливается в падение той 
проверки (там связи с qt):

>
> С пакетами из задания 159698:
>
> [root@c253 python3-transition]# rpm -q retext
> retext-5.3.0-alt1
> [root@c253 python3-transition]# rpm -Fhv * --nodeps
> Preparing... 
> ####################################################################################################
> python3-base 
> ####################################################################################################
> libpython3 
> ####################################################################################################
> python3 
> ####################################################################################################
> Running /usr/lib/rpm/posttrans-filetriggers
> [root@c253 python3-transition]#
>
> $ retext
> Segmentation fault

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] python transition: 3.3 -> 3.5
  2016-02-24 16:44     ` Ivan Zakharyaschev
@ 2016-02-26 14:04       ` Ivan Zakharyaschev
  0 siblings, 0 replies; 16+ messages in thread
From: Ivan Zakharyaschev @ 2016-02-26 14:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1130 bytes --]


On Wed, 24 Feb 2016, Ivan Zakharyaschev wrote:

> Но это неправда, потому что части модулей нужна libpython.
>
> Думаем, перезжать на python3/site-packages (без детализированной версии) с 
> добавлением зависимости на libpython, где нужно. И возможно с каким-то 
> индикатором версии байткода (специальный provides?).

До того, как новый python3 попадёт в Sisyphus (в котором это будет 
учтено), модули по новому пути смогут работать со старым python3, если 
установлен пакет python3-site-packages из задания #160115 . (Должен будет 
автоматически вытаскиваться ими, когда такие модули будут собираться, 
аналогично тому, как нынешние модули имеют зависимость на 
/usr/lib/python3.3/site-packages, которая вытаскивает python3-base.)

Работоспособность проверил так:

mv /usr/lib/python3.3/site-packages/ReText* 
/usr/lib/python3/site-packages/ -v

и потом ещё для другой проверки:

mv /usr/lib/python3/site-packages/ReText* 
/usr/lib64/python3/site-packages/ -v

Без установленного python3-site-packages не запускается retext в такой 
ситуации, а с установленным -- запускается.

Замечания приветствуются.

-- 
Best regards,
Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-02-26 14:04 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-21 13:31 [devel] python transition: 3.3 -> 3.5 Ivan Zakharyaschev
2016-02-21 13:54 ` Alexey Shabalin
2016-02-21 16:12   ` Ivan Zakharyaschev
2016-02-21 17:38     ` Igor Vlasenko
2016-02-21 19:23       ` Ivan Zakharyaschev
2016-02-21 21:25         ` Ivan Zakharyaschev
2016-02-21 21:46           ` Igor Vlasenko
2016-02-21 22:01             ` Ivan Zakharyaschev
2016-02-21 22:06               ` Ivan Zakharyaschev
2016-02-21 17:40     ` Alexey Shabalin
2016-02-21 18:09       ` Dmitry V. Levin
2016-02-21 19:20       ` Ivan Zakharyaschev
2016-02-23  8:43       ` Vitaly Lipatov
2016-02-24 12:21   ` Ivan Zakharyaschev
2016-02-24 16:44     ` Ivan Zakharyaschev
2016-02-26 14:04       ` Ivan Zakharyaschev

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