[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: