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

favouring Python3 in the Debian policy



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.

  Matthias
=== 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
@@ -32,7 +32,7 @@
         <name>Scott Kitterman</name>
 	<email>scott@kitterman.com</email>
       </author>
-      <version>version 0.9.4.2</version>
+      <version>version 0.9.5</version>
 
       <abstract>
 	This document describes the packaging of Python within the
@@ -42,8 +42,7 @@
 
       <copyright>
 	<copyrightsummary>
-	  Copyright &copy; 1999, 2001, 2003, 2006, 2009, 2010, 2011, 2012
-	  Software in the Public Interest
+	  Copyright &copy; 1999-2014 Software in the Public Interest
 	</copyrightsummary>
 	<p>
 	  This manual is free software; you can redistribute it and/or
@@ -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>
+	  </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
+	      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


Reply to: