Python2の削除方針と対応方針
「Ubuntu 20.04 LTS」における「Python2」の削除方針と対応方針が以下で紹介されています。一部のアプリケーションを救うため、「Ubuntu 20.04 LTS」でも「Python2」が提供される予定です。
ただし既存の「Python2」環境とは内容や状況が異なります。
既存の「Ubuntu」と同様の「Python2」環境を期待するなら、「Ubuntu 18.04 LTS」を利用するのが良いでしょう。
1.python-defaultsパッケージがreleaseポケットへ
「python-defaults」パッケージが「release」ポケットへ移されました。これにより以下のバイナリーパッケージが削除されます。
- libpython-dbg
- libpython-dev
- libpython-stdlib
- python
- python-dbg
- python-dev
- python-doc
- python-minimal
また「release」及び「proposed」ポケットでは、上記パッケージへの依存がすべて削除されます。
2.パッケージの修正
ビルドされないパッケージへの参照を削除します。これにより「build dependency」に「1.」のパッケージを指定しているすべてのパッケージの修正が必要になります。
3.Python2シバンのチェック
「release」ポケットにあるバイナリーパッケージをスキャンし、Python2シバン(python)を使用しているパッケージを検出します。検出されたパッケージは、「python」シバンの代わりに「python2」シバンを使用するように修正されます。
ただし「/usr/share/doc」以下にあるサンプルコードは対象外です。
(面倒を見ないということです。)
4.ビルドチェック
次回アーカイブテストを再構築した後、「python」シバンの削除によるビルドエラーが発生していないかチェックします。5.python-is-python2-but-deprecatedパッケージの追加
リリース前に「python-is-python2-but-deprecated」バイナリーパッケージを追加します。このパッケージは「/usr/bin/python」シンボリックリンクを提供します。
このパッケージにより、以前の「Ubuntu」からアップグレードした環境でも同じ「python」シンボリックリンクを利用できます。
また従来と同じ「python」シンボリックリンクが必要なら、明示的にこのパッケージをインストールすることもできます。
加えて従来の「python」シンボリックリンクを期待するPPAやサードパーティー製パッケージのインストールも可能になります。
これは「Python3」へ移行できていない古いソフトウェアを救済するものであり、パッケージを提供する開発者は、パッケージのビルド依存や依存及び推奨に「python-is-python2-but-deprecated」パッケージを指定することはできません。
6.python-is-python3パッケージの追加
将来を見越して「python-is-python3」パッケージを追加します。このパッケージは「/usr/bin/python」シンボリックリンクを提供します。
このシンボリックリンクは「Python3」を指します。
ただし「Ubuntu 20.04 LTS」でこのパッケージは、デフォルトでインストールされません。
また今後のリリースや「Ubuntu 22.04 LTS」で「Python3」を指す「python」シンボリックリンクがデフォルトでインストールされる予定です。
パッケージを提供する開発者は、パッケージのビルド依存や依存及び推奨に「python-is-python3」パッケージを指定することはできません。
7.リリースノートに情報を記載
「Python」に関する情報はリリースノートに記載されます。8.python2の提供
「Ubuntu 20.04 LTS」で「python2」が提供される予定です。もはや「Python2」から「Python3」への移行は必須なのですが、「Python2」を使用するアプリケーションを「Python3」へ移行できない派生を救うため、「python2」が提供される予定です。
つまりやむを得ない事情によるものです。
9.フィードバックを
今回の作業を通じアーカイブ(リポジトリー)から削除されるパッケージがあります。削除されては困るパッケージがある場合は、その旨をフィードバックしてください。
フィードバックは「Launchpad」や上記メーリングリストで受け付けています。
「Feature Freeze」後でもフィードバックを受け付けていますが、早いほうが好ましいでしょう。