[devel] Спасём python3 вместе! (действительно) - Stable ABI

Alexandr Shashkin dutyrok на altlinux.org
Ср Окт 8 15:00:46 MSK 2025


Пожалуй приурочу это письмо к выходу Python 3.14.
https://pythoninsider.blogspot.com/2025/10/python-3140-final-is-here.html

Не буду касаться сканадальной темы двух сложившихся лагерей Python
мейнтейнеров, которые соперничают друг с другом, так как не могут или
не хотят понимать интересы других и работать в команде. Сейчас не об
этом, хотя тоже играет немалую роль.

А вот о чём действительно я бы хотел высказаться, так это о том, что
текущий подход сборки каждой новой минорной версии является
экстенсивным. Если учитывать, что количество пакетов в репозитории,
которым требуется Python ABI, растёт с каждым годом, то в какой-то
момент обновление превратится в кошмар, что для мейнтейнера Python,
что для остальных мейнтейнеров Sisyphus, или станет невозможным. Уже
сейчас все таски Sisyphus висят в ожидании обновления Python, который
упорно пытается прорваться в репозиторий, но падает из-за случайных
ошибок.

Что будет дальше можно только гадать. Поэтому я считаю, что настало
время подумать о модернизации способа сборки. Если высказанное Антоном
предложение действительно позволит значительно сократить число
пересобираемых пакетов, то его стоит обязательно реализовать. Также
стоит глянуть, как новый Python попадает в репозитории других
дистрибутивов, а может даже и позаимствовать что-то. Но опять же,
делать это должен не один человек. Но для этого надо научиться
договариваться и начать действовать сообща.

On 03/10/2025 16:51, Anton Zhukharev wrote:
> On Fri, Oct 03, 2025 at 09:18:39AM +0300, Anton Zhukharev wrote:
>> On Thu, Oct 02, 2025 at 10:45:34PM +0300, Grigory Ustinov wrote:
>>> 02.10.2025 16:44, Anton Zhukharev пишет:
>>>> Всем привет!
>>>>
>>>> Последние таски по обновлению Python выглядят пугающее: объем
>>>> пересобираемых пакетов невероятно огромный и постоянно растет из-за чего
>>>> обновление самого Python в Sisyphus происходит дольше, чем в апстриме...
>>> Меня объём пересобираемых пакетов не пугает. Обновление самого Python в
>>> Sisyphus происходит дольше по абсолютно другим причинам.
>> Не всем нравится сидеть и ждать (уже) годами, пока вы обновите Python до
>> следующей минорной версии, поскольку текущему образу сборки обязательно
>> требуется фриз сборочницы.
> Извиняюсь за такую формулировку: фриз происходит на последнем этапе
> сборки таска, а не на протяжении всего существования таска с обновлением
> Python.
>> Перечислите все причины, которые, по вашему утверждению, затягивают
>> обновление.
>>>> Я прошу обратить внимание на эту проблему куда большую часть сообщества
>>>> и принять хоть какое-нибудь решение, которое не оставит все как есть.
>>>>
>>>> А под "хоть какое-нибудь решение" я имею ввиду единственное, на данный
>>>> момент предложенное.
>>> Вот из-за таких "хоть каких-нибудь решений" обновление Python и затянулось.
>> Да, поэтому текущее подобное решение в Sisyphus и предлагается изменить.
>>>> В Sisyphus сейчас есть модули с тэгом abi3 (будем надеятся, что они
>>>> соблюдают Stable ABI) и собранные для конкретной минорной версии
>>>> Python. Текущая идея сборки компилируемых модулей заключается в том,
>>>> чтобы везде ставить зависимость на %python3_ABI_dep. Естественно, это
>>>> приводит к тому, что у нас сейчас при обновлении Python мучается один
>>>> бедный grenka, а все сидят и смотрят на это в ожидании окончания
>>>> (кто-то даже успевает продлять ему муки).
>>>>
>>>> В общем, идея решения заключается в том, чтобы для модулей, собираемых
>>>> под Stable ABI эту зависимость не генерировать и как-нибудь проверять,
>>>> что там действительно Stable ABI. Для этого есть инструмент abi3audit,
>>>> собираемый в этом задании: https://packages.altlinux.org/tasks/396283
>>> Я правильно понимаю, что всё что выше написано касается всего 38 пакетов?
>> 38 пакетов в текущий момент собраны под Stable ABI.
>>
>> Это количество можно попробовать увеличить, просто передав
>> -DPy_LIMITED_API=0x03000000 компилятору во время сборки экстеншена.
> Здесь, если что, место, которое нужно обсуждать.
> Просто воткнуть 0x0300000 (то есть версию 3.0) и радоваться не
> получится.
>
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

-- 
Best regards,
Alexandr Shashkin
Alt Linux Team


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : OpenPGP_0x9C811048FEA720F7.asc
Тип     : application/pgp-keys
Размер  : 5401 байтов
Описание: OpenPGP public key
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20251008/68491584/attachment.bin>
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : OpenPGP_signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20251008/68491584/attachment-0001.bin>


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