Quote ${PORTAGE_ECLASS_LOCATIONS[@]}
[portage.git] / DEVELOPING
index 2c98ddba57785e3540d421241b03bbbded9986b9..5f15e1590a481ebf7f5548a449facc96270f5546 100644 (file)
@@ -5,6 +5,21 @@ sense, they are pretty basic and mostly apply to old code.  However for people
 who are looking at current code, they make take up bad habits that exist in the
 current codebase.
 
+Python Version
+--------------
+
+Python 2.6 is the minimum supported version, since it is the first version to
+support Python 3 syntax. All exception handling should use Python 3 'except'
+syntax, and the print function should be used instead of Python 2's print
+statement (from __future__ import print_function).
+
+Dependencies
+------------
+
+Python and Bash should be the only hard dependencies. Any other dependencies,
+including external Python modules that are not included with Python itself,
+must be optionally enabled by run-time detection.
+
 Tabs
 ----
 
@@ -36,7 +51,7 @@ wrapping is always clear (but you cannot convert spaces as easily as tabwidth).
 Comparisons
 -----------
 
-if foo == None
+if foo != None
 
 should be replaced with:
 
@@ -144,13 +159,4 @@ just COLOR.  However it means during introspection of the current namespace
 The NO example just imports a set of functions from the output module.  It is
 somewhat annoying because the import line needs to be modified when functions
 are needed and often unused functions are left in the import line until someone
-comes along with a linter to clean up (does not happen often).  The color is a
-bit clearer as
-
-  print red('blar')
-
-is shorter than:
-
-  print output.red('blar')
-
-Rationale: python -c 'import portage; dir(portage)' (circa 02/2008)
+comes along with a linter to clean up (does not happen often).