[devel] python transition: 3.3 -> 3.5

Ivan Zakharyaschev imz на altlinux.org
Вс Фев 21 22:20:55 MSK 2016


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


Подробная информация о списке рассылки Devel