diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-06-29 12:04:12 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-06-29 12:04:12 +0100 |
commit | 0f558761aa2dee1017b4751e4017205e015a9560 (patch) | |
tree | 037df795519468a25d9362b4e95cdaeb84eb1cf9 /metadata/news/2022-06-13-python3-10 | |
parent | 752d6256e5204b958b0ef7905675a940b5e9172f (diff) |
gentoo resync : 29.12.2022
Diffstat (limited to 'metadata/news/2022-06-13-python3-10')
3 files changed, 373 insertions, 0 deletions
diff --git a/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.en.txt b/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.en.txt new file mode 100644 index 000000000000..cbf5df732e6b --- /dev/null +++ b/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.en.txt @@ -0,0 +1,120 @@ +Title: Python 3.10 to become the default on 2022-07-01 +Author: Michał Górny <mgorny@gentoo.org> +Posted: 2022-06-13 +Revision: 1 +News-Item-Format: 2.0 +Display-If-Installed: dev-lang/python:3.8 +Display-If-Installed: dev-lang/python:3.9 + +We are planning to switch the default Python target of Gentoo systems +on 2022-07-01, from Python 3.9 to Python 3.10. If you have not changed +the values of PYTHON_TARGETS or PYTHON_SINGLE_TARGET, the change will +have immediate effect on your system and the package manager will try +to switch automatically on the next upgrade following the change. + +If you did change the values, prefer a safer approach or have problems +with the update, read on. + +Please note that the default upgrade method switches packages to the new +Python versions as they are rebuilt. This means that all interdependent +packages have to support the new version for the upgrade to proceed, +and that some programs may temporarily fail to find their dependencies +throughout the upgrade (although programs that are already started +are unlikely to be affected). + + +If you have PYTHON_TARGETS or PYTHON_SINGLE_TARGET declared +in make.conf, please remove these declarations as they will interfere +with the package.use samples provided below. Using make.conf for Python +targets is discouraged as it prevents package defaults from applying +when necessary. This news item assumes using /etc/portage/package.use +or your package manager's equivalent file for configuration. + + +At this point, you have a few configuration options to choose from: + +1. If you wish Python upgrades to apply automatically, you can remove + PYTHON_TARGETS and PYTHON_SINGLE_TARGET declarations. When + the defaults change, your package manager should handle the upgrade + automatically. However, you may still need to run the update + commands if any problems arise. + +2. If you wish to defer the upgrade for the time being, you can + explicitly set the old values in package.use. + +3. If you wish to force the upgrade earlier, you can explicitly set + the new values and run the upgrade commands. + +4. If you wish to use a safer approach (i.e. less likely to temporarily + break packages during the upgrade), you can perform a multi-step + upgrade as outlined below. + +5. Finally, you can use an arbitrary combination of PYTHON_TARGETS + and PYTHON_SINGLE_TARGET. + + +Deferring the upgrade +===================== +To defer the upgrade, explicitly set the old targets: + + */* PYTHON_TARGETS: -* python3_9 + */* PYTHON_SINGLE_TARGET: -* python3_9 + +This will enforce Python 3.9 and block any future updates. However, +please note that this is only a temporary solution and you will +eventually need to perform the migration. + + +Forcing the upgrade +=================== +To force the upgrade earlier, explicitly select the Python 3.10 targets: + + */* PYTHON_TARGETS: -* python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +However, it is important to remember to remove this after the defaults +change, as it will interfere with the automatic switch to the next +Python version in the future. + + +Safer upgrade procedure +======================= +A safer approach is to add Python 3.10 support to your system first, +and only then remove Python 3.9. However, note that this involves two +rebuilds of all the affected packages, so it will take noticeably +longer. + +First, enable both Python 3.9 and Python 3.10, and then run the upgrade +commands: + + */* PYTHON_TARGETS: -* python3_9 python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_9 + +Then switch PYTHON_SINGLE_TARGET and run the second batch of upgrades: + + */* PYTHON_TARGETS: -* python3_9 python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +Finally, switch to the final version and upgrade: + + */* PYTHON_TARGETS: -* python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +You may wish to remove the target overrides after the defaults switch. +Alternatively, you can keep them to block the next automatic upgrade +to Python 3.11, and upgrade manually then. + + +Upgrade commands +================ +The Python 3.9 cleanup requires that Python 3.9 is removed from +the complete dependency trees in batch. If some of the +installed packages using an older Python version are not triaged +for the upgrade, the package manager will throw dependency conflicts. +This makes it important that the upgrade is carried via a --deep +--changed-use @world upgrade, as well as that any stray packages +are removed prior to it, e.g.: + + emerge --depclean + emerge -1vUD @world + emerge --depclean diff --git a/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.pl.txt b/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.pl.txt new file mode 100644 index 000000000000..684ff3248fbe --- /dev/null +++ b/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.pl.txt @@ -0,0 +1,133 @@ +Title: Python 3.10 stanie się domyślną wersją począwszy od 2022-07-01 +Author: Michał Górny <mgorny@gentoo.org> +Translator: Michał Górny <mgorny@gentoo.org> +Posted: 2022-06-13 +Revision: 1 +News-Item-Format: 2.0 +Display-If-Installed: dev-lang/python:3.8 +Display-If-Installed: dev-lang/python:3.9 + +Gentoo planuje zmienić domyślną wersję Pythona z 3.9 na 3.10 w dniu +1. lipca 2022 r. Użytkownicy, którzy nie zmieniali wartości flag +PYTHON_TARGETS oraz PYTHON_SINGLE_TARGET nie muszą nic robić. Menadżer +pakietów automatycznie zaktualizuje wsparcie Pythona do nowej wersji +przy kolejnej aktualizacji systemu po tej zmianie. + +Informacje zawarte w tej wiadomości przeznaczone są dla użytkowników, +którzy zmieniali preferowaną wersję Pythona bądź chcą przeprowadzić +aktualizację w bezpieczniejszy sposób. + +Uwaga: standardowa metoda aktualizacji podmienia obsługiwaną wersję +Pythona w poszczególnych pakietach w miarę ich aktualizacji. +Oznacza to, że aktualizacja systemu możliwa będzie wyłącznie, jeżeli +wszystkie zainstalowane pakiety obsługują nową wersję. W trakcie +aktualizacji zależności poszczególnych zainstalowanych programów mogą +stać się tymczasowo niedostępne, nie powinno to jednak mieć wpływu +na działanie już uruchomionych aplikacji. + + +Użytkownicy, którzy wykorzystują plik make.conf do ustawienia wartości +zmiennych PYTHON_TARGETS lub PYTHON_SINGLE_TARGET powinni usunąć +te wartości, gdyż będą one kolidowały z przykładami package.use +przedstawionymi w tej wiadomości. Wykorzystywanie pliku make.conf +do konfiguracji tych zmiennych jest niewskazane, gdyż ustawienia te +nadpisują domyślne wartości flag zawarte w poszczególnych pakietach. +Dalszy ciąg tej wiadomości zakłada wykorzystywanie package.use +lub równoważnego pliku konfiguracyjnego. + + +Dostępne są następujące możliwości aktualizacji: + +1. Automatyczna aktualizacja wersji Pythona. Aby skorzystać z tej + opcji, należy usunąć zmienne PYTHON_TARGETS + oraz PYTHON_SINGLE_TARGET. Wówczas menadżer pakietów automatycznie + przeprowadzi aktualizację ilekroć zmieni się domyślna wersja Pythona + w Gentoo. Niemniej, może zaistnieć konieczność ręcznej aktualizacji + w przypadku wystąpienia problemów. + +2. Odroczenie aktualizacji poprzez wymuszenie poprzedniej wersji + w pliku package.use. + +3. Wymuszenie wcześniejszej aktualizacji poprzez podanie nowej wersji + i dokonanie aktualizacji systemu. + +4. Zastosowanie bezpiecznego podejścia (tj. zmniejszającego ryzyko + niesprawnych programów w trakcie aktualizacji) poprzez wykonanie + aktualizacji w kilku krokach. Proces ten jest szczegółowo opisany + w dalszej części wiadomości. + +5. Zastosowanie dowolnej kombinacji zmiennych PYTHON_TARGETS + oraz PYTHON_SINGLE_TARGET. + + +Odroczenie aktualizacji +======================= +Aby odroczyć aktualizację do późniejszego terminu, należy wymusić +poprzednią wersję Pythona: + + */* PYTHON_TARGETS: -* python3_9 + */* PYTHON_SINGLE_TARGET: -* python3_9 + +W ten sposób Python 3.9 zostanie wymuszony na stałe i przyszłe +aktualizacje zostaną zablokowane. Należy jednak pamiętać, że jest +to rozwiązanie tymczasowe i w przyszłości aktualizacja stanie się +konieczna. + + +Wymuszenie aktualizacji +======================= +Aby wymusić aktualizację wcześniej, należy wybrać Pythona 3.10: + + */* PYTHON_TARGETS: -* python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +Zalecane jest jednak usunięcie tych ustawień po podanym wyżej terminie, +aby nie kolidowały w przyszłości z kolejną zmianą domyślnej wersji +Pythona. + + +Bezpieczna procedura aktualizacji +================================= +Bezpieczniejszą alternatywą do standardowego procesu jest wprowadzenie +wsparcia Pythona 3.10 w pierwszym kroku, a następnie usunięcie Pythona +3.9. Należy jednak pamiętać, że będzie wymagało to dwukrotnego +przebudowania wszystkich pakietów używających Pythona, tak więc łączny +czas aktualizacji zostanie wydłużony. + +Najpierw załączyć należy obydwie wersje Pythona i przeprowadzić +aktualizację systemu: + + */* PYTHON_TARGETS: -* python3_9 python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_9 + +Następnie przełączyć należy wartość PYTHON_SINGLE_TARGET i przebudować +pakiety używające tych flag: + + */* PYTHON_TARGETS: -* python3_9 python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +W ostatnim kroku należy wyłączyć poprzednią wersję i przeprowadzić +kolejną aktualizację: + + */* PYTHON_TARGETS: -* python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +Po terminie zmiany domyślnych wartości, konfigurację tę można usunąć. +Alternatywnie, pozostawienie jej zablokuje przyszłą aktualizację +do Pythona 3.11 i pozwoli na ręczne przeprowadzenie bezpieczniej +aktualizacji. + + +Proces aktualizacji +=================== +Usunięcie Pythona 3.9 wymaga, by odpowiednie flagi zostały jednocześnie +wyłączone w całym drzewie zależności. Jeżeli niektóre z zainstalowanych +pakietów nie zostaną uwzględnione w planowanej aktualizacji, mogą one +zablokować ten proces. Dlatego też istotne jest przeprowadzenie +aktualizacji przy pomocy parametrów `--deep --changed-use @world` bądź +równoważnych, jak również wcześniejsze usunięcie niepotrzebnych +pakietów. Można tego dokonać używając poleceń: + + emerge --depclean + emerge -1vUD @world + emerge --depclean diff --git a/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.ru.txt b/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.ru.txt new file mode 100644 index 000000000000..cc92b9212389 --- /dev/null +++ b/metadata/news/2022-06-13-python3-10/2022-06-13-python3-10.ru.txt @@ -0,0 +1,120 @@ +Title: Python 3.10 станет базовым с 2022-07-01 +Author: Michał Górny <mgorny@gentoo.org> +Translator: Alexey Sokolov <alexey+gentoo@asokolov.org> +Posted: 2022-06-13 +Revision: 1 +News-Item-Format: 2.0 +Display-If-Installed: dev-lang/python:3.8 +Display-If-Installed: dev-lang/python:3.9 + +1 июля 2022 года мы собираемся переключить Python target, используемый +по умолчанию на системах Gentoo, с версии 3.9 на версию 3.10. +Если вы не меняли значения переменных PYTHON_TARGETS или +PYTHON_SINGLE_TARGET, то упомянутое изменение затронет систему сразу, +и пакетный менеджер попытается переключиться на новый Python target +автоматически при следующем обновлении системы. + +Если вы изменили значения этих переменных, предпочитаете более +безопасный подход или при обновлении возникли проблемы, то +продолжайте читать далее. + +Пожалуйста, обратите внимание, что метод обновления по умолчанию +переключает пакеты на новую версию Python при их пересборки. +Это означает, что все зависящие друг от друга пакеты должны поддерживать +новую версию Python для продолжения обновления и некоторые программы +временно могут не находить свои зависимости во время обновления +(однако, запущенные программы, вероятно, не будут подвержены проблеме). + +Если переменные PYTHON_TARGETS или PYTHON_SINGLE_TARGET объявлены +в вашем файле make.conf, пожалуйста, удалите их, так как они будут +конфликтовать с представленными ниже примерами конфигурации package.use. +Мы не рекомендуем использовать файл make.conf для задания значений +переменных Python target, так как это препятствует применению +значений по умолчанию для пакетов, когда это необходимо. В этой новости +мы предполагаем, что вы используете файл /etc/portage/package.use +или ваш эквивалент этого файла конфигурации пакетного менеджера. + +С этого момента у вас есть выбор из следующих вариантов настройки: + +1. Если вы хотите, чтобы Python обновлялся автоматически, вы можете + удалить объявленные переменные PYTHON_TARGETS и PYTHON_SINGLE_TARGET. + Когда их значения по умолчанию изменятся, пакетный менеджер должен + самостоятельно всё обновить. Но если возникнут проблемы, вам всё ещё + может понадобиться запустить команды обновления. + +2. Если вы хотите пока отложить обновление, вы можете явно указать + старые значения в файле package.use. + +3. Если вы хотите обновиться раньше, вы можете явно задать новые + значения и запустить команды обновления. + +4. Если вы хотите использовать более безопасный подход (т.е. с меньшей + вероятностью временной поломки пакетов во время обновления), + вы можете выполнить последовательное обновление, описанное ниже. + +5. Наконец, вы можете произвольным образом комбинировать значения + переменных PYTHON_TARGETS и PYTHON_SINGLE_TARGET. + + +Откладывание обновления +======================= +Чтобы отложить обновление, явно укажите старые значения: + + */* PYTHON_TARGETS: -* python3_9 + */* PYTHON_SINGLE_TARGET: -* python3_9 + +Это заставит систему использовать Python 3.9 и предотвратит последующие +обновления. Однако, учтите, что такое решение временное, +и в конце концов вам всё-таки придётся провести обновление. + + +Принудительное обновление +========================= +Чтобы обновиться до Python 3.10 раньше, явно укажите новые значения: + + */* PYTHON_TARGETS: -* python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +При этом важно не забыть удалить эти строки после изменения значений +по умолчанию, иначе они помешают последующим автоматическим обновлениям +на следующие версии Python. + + +Процедура безопасного обновления +================================ +Более безопасный подход такой: сначала добавляется в систему поддержка +Python 3.10, а затем удаляется поддержка Python 3.9. Однако, учтите, +что все затронутые пакеты будут пересобраны дважды, что заметно дольше. + +Сначала включите Python 3.9 и Python 3.10 и запустите команды обновления: + + */* PYTHON_TARGETS: -* python3_9 python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_9 + +Затем замените PYTHON_SINGLE_TARGET и ещё раз запустите обновление: + + */* PYTHON_TARGETS: -* python3_9 python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +Наконец, переключитесь на окончательную версию и запустите обновление: + + */* PYTHON_TARGETS: -* python3_10 + */* PYTHON_SINGLE_TARGET: -* python3_10 + +После смены значений по умолчанию вы можете удалить эти настройки. +Или же вы можете оставить их, предотвращая автоматическое обновление +до Python 3.11, и позже обновиться вручную. + + +Команды обновления +================== +Для очистки системы от Python 3.9 требуется удалить его сразу из +всего дерева зависимостей. Если какие-то установленные пакеты, +использующие старую версию Python, не помечены для обновления, +пакетный менеджер покажет ошибки зависимостей. Поэтому важно проводить +обновление с использованием опций --deep --changed-use @world, +а также перед этим удалить все более не требуемые пакеты: + + emerge --depclean + emerge -1vUD @world + emerge --depclean |