public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2013-01-30 11:30 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-30 11:30 UTC (permalink / raw
  To: gentoo-commits

mgorny      13/01/30 11:30:53

  Modified:             policy-guide.xml
  Log:
  Remove pypy 1.8.

Revision  Changes    Path
1.9                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.9&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.9&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.8&r2=1.9

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- policy-guide.xml	22 Jan 2013 17:45:21 -0000	1.8
+++ policy-guide.xml	30 Jan 2013 11:30:53 -0000	1.9
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.8 2013/01/22 17:45:21 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.9 2013/01/30 11:30:53 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -23,8 +23,8 @@
 <!-- See http://creativecommons.org/licenses/by-sa/3.0/ -->
 <license version="3.0"/>
 
-<version>4</version>
-<date>2013-01-14</date>
+<version>5</version>
+<date>2013-01-30</date>
 
 <chapter id="Common_policies">
 	<title>Common policies</title>
@@ -81,7 +81,6 @@
 				<tr><ti>CPython 3.1</ti><ti>supported</ti></tr>
 				<tr><ti>CPython 3.2</ti><ti>current stable</ti></tr>
 				<tr><ti>CPython 3.3</ti><ti>supported</ti></tr>
-				<tr><ti>PyPy 1.8</ti><ti>deprecated</ti></tr>
 				<tr><ti>PyPy 1.9</ti><ti>supported</ti></tr>
 				<tr><ti>PyPy 2.0</ti><ti>supported</ti></tr>
 				<tr><ti>Jython 2.5</ti><ti>deprecated</ti></tr>





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2013-08-08  7:27 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2013-08-08  7:27 UTC (permalink / raw
  To: gentoo-commits

mgorny      13/08/08 07:27:02

  Modified:             policy-guide.xml
  Log:
  Update implementations. Add removed ones.

Revision  Changes    Path
1.11                 xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.11&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.11&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.10&r2=1.11

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- policy-guide.xml	17 Feb 2013 00:24:54 -0000	1.10
+++ policy-guide.xml	8 Aug 2013 07:27:02 -0000	1.11
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.10 2013/02/17 00:24:54 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.11 2013/08/08 07:27:02 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -23,8 +23,8 @@
 <!-- See http://creativecommons.org/licenses/by-sa/3.0/ -->
 <license version="3.0"/>
 
-<version>6</version>
-<date>2013-02-17</date>
+<version>7</version>
+<date>2013-08-08</date>
 
 <chapter id="Common_policies">
 	<title>Common policies</title>
@@ -75,13 +75,16 @@
 
 			<table>
 				<tr><th>Implementation</th><th>State</th></tr>
-				<tr><ti>CPython 2.5</ti><ti>unsupported</ti></tr>
+				<tr><ti>CPython 2.4</ti><ti>removed</ti></tr>
+				<tr><ti>CPython 2.5</ti><ti>deprecated</ti></tr>
 				<tr><ti>CPython 2.6</ti><ti>supported</ti></tr>
 				<tr><ti>CPython 2.7</ti><ti>current stable</ti></tr>
-				<tr><ti>CPython 3.1</ti><ti>supported</ti></tr>
+				<tr><ti>CPython 3.0</ti><ti>removed</ti></tr>
+				<tr><ti>CPython 3.1</ti><ti>deprecated</ti></tr>
 				<tr><ti>CPython 3.2</ti><ti>current stable</ti></tr>
 				<tr><ti>CPython 3.3</ti><ti>supported</ti></tr>
-				<tr><ti>PyPy 1.9</ti><ti>supported</ti></tr>
+				<tr><ti>PyPy 1.8</ti><ti>removed</ti></tr>
+				<tr><ti>PyPy 1.9</ti><ti>deprecated</ti></tr>
 				<tr><ti>PyPy 2.0</ti><ti>supported</ti></tr>
 				<tr><ti>Jython 2.5</ti><ti>deprecated</ti></tr>
 			</table>





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2013-02-17  0:24 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2013-02-17  0:24 UTC (permalink / raw
  To: gentoo-commits

mgorny      13/02/17 00:24:54

  Modified:             policy-guide.xml
  Log:
  Add python-json to virtuals.

Revision  Changes    Path
1.10                 xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.10&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.10&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.9&r2=1.10

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- policy-guide.xml	30 Jan 2013 11:30:53 -0000	1.9
+++ policy-guide.xml	17 Feb 2013 00:24:54 -0000	1.10
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.9 2013/01/30 11:30:53 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.10 2013/02/17 00:24:54 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -23,8 +23,8 @@
 <!-- See http://creativecommons.org/licenses/by-sa/3.0/ -->
 <license version="3.0"/>
 
-<version>5</version>
-<date>2013-01-30</date>
+<version>6</version>
+<date>2013-02-17</date>
 
 <chapter id="Common_policies">
 	<title>Common policies</title>
@@ -190,6 +190,19 @@
 				</tr>
 
 				<tr>
+					<ti><c>virtual/python-json</c></ti>
+					<ti>
+						Provides either the <c>json</c> module (built-in since
+						python2.6) or <c>simplejson</c> as a fallback (like many
+						applications assume).
+					</ti>
+					<ti>
+						Packages which do not support Python 2.5 do not need
+						to depend on <c>json</c> at all (it is built-in).
+					</ti>
+				</tr>
+
+				<tr>
 					<ti><c>virtual/python-unittest2</c></ti>
 					<ti>
 						Provides the <c>unittest2</c> module <e>only</e> for Python





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2013-01-22 17:45 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-22 17:45 UTC (permalink / raw
  To: gentoo-commits

mgorny      13/01/22 17:45:21

  Modified:             policy-guide.xml
  Log:
  Add a section describing handling tests.

Revision  Changes    Path
1.8                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.8&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.8&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.7&r2=1.8

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- policy-guide.xml	14 Jan 2013 14:07:10 -0000	1.7
+++ policy-guide.xml	22 Jan 2013 17:45:21 -0000	1.8
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.7 2013/01/14 14:07:10 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.8 2013/01/22 17:45:21 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -333,6 +333,129 @@
 	</section>
 </chapter>
 
+<chapter id="Development_tips">
+	<title>Development tips</title>
+
+	<section id="dt_Running_tests_in_Python_packages">
+		<title>Running tests in Python packages</title>
+
+		<body>
+			<p>
+				If a Python package provides tests suitable for automated
+				testing, the ebuild shall run those tests
+				in the <c>python_test()</c> (or <c>src_test()</c>) phase.
+			</p>
+
+			<p>
+				There are a number of common solutions for running tests —
+				including built-in <c>unittest</c> module,
+				<c>dev-python/nose</c>, <c>dev-python/pytest</c>. Often
+				the solutions are compatible with one another, enough to be able
+				to run a test suite designed for one of the other tools.
+			</p>
+
+			<p>
+				There are two common rules when choosing the test runner:
+			</p>
+
+			<ol>
+				<li>
+					the test runner shall introduce the least possible number
+					of dependencies,
+				</li>
+
+				<li>
+					the test runner chosen by upstream ought be preferred.
+				</li>
+			</ol>
+
+			<p>
+				When in doubt, it is often useful to review the package's test
+				modules for imports. If a package belonging to a test suite
+				is imported, the runner for that test suite shall be used.
+				The common test suites are listed in the following table:
+			</p>
+
+			<table>
+				<tr>
+					<th>Gentoo package</th>
+					<th>Python package (module)</th>
+					<th>Test runner (executable)</th>
+				</tr>
+
+				<tr>
+					<ti><c>dev-python/logilab-common</c></ti>
+					<ti><c>logilab.common.test</c></ti>
+					<ti><c>pytest</c></ti>
+				</tr>
+
+				<tr>
+					<ti><c>dev-python/nose</c></ti>
+					<ti><c>nose</c></ti>
+					<ti><c>nosetests</c></ti>
+				</tr>
+
+				<tr>
+					<ti><c>dev-python/pytest</c></ti>
+					<ti><c>pytest</c> or <c>py</c></ti>
+					<ti><c>py.test</c></ti>
+				</tr>
+
+				<tr>
+					<ti>(built-in)</ti>
+					<ti><c>unittest</c></ti>
+					<ti><c>${PYTHON} -m unittest discover</c> (since Python
+						2.7/3.2)</ti>
+				</tr>
+
+				<tr>
+					<ti><c>dev-python/unittest2</c></ti>
+					<ti><c>unittest2</c></ti>
+					<ti><c>unit2.py discover</c></ti>
+				</tr>
+			</table>
+
+			<p>
+				If the package defines the <c>test</c> command
+				for <c>setup.py</c> and uses one of the fore-mentioned test
+				suites, the best solution is the one requiring the least
+				effort or smallest number of dependencies.
+			</p>
+
+			<p>
+				There are a number of packages which require the <c>unittest2</c>
+				module only in versions of Python 2 older than 2.7 and Python 3
+				older than 3.2. Those packages shall depend
+				on <c>virtual/python-unittest2</c>.
+			</p>
+
+			<p>
+				If a particular package requires <c>unittest2</c> for Python 2.7+
+				and 3.2+ only for setuptools discovery module, it is preferred
+				to depend on the virtual package along with a <c>python_test()</c>
+				function similar to the following snippet:
+			</p>
+
+			<pre caption='Test discovery using unittest and unittest2'>
+<ident>DEPEND</ident>="test? ( virtual/python-unittest2[<var>${PYTHON_USEDEP}</var>] )"
+
+python_test() {
+	<keyword>local</keyword> <ident>runner</ident>=( <var>"${PYTHON}"</var> -m unittest )
+	<keyword>if</keyword> [[ <var>${EPYTHON}</var> == python2.[56] || <var>${EPYTHON}</var> == python3.1 ]]; <keyword>then</keyword>
+		<ident>runner</ident>=( unit2.py )
+	<keyword>fi</keyword>
+
+	<var>"${runner[@]}"</var> discover <comment># ...</comment>
+}
+</pre>
+
+			<p>
+				The tests need to die on failure.
+			</p>
+		</body>
+	</section>
+</chapter>
+
 <chapter id="Project_specific_policies">
 	<title>Project-specific policies</title>
 





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2013-01-14 14:07 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-14 14:07 UTC (permalink / raw
  To: gentoo-commits

mgorny      13/01/14 14:07:10

  Modified:             policy-guide.xml
  Log:
  Add section on deprecating implementations, small fixes.

Revision  Changes    Path
1.7                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.7&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.7&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.6&r2=1.7

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- policy-guide.xml	14 Jan 2013 09:37:27 -0000	1.6
+++ policy-guide.xml	14 Jan 2013 14:07:10 -0000	1.7
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.6 2013/01/14 09:37:27 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.7 2013/01/14 14:07:10 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -23,8 +23,8 @@
 <!-- See http://creativecommons.org/licenses/by-sa/3.0/ -->
 <license version="3.0"/>
 
-<version>3</version>
-<date>2012-12-26</date>
+<version>4</version>
+<date>2013-01-14</date>
 
 <chapter id="Common_policies">
 	<title>Common policies</title>
@@ -106,20 +106,20 @@
 				However, the package should be tested with an adequate level
 				of scrutiny on at least one of the keyworded architectures.
 				The testing may involve running a test suite, testing
-				the package's Python scripts, or a basic subset of package's
+				the package's Python scripts, or a basic subset of the package's
 				API.
 			</p>
 
 			<p>
 				Before enabling the support for a Python implementation,
 				the developer should search Gentoo Bugzilla for any open bugs
-				regarding the package and implementation in question.
+				regarding the package and the implementation in question.
 			</p>
 
 			<p>
 				The list of enabled implementations in stable packages must
 				not be changed. Therefore, if a package is stable, it should
-				be revision-bumped, the new implementation added to the new,
+				be revision-bumped and the new implementation added to the new,
 				non-stable ebuild.
 			</p>
 
@@ -230,18 +230,18 @@
 
 			<p>
 				Each test failure should be thoroughly analyzed. A test failure
-				can be a symptom of:
+				can be a symptom of;
 			</p>
 
 			<ol>
 				<li>
 					an error in the package code or its incompatibility
-					with a given Python implementation;
+					with a given Python implementation,
 				</li>
 
 				<li>
 					an error in the test suite or its incompatibility
-					with a given Python implementation;
+					with a given Python implementation,
 				</li>
 
 				<li>
@@ -252,7 +252,7 @@
 			<p>
 				In the former two cases, the issue need be reported upstream.
 				Unless a fix (patch) is provided by the ebuild, a matching bug
-				report in Gentoo Bugzilla need be filed as well.
+				report in Gentoo Bugzilla need also be filed.
 			</p>
 
 			<p>
@@ -286,7 +286,7 @@
 		<body>
 			<p>
 				Whenever there is a need to fix a bug affecting a package
-				through introducing changes in the installed Python code, please
+				via introducing changes in the installed Python code, please
 				remember to open a bug upstream and submit the patch there.
 				If the issue is not urgent, it is preferable to await upstream
 				acceptance of the patch and backport the change performed
@@ -294,14 +294,14 @@
 			</p>
 
 			<p>
-				It is generally preferred to use patch files rather than sed
+				It is generally preferable to use patch files rather than sed
 				statements. If an ebuild uses sed statements, those statements
 				need be reviewed on each version bump and removed when no longer
 				necessary.
 			</p>
 
 			<p>
-				Whenever performing any of the following:
+				In cases that require any of the following;
 			</p>
 
 			<ul>
@@ -325,7 +325,7 @@
 
 			<p>
 				an appropriate comment should be added to the ebuild,
-				documenting the change and the reasoning for it. It will help
+				documenting the change and the reasoning for it. This will help
 				other maintainers avoid mistakes and yield better testing
 				of the ebuild when next bumped.
 			</p>
@@ -333,5 +333,71 @@
 	</section>
 </chapter>
 
+<chapter id="Project_specific_policies">
+	<title>Project-specific policies</title>
+
+	<section id="psp_Deprecating_and_removing_Python_implementations">
+		<title>Deprecating and removing Python implementations</title>
+
+		<body>
+			<p>
+				If the Python team agrees on deprecating and removing an old
+				Python implementation, the following steps need be taken first;
+			</p>
+
+			<ol>
+				<li>
+					the deprecation and its timeline for it shall be announced,
+					<e>at minimum</e>, on the project mailing list,
+				</li>
+
+				<li>
+					the implementation shall be marked as ‘deprecated’
+					in the policy guide,
+				</li>
+
+				<li>
+					the implementation package and USE flags shall be masked.
+				</li>
+			</ol>
+
+			<p>
+				Post deprecation, the ‘phasing out’ period begings.
+				The developers must neither enable the deprecated implementation
+				on new packages, nor remove it from existing packages.
+				Developers must especially take care not to break any reverse
+				dependencies.
+			</p>
+
+			<p>
+				When the phasing out period ends, the following steps need
+				be taken;
+			</p>
+
+			<ol>
+				<li>
+					the implementation shall be removed from the policy guide,
+				</li>
+
+				<li>
+					the eclasses shall be modified to ignore occurences
+					of the implementation in <c>PYTHON_COMPAT</c>,
+				</li>
+
+				<li>
+					the implementation package shall be treecleaned
+					and the relevant USE flags shall be removed from profiles.
+				</li>
+			</ol>
+
+			<p>
+				Upon completion of all the fore-mentioned steps,
+				the implementation occurences in <c>PYTHON_COMPAT</c> can
+				be removed at leisure.
+			</p>
+		</body>
+	</section>
+</chapter>
+
 <!-- vim:se tw=72 ts=2 sts=2 sw=2 :-->
 </guide>





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2013-01-14  9:37 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-14  9:37 UTC (permalink / raw
  To: gentoo-commits

mgorny      13/01/14 09:37:27

  Modified:             policy-guide.xml
  Log:
  Update the virtuals table.

Revision  Changes    Path
1.6                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.6&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.6&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.5&r2=1.6

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- policy-guide.xml	3 Jan 2013 15:23:33 -0000	1.5
+++ policy-guide.xml	14 Jan 2013 09:37:27 -0000	1.6
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.5 2013/01/03 15:23:33 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.6 2013/01/14 09:37:27 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -181,11 +181,35 @@
 					<ti><c>virtual/python-argparse</c></ti>
 					<ti>
 						Provides the <c>argparse</c> module (built-in since
-						python2.7).
+						python2.7 and python3.2).
 					</ti>
 					<ti>
-						Packages which do not support Python 2.5 nor 2.6 do not need
-						to depend on <c>argparse</c> at all (it is built-in).
+						Packages which do not support Python 2.5, 2.6 nor 3.1 do
+						not need to depend on <c>argparse</c> at all (it is
+						built-in).
+					</ti>
+				</tr>
+
+				<tr>
+					<ti><c>virtual/python-unittest2</c></ti>
+					<ti>
+						Provides the <c>unittest2</c> module <e>only</e> for Python
+						2.5, 2.6 and 3.1.
+					</ti>
+					<ti>
+						Packages which use <c>unittest2</c> in more Python versions
+						need to depend on <c>dev-python/unittest2</c> instead.
+					</ti>
+				</tr>
+
+				<tr>
+					<ti><c>virtual/pyparsing</c></ti>
+					<ti>
+						Provides the <c>pyparsing</c> module both for Python 2
+						and for Python 3.
+					</ti>
+					<ti>
+						None.
 					</ti>
 				</tr>
 			</table>





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2013-01-03 15:23 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-03 15:23 UTC (permalink / raw
  To: gentoo-commits

mgorny      13/01/03 15:23:33

  Modified:             policy-guide.xml
  Log:
  Add sections on tests and restricting stuff.

Revision  Changes    Path
1.5                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.5&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.5&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.4&r2=1.5

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- policy-guide.xml	2 Jan 2013 19:54:33 -0000	1.4
+++ policy-guide.xml	3 Jan 2013 15:23:33 -0000	1.5
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.4 2013/01/02 19:54:33 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.5 2013/01/03 15:23:33 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -111,6 +111,12 @@
 			</p>
 
 			<p>
+				Before enabling the support for a Python implementation,
+				the developer should search Gentoo Bugzilla for any open bugs
+				regarding the package and implementation in question.
+			</p>
+
+			<p>
 				The list of enabled implementations in stable packages must
 				not be changed. Therefore, if a package is stable, it should
 				be revision-bumped, the new implementation added to the new,
@@ -185,6 +191,122 @@
 			</table>
 		</body>
 	</section>
+
+	<section id="cp_Dealing_with_test_suite_failures">
+		<title>Dealing with test suite failures</title>
+
+		<body>
+			<p>
+				Test suite failures are a common problem in Python package
+				maintenance. However, test suites are designed to provide
+				the first sign of problems with a given package,
+				or an implementation-package combo and therefore must not
+				be disregarded.
+			</p>
+
+			<p>
+				Each test failure should be thoroughly analyzed. A test failure
+				can be a symptom of:
+			</p>
+
+			<ol>
+				<li>
+					an error in the package code or its incompatibility
+					with a given Python implementation;
+				</li>
+
+				<li>
+					an error in the test suite or its incompatibility
+					with a given Python implementation;
+				</li>
+
+				<li>
+					an error in the ebuild.
+				</li>
+			</ol>
+
+			<p>
+				In the former two cases, the issue need be reported upstream.
+				Unless a fix (patch) is provided by the ebuild, a matching bug
+				report in Gentoo Bugzilla need be filed as well.
+			</p>
+
+			<p>
+				If the issue is specific to a Python implementation
+				and is a result of incompatible package code, then that
+				implementation should be dropped from <c>PYTHON_COMPAT</c>.
+				If the origin of the issue is unknown, the same course of action
+				is acceptable.
+			</p>
+
+			<p>
+				If dropping would affect a major Python implementation
+				or cause major dependency issues and an older package version
+				does not exhibit the issue, the new version should be masked.
+				If there is no other useful version of the package available,
+				the implementation may be preserved.
+			</p>
+
+			<p>
+				Skipping or restricting the tests conditionally
+				upon a given Python implementation is unacceptable. It
+				is acceptable for a package to fail tests but it is not
+				to pretend that there are no issues.
+			</p>
+		</body>
+	</section>
+
+	<section id="cp_Adding_patches_restrictions_and_work_arounds">
+		<title>Adding patches, restrictions and work-arounds</title>
+
+		<body>
+			<p>
+				Whenever there is a need to fix a bug affecting a package
+				through introducing changes in the installed Python code, please
+				remember to open a bug upstream and submit the patch there.
+				If the issue is not urgent, it is preferable to await upstream
+				acceptance of the patch and backport the change performed
+				by upstream whenever appropriate.
+			</p>
+
+			<p>
+				It is generally preferred to use patch files rather than sed
+				statements. If an ebuild uses sed statements, those statements
+				need be reviewed on each version bump and removed when no longer
+				necessary.
+			</p>
+
+			<p>
+				Whenever performing any of the following:
+			</p>
+
+			<ul>
+				<li>
+					adding patches or sed statements to an ebuild,
+				</li>
+
+				<li>
+					restricting tests in an ebuild (<c>RESTRICT=test</c>),
+				</li>
+
+				<li>
+					removing (or restraining from adding) Python implementations
+					from <c>PYTHON_COMPAT</c>,
+				</li>
+
+				<li>
+					disabling out-of-source builds or parallel builds,
+				</li>
+			</ul>
+
+			<p>
+				an appropriate comment should be added to the ebuild,
+				documenting the change and the reasoning for it. It will help
+				other maintainers avoid mistakes and yield better testing
+				of the ebuild when next bumped.
+			</p>
+		</body>
+	</section>
 </chapter>
 
 <!-- vim:se tw=72 ts=2 sts=2 sw=2 :-->





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2013-01-02 19:54 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-02 19:54 UTC (permalink / raw
  To: gentoo-commits

mgorny      13/01/02 19:54:33

  Modified:             policy-guide.xml
  Log:
  Update PyPy support status.

Revision  Changes    Path
1.4                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.4&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.4&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.3&r2=1.4

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- policy-guide.xml	26 Dec 2012 14:59:11 -0000	1.3
+++ policy-guide.xml	2 Jan 2013 19:54:33 -0000	1.4
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.3 2012/12/26 14:59:11 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.4 2013/01/02 19:54:33 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -81,8 +81,9 @@
 				<tr><ti>CPython 3.1</ti><ti>supported</ti></tr>
 				<tr><ti>CPython 3.2</ti><ti>current stable</ti></tr>
 				<tr><ti>CPython 3.3</ti><ti>supported</ti></tr>
-				<tr><ti>PyPy 1.8</ti><ti>unsupported</ti></tr>
+				<tr><ti>PyPy 1.8</ti><ti>deprecated</ti></tr>
 				<tr><ti>PyPy 1.9</ti><ti>supported</ti></tr>
+				<tr><ti>PyPy 2.0</ti><ti>supported</ti></tr>
 				<tr><ti>Jython 2.5</ti><ti>deprecated</ti></tr>
 			</table>
 





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2012-12-26 14:59 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2012-12-26 14:59 UTC (permalink / raw
  To: gentoo-commits

mgorny      12/12/26 14:59:11

  Modified:             policy-guide.xml
  Log:
  Add a section on virtuals.

Revision  Changes    Path
1.3                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.3&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.3&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.2&r2=1.3

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- policy-guide.xml	21 Dec 2012 21:35:38 -0000	1.2
+++ policy-guide.xml	26 Dec 2012 14:59:11 -0000	1.3
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.2 2012/12/21 21:35:38 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.3 2012/12/26 14:59:11 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -23,8 +23,8 @@
 <!-- See http://creativecommons.org/licenses/by-sa/3.0/ -->
 <license version="3.0"/>
 
-<version>2</version>
-<date>2012-12-21</date>
+<version>3</version>
+<date>2012-12-26</date>
 
 <chapter id="Common_policies">
 	<title>Common policies</title>
@@ -42,7 +42,7 @@
 				<li>
 					Current stable implementations — the implementations which
 					are enabled by the default value of <c>PYTHON_TARGETS</c>. All
-					Python packages are supposed to support at least one of them.
+					Python packages are supposed to support at least one.
 				</li>
 
 				<li>
@@ -54,10 +54,10 @@
 
 				<li>
 					Unsupported implementations — the implementations which
-					are still in the tree but maintaining them consumes too much
-					resources. Developers are not expected to patch packages
-					to support them, and can drop them from <c>PYTHON_COMPAT</c>
-					at will.
+					are still in the tree but their maintenance is undesirably
+					resource consuming. Developers are not expected to support
+					those packages by patching, and can drop them
+					from <c>PYTHON_COMPAT</c> at will.
 				</li>
 
 				<li>
@@ -95,7 +95,7 @@
 		<body>
 			<p>
 				The <c>PYTHON_COMPAT</c> variable should be treated
-				with respect similar to what is required for <c>KEYWORDS</c>.
+				with respect similar to that given for <c>KEYWORDS</c>.
 				No implementation should ever be listed without prior testing.
 			</p>
 
@@ -110,7 +110,7 @@
 			</p>
 
 			<p>
-				The list of enabled implementation in stable packages must
+				The list of enabled implementations in stable packages must
 				not be changed. Therefore, if a package is stable, it should
 				be revision-bumped, the new implementation added to the new,
 				non-stable ebuild.
@@ -133,6 +133,57 @@
 			</p>
 		</body>
 	</section>
+
+	<section id="cp_Use_of_virtual_packages">
+		<title>Use of virtual packages</title>
+
+		<body>
+			<p>
+				The virtual packages are used mostly to provide a consistent way
+				of depending on Python packages. They serve as a replacement
+				for dependencies which would normally need to be made conditional
+				upon a particular set of Python implementations.
+			</p>
+
+			<pre caption='Example benefit of virtual packages'>
+<comment># Non-virtual solution</comment>
+<var>RDEPEND</var>="
+	<ident>python_targets_python2_5?</ident> ( <const>dev-python/argparse[python_targets_python2_5]</const> )
+	<ident>python_targets_python2_6?</ident> ( <const>dev-python/argparse[python_targets_python2_6]</const> )
+	<ident>python_targets_jython2_5?</ident> ( <const>dev-python/argparse[python_targets_jython2_5]</const> )"
+
+<comment># Virtual solution</comment>
+<var>RDEPEND</var>="<const>virtual/python-argparse[${PYTHON_USEDEP}]</const>"</pre>
+
+			<p>
+				The Python ebuilds should use virtuals whenever they need
+				to express a dependency which varies through enabled Python
+				implementations. The following table lists all virtual packages
+				available to date and cases when they can be replaced
+				with direct dependencies:
+			</p>
+
+			<table>
+				<tr>
+					<th>Virtual</th>
+					<th>Description</th>
+					<th>Alternatives</th>
+				</tr>
+
+				<tr>
+					<ti><c>virtual/python-argparse</c></ti>
+					<ti>
+						Provides the <c>argparse</c> module (built-in since
+						python2.7).
+					</ti>
+					<ti>
+						Packages which do not support Python 2.5 nor 2.6 do not need
+						to depend on <c>argparse</c> at all (it is built-in).
+					</ti>
+				</tr>
+			</table>
+		</body>
+	</section>
 </chapter>
 
 <!-- vim:se tw=72 ts=2 sts=2 sw=2 :-->





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2012-12-21 21:35 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2012-12-21 21:35 UTC (permalink / raw
  To: gentoo-commits

mgorny      12/12/21 21:35:39

  Modified:             policy-guide.xml
  Log:
  Re-structure implementation types.

Revision  Changes    Path
1.2                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.2&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.2&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?r1=1.1&r2=1.2

Index: policy-guide.xml
===================================================================
RCS file: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- policy-guide.xml	20 Dec 2012 19:31:23 -0000	1.1
+++ policy-guide.xml	21 Dec 2012 21:35:38 -0000	1.2
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
 
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.1 2012/12/20 19:31:23 mgorny Exp $ -->
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.2 2012/12/21 21:35:38 mgorny Exp $ -->
 
 <guide lang="en">
 <title>python-r1 Policy Guide</title>
@@ -23,8 +23,8 @@
 <!-- See http://creativecommons.org/licenses/by-sa/3.0/ -->
 <license version="3.0"/>
 
-<version>1</version>
-<date>2012-12-20</date>
+<version>2</version>
+<date>2012-12-21</date>
 
 <chapter id="Common_policies">
 	<title>Common policies</title>
@@ -35,23 +35,36 @@
 		<body>
 			<p>
 				The Python implementations supported by the python-r1 suite can
-				be divided into three groups:
+				be divided into four groups:
 			</p>
 
 			<ol>
 				<li>
-					current stable implementations — the implementations which
-					are enabled by the default value of <c>PYTHON_TARGETS</c>,
+					Current stable implementations — the implementations which
+					are enabled by the default value of <c>PYTHON_TARGETS</c>. All
+					Python packages are supposed to support at least one of them.
 				</li>
 
 				<li>
-					supported implementations — the new versions being tested
-					as well as the old ones being still supported,
+					Supported implementations — the new versions being tested
+					as well as the old ones still being supported. Developers
+					are encouraged to ensure support for those implementations
+					and apply the necessary patches.
 				</li>
 
 				<li>
-					unsupported implementations — the implementations which
-					are being phased out.
+					Unsupported implementations — the implementations which
+					are still in the tree but maintaining them consumes too much
+					resources. Developers are not expected to patch packages
+					to support them, and can drop them from <c>PYTHON_COMPAT</c>
+					at will.
+				</li>
+
+				<li>
+					Deprecated implementations — the implementations being phased
+					out. Developers should not add those implementations
+					to <c>PYTHON_COMPAT</c> without prior request from user
+					and discussion with the Python team.
 				</li>
 			</ol>
 
@@ -62,15 +75,15 @@
 
 			<table>
 				<tr><th>Implementation</th><th>State</th></tr>
-				<tr><ti>CPython 2.5</ti><ti>supported</ti></tr>
+				<tr><ti>CPython 2.5</ti><ti>unsupported</ti></tr>
 				<tr><ti>CPython 2.6</ti><ti>supported</ti></tr>
 				<tr><ti>CPython 2.7</ti><ti>current stable</ti></tr>
 				<tr><ti>CPython 3.1</ti><ti>supported</ti></tr>
 				<tr><ti>CPython 3.2</ti><ti>current stable</ti></tr>
 				<tr><ti>CPython 3.3</ti><ti>supported</ti></tr>
-				<tr><ti>PyPy 1.8</ti><ti>supported</ti></tr>
+				<tr><ti>PyPy 1.8</ti><ti>unsupported</ti></tr>
 				<tr><ti>PyPy 1.9</ti><ti>supported</ti></tr>
-				<tr><ti>Jython 2.5</ti><ti>unsupported</ti></tr>
+				<tr><ti>Jython 2.5</ti><ti>deprecated</ti></tr>
 			</table>
 
 		</body>
@@ -114,10 +127,9 @@
 			<p>
 				When a new Python package is being added to a repository, it
 				must be tested with at least both current stable
-				implementations.  The developers are encouraged to test more
-				of the supported implementations. The unsupported
-				implementations must not be added without prior permission
-				from the Python team.
+				implementations. Developers are encouraged to test additional
+				Python implementations. The deprecated implementations must
+				not be added without prior permission from the Python team.
 			</p>
 		</body>
 	</section>





^ permalink raw reply	[flat|nested] 11+ messages in thread
* [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml
@ 2012-12-20 19:31 Michal Gorny (mgorny)
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Gorny (mgorny) @ 2012-12-20 19:31 UTC (permalink / raw
  To: gentoo-commits

mgorny      12/12/20 19:31:23

  Added:                policy-guide.xml
  Log:
  Introduce the Policy Guide.

Revision  Changes    Path
1.1                  xml/htdocs/proj/en/Python/python-r1/policy-guide.xml

file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml?rev=1.1&content-type=text/plain

Index: policy-guide.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">

<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/Python/python-r1/policy-guide.xml,v 1.1 2012/12/20 19:31:23 mgorny Exp $ -->

<guide lang="en">
<title>python-r1 Policy Guide</title>

<author title="Author">
	<mail link="mgorny@gentoo.org">Michał Górny</mail>
</author>

<author title="Editor">
	<mail link="idella4@gentoo.org">Ian Delaney</mail>
</author>

<abstract>
	This guide lists the rules and policies for maintaining Python
	packages.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/3.0/ -->
<license version="3.0"/>

<version>1</version>
<date>2012-12-20</date>

<chapter id="Common_policies">
	<title>Common policies</title>

	<section id="cp_State_of_Python_implementation_support_in_Gentoo">
		<title>State of Python implementation support in Gentoo</title>

		<body>
			<p>
				The Python implementations supported by the python-r1 suite can
				be divided into three groups:
			</p>

			<ol>
				<li>
					current stable implementations — the implementations which
					are enabled by the default value of <c>PYTHON_TARGETS</c>,
				</li>

				<li>
					supported implementations — the new versions being tested
					as well as the old ones being still supported,
				</li>

				<li>
					unsupported implementations — the implementations which
					are being phased out.
				</li>
			</ol>

			<p>
				The state of Python implementations is listed in the following
				table:
			</p>

			<table>
				<tr><th>Implementation</th><th>State</th></tr>
				<tr><ti>CPython 2.5</ti><ti>supported</ti></tr>
				<tr><ti>CPython 2.6</ti><ti>supported</ti></tr>
				<tr><ti>CPython 2.7</ti><ti>current stable</ti></tr>
				<tr><ti>CPython 3.1</ti><ti>supported</ti></tr>
				<tr><ti>CPython 3.2</ti><ti>current stable</ti></tr>
				<tr><ti>CPython 3.3</ti><ti>supported</ti></tr>
				<tr><ti>PyPy 1.8</ti><ti>supported</ti></tr>
				<tr><ti>PyPy 1.9</ti><ti>supported</ti></tr>
				<tr><ti>Jython 2.5</ti><ti>unsupported</ti></tr>
			</table>

		</body>
	</section>

	<section id="cp_Adding_implementations_to_PYTHON_COMPAT">
		<title>Adding implementations to PYTHON_COMPAT</title>

		<body>
			<p>
				The <c>PYTHON_COMPAT</c> variable should be treated
				with respect similar to what is required for <c>KEYWORDS</c>.
				No implementation should ever be listed without prior testing.
			</p>

			<p>
				Any developer is allowed to enable additional implementations
				in an ebuild of his own accord or upon a user's request.
				However, the package should be tested with an adequate level
				of scrutiny on at least one of the keyworded architectures.
				The testing may involve running a test suite, testing
				the package's Python scripts, or a basic subset of package's
				API.
			</p>

			<p>
				The list of enabled implementation in stable packages must
				not be changed. Therefore, if a package is stable, it should
				be revision-bumped, the new implementation added to the new,
				non-stable ebuild.
			</p>

			<p>
				When a Python package is being submitted for stabilization, some
				of the supported implementations may lack stable keywords.
				In that case, the ebuild should be revision-bumped
				and the conflicting Python implementations removed
				from the ebuild being stabilized.
			</p>

			<p>
				When a new Python package is being added to a repository, it
				must be tested with at least both current stable
				implementations.  The developers are encouraged to test more
				of the supported implementations. The unsupported
				implementations must not be added without prior permission
				from the Python team.
			</p>
		</body>
	</section>
</chapter>

<!-- vim:se tw=72 ts=2 sts=2 sw=2 :-->
</guide>





^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-08-08  7:27 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-30 11:30 [gentoo-commits] gentoo commit in xml/htdocs/proj/en/Python/python-r1: policy-guide.xml Michal Gorny (mgorny)
  -- strict thread matches above, loose matches on Subject: below --
2013-08-08  7:27 Michal Gorny (mgorny)
2013-02-17  0:24 Michal Gorny (mgorny)
2013-01-22 17:45 Michal Gorny (mgorny)
2013-01-14 14:07 Michal Gorny (mgorny)
2013-01-14  9:37 Michal Gorny (mgorny)
2013-01-03 15:23 Michal Gorny (mgorny)
2013-01-02 19:54 Michal Gorny (mgorny)
2012-12-26 14:59 Michal Gorny (mgorny)
2012-12-21 21:35 Michal Gorny (mgorny)
2012-12-20 19:31 Michal Gorny (mgorny)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox