В связи с окончанием срока жизни python 2 нам предстоит удалить интерпретатор и все модули python2 из репозитория. Здесь можно отслеживать, какие нерешённые задачи этому мешают.
Задача сформулирована неправильно, поскольку окончание официальной поддержки апстримом не приведёт к удалению python2 из репозитория. Тем не менее, все проекты, которые можно перевести с python2 на python3, следует перевести, а все неиспользуемые модули python2 следует удалить.
Да, всё верно - нужно сделать так, что бы интерпретатор остался, но им никто не пользовался. Сейчас rpm-build зависит от python-2.7 через rpm-build-python и, соответственно, все пакеты в репозитории по сборке тянут python-2.7. Но это последнее, что надо будет чинить.
(В ответ на комментарий №1) > следует перевести, а все неиспользуемые модули python2 следует удалить. С неиспользуемым модулями есть нюанс. У нас сейчас часто всё, что написано на python - называется python-module, хотя в них содержатся не только библиотеки python, то и бинарники в /usr/bin Пример тому - python3-module-sphinx, который в общем то и модулем не является. Надо, по хорошему, изменить политику и добавить разделение - прикладное ПО на python (например python-sphinx) и библиотека python (наприме python-module-sphinx). А ещё у нас всё, что .py во всём репозитории - считается rpm-build'ом как python2. И это тоже приводит к непритносям при сборке python3 пакетов.
(В ответ на комментарий №3) ... > Надо, по хорошему, изменить политику и добавить разделение - прикладное ПО на > python (например python-sphinx) и библиотека python (наприме > python-module-sphinx). Я считаю, что это бага упаковки, когда программа лежит в python-module. Но и префикс python добавлять не нужно к программам — кому какое дело, на чём она написана. А то так мы будем к каждой программе на go, ruby, python, tcl дописывать префикс. Можно начать с программ на C++ :) Тем более что программа может несколько языков использовать. Например, netdata. > А ещё у нас всё, что .py во всём репозитории - считается rpm-build'ом как > python2. И это тоже приводит к непритносям при сборке python3 пакетов.
> Сейчас rpm-build зависит от python-2.7 через rpm-build-python и, соответственно, все пакеты в репозитории по сборке тянут python-2.7. А кстати зачем эта зависимость в rpmbuild? Легаси^WТрадиции?
(In reply to Ivan A. Melnikov from comment #5) > > Сейчас rpm-build зависит от python-2.7 через rpm-build-python и, соответственно, все пакеты в репозитории по сборке тянут python-2.7. > > А кстати зачем эта зависимость в rpmbuild? Легаси^WТрадиции? Они самые.
(Ответ для Dmitry V. Levin на комментарий #1) > Задача сформулирована неправильно, поскольку окончание официальной поддержки > апстримом не приведёт к удалению python2 из репозитория. Более того, в случае выполнения изначально означенной задачи к p10 он бы оказался для части пользователей сразу критически хуже CentOS 6/7/8: http://www.opennet.ru/opennews/art.shtml?num=39565 Бывают обезумевшие апстримы, пытающиеся сожрать себя сами вместо разумного пути развития и обновления плода своих трудов. Так убивали Apache 1.3, KDE 3.5, затем вот Python 2.7 (и пытались убить Perl 5) -- при полностью непригодных к собственно эксплуатации "новых версиях" (в Apache 2.0 дырки долго чинили чуть ли не еженедельно, KDE4 стал притчей во языцех, с Python 2 явно уже никогда не мигрирует огромное количество того же научного софта). Не понимаю, зачем нам-то поддаваться такому безумию. Надо опять научиться выносить ещё работающие, но не поддерживаемые пакеты в contrib (от которого не должно зависеть ничто в основном сизифе/бранче) -- либо вернуться к main, от которого зависит примерно весь остальной репозиторий, но где мы можем себе позволить выписать то, что мы, собственно, берёмся обещать и ожидаем.
(Ответ для Michael Shigorin на комментарий #7) > (Ответ для Dmitry V. Levin на комментарий #1) > > Задача сформулирована неправильно, поскольку окончание официальной поддержки > > апстримом не приведёт к удалению python2 из репозитория. Да, лучше уточнить, что задача только в удалении всех модули python2 из репозитория. Пока python2 не перестанет пересобираться, вряд ли его кто-то решит удалять. Более того, как я понимаю, в репозитории сейчас 1,5 тысячи пакетов используют python2 при сборке. > Более того, в случае выполнения изначально означенной задачи к p10 он бы > оказался для части пользователей сразу критически хуже CentOS 6/7/8: > http://www.opennet.ru/opennews/art.shtml?num=39565 Надеюсь, к p10 означенную задачу мы осилим. > Бывают обезумевшие апстримы, пытающиеся сожрать себя сами вместо разумного > пути развития и обновления плода своих трудов. Так убивали Apache 1.3, KDE > 3.5, затем вот Python 2.7 (и пытались убить Perl 5) -- при полностью > непригодных к собственно эксплуатации "новых версиях" (в Apache 2.0 дырки > долго чинили чуть ли не еженедельно, KDE4 стал притчей во языцех, с Python 2 > явно уже никогда не мигрирует огромное количество того же научного софта). Я не знаю, как называются программные луддиты, которые продолжают использовать gtk1 и qt3. > Не понимаю, зачем нам-то поддаваться такому безумию. Надо опять научиться > выносить ещё работающие, но не поддерживаемые пакеты в contrib (от которого > не должно зависеть ничто в основном сизифе/бранче) -- либо вернуться к main, > от которого зависит примерно весь остальной репозиторий, но где мы можем > себе позволить выписать то, что мы, собственно, берёмся обещать и ожидаем. Обозначь цель, пожалуйста. А то не ясно, что ты предлагаешь.
(Ответ для Ivan A. Melnikov на комментарий #5) > > Сейчас rpm-build зависит от python-2.7 через rpm-build-python и, соответственно, все пакеты в репозитории по сборке тянут python-2.7. > > А кстати зачем эта зависимость в rpmbuild? Легаси^WТрадиции? https://bugzilla.altlinux.org/show_bug.cgi?id=34308
Хозяйке на заметку: --- Позвольте добавление. Astra на Debian 9.12. Из более новых версий выброшены Python 2.7 и вся обвязка. Поэтому исходя из требований прикладного ПО (не нашей разработки) мы не сможем перейти на более новые версии, в том числе Debian-а и деривативов. В Alt данные версии сохранены, и наше ПО работает в любой версии Альт. Просьба прокомментировать, если можно. --- http://www.opennet.ru/openforum/vsluhforumID3/125028.html#170
chromium использует для сборки python2. Процесс миграции у них идёт, но полностью не завершён ещё. Причём в коде используются вот такие скрипты, чтобы умники не подменяли шебанг: http://git.altlinux.org/gears/c/chromium.git?p=chromium.git;a=blob;f=build/util/python2_action.py;h=609665b002795a6f6ffb4e72bc7ad9afef3240bf;hb=2314b04363d25339815c4ead9da917420dcc21ce В текущем релизе chromium я бытался выкинуть python2, но без страшных хаков это сделать нельзя.