On Thursday, July 07, 2011 01:30:48 AM Scott Kitterman wrote: > I've just uploaded 2.7.2-2 to experimental. It's mostly about dh_python2 > improvements from POX, but also has some minor updates to Python Policy > that I think improve the currency of it a bit. Please review the changes > and I'll fix them up if I got it wrong. Diff of the text version > attached. > > Assuming the dh_python2 changes work out and and we have some consensus on > changes in policy, I'll backport this update to Unstable, probably next > week. > > Scott K
I tried again on policy changes based on the feedback from the last set. Diff attached. Commments please. Scott K
--- python-policy.txt.old 2011-07-27 18:16:06.747797199 -0400 +++ python-policy.txt.new 2011-07-27 18:14:55.411797234 -0400 @@ -16,7 +16,7 @@ Scott Kitterman <sc...@kitterman.com> - version 0.9.4.0 + version 0.9.4.1 ------------------------------------------------------------------------------- @@ -94,11 +94,11 @@ A. Build Dependencies B. Packaging Tools - B.1. dh_python2 and dh_python3 - B.2. distutils - B.3. python-support - B.4. python-central - B.5. CDBS + B.1. distutils + B.2. python-support (deprecated) + B.3. python-central (deprecated) + B.4. CDBS + B.5. dh_python2 and dh_python3 C. Upgrade Procedure @@ -326,8 +326,12 @@ The goal of these policies is to reduce the work necessary for Python transitions. Python modules are internally very dependent on a - specific Python version. These policies encourage automated - dependency generation and loose version bounds whenever possible. + specific Python version. However, we want to automate recompiling + modules when possible, either during the upgrade itself + (re-byte-compiling pyc and pyo files) or shortly thereafter with + automated rebuilds (to handle C extensions). These policies encourage + automated dependency generation and loose version bounds whenever + possible. 2.1. Types of Python Modules @@ -342,12 +346,14 @@ symbols might as well be resolved by `/usr/bin/python<X>.<Y>' which is not linked to libpython. - Python packages are either files or directories containing at least a - `__init__.py', other modules, extensions and packages (A package in - the Python sense is unrelated to a Debian package). Python packages - must be packaged into the same directory (as done by upstream). - Splitting components of a package across directories changes the - import order and may confuse documentation tools and IDEs. + Python packages are a way of structuring Python’s module namespace + by using “dotted module names”. See Python's documentation + (http://docs.python.org/tutorial/modules.html#packages) for details on + how packages are defined in Python terms (A package in the Python + sense is unrelated to a Debian package). Python packages must be + packaged into the same directory (as done by upstream). Splitting + components of a package across directories changes the import order + and may confuse documentation tools and IDEs. There are two ways to distribute Python modules. Public modules are installed in a public directory as listed in Section 1.5, `Module @@ -623,18 +629,7 @@ documentation. -B.1. dh_python2 and dh_python3 ------------------------------- - - dh_python2 and dh_python3 are `debhelper' extensions provided as part - of Python and Python3 to make it easier to package Python modules and - extensions. They calculate Python dependencies, add maintainer - scripts to byte compile files, etc. Their use is not mandatory, but - they are recommended by the Python maintainers. See man dh_python2 or - man dh_python3 for details. - - -B.2. distutils +B.1. distutils -------------- The standard Python distutils module has been modified in Debian to @@ -663,10 +658,10 @@ directory. -B.3. python-support -------------------- +B.2. python-support (deprecated) +-------------------------------- - python-support is deprecated. It was system intended to provide a + python-support is deprecated. It is a system intended to provide a simple way to byte-compile pure Python modules and manage dependencies. It integrates with `debhelper', manages byte-compilation, private modules, will properly use the @@ -676,10 +671,10 @@ in /usr/share/doc/python-support for details. -B.4. python-central -------------------- +B.3. python-central (deprecated) +-------------------------------- - python-central is deprecated. It provided another way to manage + python-central is deprecated. It provides another way to manage Python modules. It integrates with `debhelper', manages byte-compilation, private modules, will properly use the /usr/share/pyshared directory, integrates with runtime update hooks, @@ -688,13 +683,24 @@ in the pycentral(1) and dh_pycentral(1) man pages. -B.5. CDBS +B.4. CDBS --------- The CDBS python-distutils.mk class helps packaging of setup.py based Python packages. +B.5. dh_python2 and dh_python3 +------------------------------ + + dh_python2 and dh_python3 are `debhelper' extensions provided as part + of Python and Python3 to make it easier to package Python modules and + extensions. They calculate Python dependencies, add maintainer + scripts to byte compile files, etc. Their use is not mandatory, but + they are recommended by the Python maintainers. See man dh_python2 or + man dh_python3 for details. + + ------------------------------------------------------------------------------- @@ -743,5 +749,5 @@ Scott Kitterman <sc...@kitterman.com> - version 0.9.4.0 + version 0.9.4.1