Summary: | [META] Удалить модули python2 из репозитория | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> |
Component: | python | Assignee: | Vladimir D. Seleznev <vseleznv> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | cow, george, glebfm, imz, iv, ldv, legion, mcpain, mike, rider, vseleznv |
Version: | unstable | Keywords: | METABUG |
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | 40366, 47069, 32478, 36974, 37286, 37289, 37290, 37312, 37390, 38253, 38255, 38271, 39165, 39169, 39170, 39171, 39173, 39194, 39207, 39216, 39246, 39730, 39737, 39854, 39982, 40376, 40626, 40681, 40691, 40692, 40722, 40730, 40732, 40736, 40738, 40739, 40741, 40742, 40755, 40756, 40757, 40758 | ||
Bug Blocks: |
Description
Vitaly Lipatov
2019-10-08 14:14:03 MSK
Задача сформулирована неправильно, поскольку окончание официальной поддержки апстримом не приведёт к удалению 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, но без страшных хаков это сделать нельзя. |