Python 2.1 for Debian ===================== This is Python 2.1 packaged for Debian. This document contains information specific to the Debian packages of Python 2.1. Currently, it features those main topics: 1. Package setup for the Debian packages. 2. Release notes for the Debian packages. 3. Notes for developers using the Debian Python packages. 4. Patches applied for the Debian package. Release notes and documentation from the upstream package are installed in /usr/share/doc/python2.1/. There's a mailing list for discussion of issues related to Python on Debian systems: debian-python@lists.debian.org. The list is not intended for general Python problems, but as a forum for maintainers of Python-related packages and interested third parties. 1. Package setup for the Debian packages ======================================== Python is packaged in a way, - that more than one version of Python can be installed on the system: The default version of the interpreter can be called `python', other versions of the interpreter have to be called `python1.5', `python2.2', ... The default Debian Python version is the latest stable upstream release that can be integrated and tested in the distribution. For the default version, the core package is called `python', for other versions `python1.5', `python2.2', ... - that only a runtime environment depending on basic system libraries is in the python core package. Development files, documentation and Modules depending on other libraries are in their own package. These packages are called `python-XYZ' for the default version, for other Python versions `python1.5-XYZ', `python2.2-XYZ', ... The packaging consists of the following packages: Default Version | Versioned Package | Description -----------------+--------------------+---------------------------------- python | pythonX.Y | core package python-ssl | pythonX.Y-ssl | _socket module with SSL support python-dev | pythonX.Y-dev | development (and distutils) files python-doc | pythonX.Y-doc | documentation (generated from source) python-tk | pythonX.Y-tk | Tkinter module python-xmlbase | pythonX.Y-xmlbase | XML support found in the package python-gdbm | pythonX.Y-gdbm | gdbm module python-mpz | pythonX.Y-mpz | mpz module (Mult.-prec. arithmetic) python-examples | pythonX.Y-examples | examples and tools python-elisp | pythonX.Y-elisp | elisp mode (not needed for xemacs) idle-python | idle-pythonX.Y | integrated development environment 2. Release notes for the Debian packages ======================================== Results of the regression test: ------------------------------ The package does successfully run the regression tests for all included modules. Some packages are skipped since they are platform-dependent and can't be used with Linux. 3. Notes for developers using the Debian python packages ======================================================== See the draft of the Debian Python policy in /usr/share/doc/python. distutils can be found in the python2.1-dev package. Development files like the python library or Makefiles can be found in the python2.1-dev package in /usr/lib/python2.1/config. a) Locally installed Python add-ons /usr/local/lib/python2.1/site-packages/ /usr/local/lib/site-python/ (version-independent modules) b) Python add-ons packaged for Debian /usr/lib/python2.1/site-packages/ /usr/lib/site-python/ (version-independent modules) Note that no package must install files directly into /usr/lib/python2.1/ or /usr/local/lib/python2.1/. Only the site-packages directory is allowed for third-party extensions. Use of the new `package' scheme is strongly encouraged. The `ni' interface is obsolete in python 1.5. Header files for extensions go into /usr/include/python2.1/. Installing extensions for local use only: ---------------------------------------- Consider using distutils, because building packages with Python's Makefile.pre.in is not supported in Python-2.2 anymore. You find the distutils support in the python-dev and python2.1-dev packages. Most extensions use Python's Makefile.pre.in. Note that Makefile.pre.in by default will install files into /usr/lib/, not into /usr/local/lib/, which is not allowed for local extensions. You'll have to change the Makefile accordingly. Most times, "make prefix=/usr/local install" will work. Packaging python extensions for Debian: --------------------------------------- Maintainers of Python extension packages should read /usr/share/doc/python/python-policy.txt.gz 2002-01-08 Gregor Hoffleit Matthias Klose 4. Patches applied for the Debian package. ========================================== Patches applied in this version: deb-build: Debian's changes to the build procedure (Makefiles and configure.in) hurd: Patch for building on the Hurd deb-locations: adjust locations of directories to debian policy compile: compile.py: add an -q option for more quiet operation fixes: fix bug described in http://www.modpython.org/FAQ/faqw.py?req=all#2.3 cdrom: CDROM.py. Updated from CVS HEAD branch (2.3). ftplib: Send anonymous password when using anonftp. fcntl: Backport from 2.2: - Added all constants needed to use the functions defined in this module that are not defined elsewhere (the O_* symbols are available in the os module). No additonal modules are needed to use this now. - Add fcntl.h constants from glibc 2.2.4. socket-options: Backport from 2.2.1/2.3: Add TCP socket options from glibc 2.2.4 blt+tix: configure _tkinter with BLT and Tix support dlmodule: Always build the dl module. Failure in case of sizeof(int)!=sizeof(long)!=sizeof(void*) is delayed until dl.open is called. info-docs: Build info docs from the tex source pcre-security_CAN-2005-2491: lib-os-execvpe: SF patch 590294: os._execvpe security fix large-file-support: enable large file support for Linux.