Re: New python-defaults upload to experimental
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 <scott@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 <scott@kitterman.com>
- version 0.9.4.0
+ version 0.9.4.1
Reply to: