Server IP : 85.214.239.14 / Your IP : 3.17.81.228 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/root/usr/share/doc/python/python-policy.html/ |
Upload File : |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Debian Python Policy - Upgrade Procedure</title> <link href="index.html" rel="start"> <link href="ap-packaging_tools.html" rel="prev"> <link href="index.html" rel="next"> <link href="index.html#contents" rel="contents"> <link href="index.html#copyright" rel="copyright"> <link href="ch-python3.html" rel="chapter" title="1 On the move to Python 3"> <link href="ch-python.html" rel="chapter" title="2 Python Packaging"> <link href="ch-module_packages.html" rel="chapter" title="3 Packaged Modules"> <link href="ch-programs.html" rel="chapter" title="4 Python Programs"> <link href="ch-embed.html" rel="chapter" title="5 Programs Embedding Python"> <link href="ch-other.html" rel="chapter" title="6 Interaction with Locally Installed Python Versions"> <link href="ap-build_dependencies.html" rel="appendix" title="A Build Dependencies"> <link href="ap-packaging_tools.html" rel="appendix" title="B Packaging Tools"> <link href="ap-upgrade.html" rel="appendix" title="C Upgrade Procedure"> <link href="ch-python.html#s-versions" rel="section" title="2.1 Versions"> <link href="ch-python.html#s-base" rel="section" title="2.2 Main packages"> <link href="ch-python.html#s-minimal" rel="section" title="2.3 Minimal packages"> <link href="ch-python.html#s-interpreter" rel="section" title="2.4 Python Interpreter"> <link href="ch-python.html#s-paths" rel="section" title="2.5 Module Path"> <link href="ch-python.html#s-runtimes_hooks" rel="section" title="2.6 Hooks for updates to installed runtimes"> <link href="ch-python.html#s-docs" rel="section" title="2.7 Documentation"> <link href="ch-module_packages.html#s3.1" rel="section" title="3.1 Types of Python Modules"> <link href="ch-module_packages.html#s-wheels" rel="section" title="3.2 Wheels"> <link href="ch-module_packages.html#s-package_names" rel="section" title="3.3 Module Package Names"> <link href="ch-module_packages.html#s-specifying_versions" rel="section" title="3.4 Specifying Supported Versions"> <link href="ch-module_packages.html#s-dependencies" rel="section" title="3.5 Dependencies"> <link href="ch-module_packages.html#s-provides" rel="section" title="3.6 Provides"> <link href="ch-module_packages.html#s-byte_compilation" rel="section" title="3.7 Modules Byte-Compilation"> <link href="ch-programs.html#s-interpreter-directive" rel="section" title="4.1 Interpreter directive (“Shebang”)"> <link href="ch-programs.html#s-version_indep_progs" rel="section" title="4.2 Programs using the default Python"> <link href="ch-programs.html#s-version_dep_progs" rel="section" title="4.3 Programs Using a Particular Python Version"> <link href="ch-embed.html#s-build_embedded" rel="section" title="5.1 Building Embedded Programs"> <link href="ch-embed.html#s-embedded_deps" rel="section" title="5.2 Embedded Python Dependencies"> <link href="ap-packaging_tools.html#s-distutils" rel="section" title="B.1 distutils"> <link href="ap-packaging_tools.html#s-setuptools" rel="section" title="B.2 setuptools"> <link href="ap-packaging_tools.html#s-dh-python" rel="section" title="B.3 dh-python"> <link href="ap-packaging_tools.html#s-pybuild" rel="section" title="B.4 pybuild"> <link href="ap-packaging_tools.html#s-cdbs" rel="section" title="B.5 CDBS"> <link href="ap-packaging_tools.html#s-pysupport" rel="section" title="B.6 python-support (removed)"> <link href="ap-packaging_tools.html#s-pycentral" rel="section" title="B.7 python-central (removed)"> <link href="ch-python.html#s-interpreter_name" rel="subsection" title="2.4.1 Interpreter Name"> <link href="ch-python.html#s-interpreter_loc" rel="subsection" title="2.4.2 Interpreter Location"> <link href="ch-programs.html#s-current_version_progs" rel="subsection" title="4.2.1 Programs Shipping Private Modules"> </head> <body> <p><a name="ap-upgrade"></a></p> <hr> <p> [ <a href="ap-packaging_tools.html">previous</a> ] [ <a href="index.html#contents">Contents</a> ] [ <a href="ch-python3.html">1</a> ] [ <a href="ch-python.html">2</a> ] [ <a href="ch-module_packages.html">3</a> ] [ <a href="ch-programs.html">4</a> ] [ <a href="ch-embed.html">5</a> ] [ <a href="ch-other.html">6</a> ] [ <a href="ap-build_dependencies.html">A</a> ] [ <a href="ap-packaging_tools.html">B</a> ] [ C ] [ <a href="index.html">next</a> ] </p> <hr> <h1> Debian Python Policy <br>Appendix C - Upgrade Procedure</h1> <hr> <p> This section describes the procedure for the upgrade when the default Python version is changed in the Debian <samp>unstable</samp> release, requiring recompilation of many Python-related packages. </p> <ol type="1" start="1" > <li> <p> Selected pre-releases and release candidates of new Python versions are uploaded to Debian <samp>experimental</samp> to support pre-transition work and testing. </p> </li> </ol> <ol type="1" start="2" > <li> <p> Application and module maintainers make sourceful changes where needed to prepare for the new Python version when needed. </p> </li> </ol> <ol type="1" start="3" > <li> <p> Have a long and heated discussion. </p> </li> </ol> <ol type="1" start="4" > <li> <p> The Debian Python maintainer and module/application maintainers discuss the readiness for a new default Debian Python version and associated packaging/policy changes. Once there is some consensus, the Python maintainer announces the upgrade and uploads to <samp>unstable</samp>. </p> </li> </ol> <ol type="1" start="5" > <li> <p> Upload of the Python core meta-packages <code>python</code>, <code>python-dev</code>, <code>python-doc</code> and several <code>python-<var>module</var></code>, depending on the new <code>python<var>X</var>.<var>Y</var></code>, <code>python<var>X</var>.<var>Y</var>-dev</code> and so on. </p> </li> </ol> <ol type="1" start="6" > <li> <p> The Debian release team schedules rebuilds for packages that may need it. Packages that require additional manual work get updated and uploaded. </p> </li> </ol> <p> The necessary package builds are typcially done in three phases in order to keep transitions as smooth as possible. For Python 3, there is no general need to update architecture all packages for a new Python 3 version. Only architecture any packages need to be rebuilt. </p> <ol type="1" start="1" > <li> <p> The new Python 3 version is added to supported versions and packages that support multiple Python 3 versions are binNMUed. They now support both the new and older Python 3 versions. This requires transition assistance from the release team in the form of a transition tracker and binNMU scheduling, but is not a transition that can cause entanglements with other transitions in Debian. </p> </li> </ol> <ol type="1" start="2" > <li> <p> Once the default Python 3 version is changed, binNMUs are done for packages that only support one Python 3 version. Some transient uninstallability is unavoidable. This is a transition that can entangle other transitions in Debian and requires more careful coordination with the release team. </p> </li> </ol> <ol type="1" start="3" > <li> <p> After the old Python 3 version is dropped from supported versions then packages with multi-version support are binNMUed again to remove support for the old Python 3 version. This is not a true transition and only needs a tracker and binNMU scheduling. </p> </li> </ol> <hr> <p> [ <a href="ap-packaging_tools.html">previous</a> ] [ <a href="index.html#contents">Contents</a> ] [ <a href="ch-python3.html">1</a> ] [ <a href="ch-python.html">2</a> ] [ <a href="ch-module_packages.html">3</a> ] [ <a href="ch-programs.html">4</a> ] [ <a href="ch-embed.html">5</a> ] [ <a href="ch-other.html">6</a> ] [ <a href="ap-build_dependencies.html">A</a> ] [ <a href="ap-packaging_tools.html">B</a> ] [ C ] [ <a href="index.html">next</a> ] </p> <hr> <p> Debian Python Policy </p> <address> version 0.10.1.1<br> <br> Neil Schemenauer <code><a href="mailto:nas@debian.org">mailto:nas@debian.org</a></code><br> Matthias Klose <code><a href="mailto:doko@debian.org">mailto:doko@debian.org</a></code><br> Gregor Hoffleit <code><a href="mailto:flight@debian.org">mailto:flight@debian.org</a></code><br> Josselin Mouette <code><a href="mailto:joss@debian.org">mailto:joss@debian.org</a></code><br> Joe Wreschnig <code><a href="mailto:piman@debian.org">mailto:piman@debian.org</a></code><br> Loïc Minier <code><a href="mailto:lool@debian.org">mailto:lool@debian.org</a></code><br> Scott Kitterman <code><a href="mailto:scott@kitterman.com">mailto:scott@kitterman.com</a></code><br> Barry Warsaw <code><a href="mailto:barry@debian.org">mailto:barry@debian.org</a></code><br> Ben Finney <code><a href="mailto:ben+debian@benfinney.id.au">mailto:ben+debian@benfinney.id.au</a></code><br> <br> </address> <hr> </body> </html>