Re: favouring Python3 in the Debian policy
On May 07, 2014, at 04:45 PM, Matthias Klose wrote:
>Attached is a proposed change to the Debian Python policy to focus on Python3
>within the distribution. The intent is to document and start a large journey
>towards one Python stack in Debian. This is unlikely to happen for jessie+1,
>but we should state the plan now so that it doesn't come later as a surprise.
=== modified file 'debian/python-policy.sgml'
--- debian/python-policy.sgml 2013-05-22 02:12:02 +0000
+++ debian/python-policy.sgml 2014-05-07 14:34:24 +0000
> @@ -74,6 +73,57 @@
>
> <toc detail="sect1">
>
> + <chapt id="python3">
> + <heading>On the move to Python3</heading>
> + <p>
> + Debian currently supports two Python stacks, one for Python2
> + and one for Python3. The long term goal for Debian is to
> + reduce this to one stack, dropping the Python2 stack at some
> + time.
> + <url id="http://legacy.python.org/dev/peps/pep-0404/"
> + name="PEP 404"> states that no more major Python2 releases
> + are planned, although the last released major version 2.7
> + will see some extended support, documented in
> + <url id="http://legacy.python.org/dev/peps/pep-0466/"
> + name="PEP 466">.
> + </p>
> + <p>
> + Packages in Debian should use Python3 if Python3 is
> + supported. New packages should use Python3 from the initial
> + upload, new upstream versions for existing packages should
> + use Python3 if the new upstream version supports it.
> + </p>
> +
> + <p><enumlist>
> + <item>
> + <p>
> + Applications should use Python3, and should not be
> + packaged for Python2 as well.
> + </p>
Maybe also that system scripts written in Python should be Python 3 and not
Python 2. I'd add the clarity just because I'm not sure folks think of such
system scripts as "applications".
> + </item>
> + <item>
> + <p>
> + Python libraries should be always packaged for Python3
> + if supported. Python2 libraries should be packaged, if
> + applications dound in the reverse dependencies are not
s/dound/found/
> + yet supported by Python3.
> + </p>
> + </item>
> + <item>
> + <p>
> + Existing Python2 libraries should not be dropped before
> + the last reverse dependency is removed.
> + </p>
> + </item>
> + </enumlist></p>
> +
> + <p>
> + Python3 (3.1) was released in June 2009, and is available in
> + the Debian 6.0 (squeeze) release (3.1), and in the Debian 7
> + (wheezy) release (3.2).
> + </p>
> + </chapt>
> +
> <chapt id="python">
> <heading>Python Packaging</heading>
> <sect id="versions">
> @@ -117,7 +167,10 @@
>
> <p>
> The set of currently supported python versions can be found in
> - <file>/usr/share/python/debian_defaults</file>. This file is in
> + <file>/usr/share/python/debian_defaults</file>, the set of
> + currently supported python3 versions can be found
> + in <file>/usr/share/python3/debian_defaults</file>. These
> + files are in
> Python ConfigParser format and defines four variables in its
> DEFAULT section: default-version which is the current default
> Python runtime, supported-versions which is the set of runtimes
Should we also update Appendix B to promote --buildsystem=pybuild or at least
reference it?
-Barry
Reply to: