aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--2022-06-13-python3-10/2022-06-13-python3-10.pl.txt133
1 files changed, 133 insertions, 0 deletions
diff --git a/2022-06-13-python3-10/2022-06-13-python3-10.pl.txt b/2022-06-13-python3-10/2022-06-13-python3-10.pl.txt
new file mode 100644
index 0000000..684ff32
--- /dev/null
+++ b/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