Convert to rst. Add section on Windows lifecycle.
This commit is contained in:
parent
d0e7dc8632
commit
e2a9d17632
288
pep-0011.txt
288
pep-0011.txt
|
@ -5,189 +5,225 @@ Last-Modified: $Date$
|
|||
Author: martin@v.loewis.de (Martin von Löwis)
|
||||
Status: Active
|
||||
Type: Process
|
||||
Content-Type: text/x-rst
|
||||
Created: 07-Jul-2002
|
||||
Post-History: 18-Aug-2007
|
||||
|
||||
|
||||
Abstract
|
||||
--------
|
||||
|
||||
This PEP documents operating systems (platforms) which are not
|
||||
supported in Python anymore. For some of these systems,
|
||||
supporting code might be still part of Python, but will be removed
|
||||
in a future release - unless somebody steps forward as a volunteer
|
||||
to maintain this code.
|
||||
This PEP documents operating systems (platforms) which are not
|
||||
supported in Python anymore. For some of these systems,
|
||||
supporting code might be still part of Python, but will be removed
|
||||
in a future release - unless somebody steps forward as a volunteer
|
||||
to maintain this code.
|
||||
|
||||
|
||||
Rationale
|
||||
---------
|
||||
|
||||
Over time, the Python source code has collected various pieces of
|
||||
platform-specific code, which, at some point in time, was
|
||||
considered necessary to use Python on a specific platform.
|
||||
Without access to this platform, it is not possible to determine
|
||||
whether this code is still needed. As a result, this code may
|
||||
either break during the Python evolution, or it may become
|
||||
unnecessary as the platforms evolve as well.
|
||||
Over time, the Python source code has collected various pieces of
|
||||
platform-specific code, which, at some point in time, was
|
||||
considered necessary to use Python on a specific platform.
|
||||
Without access to this platform, it is not possible to determine
|
||||
whether this code is still needed. As a result, this code may
|
||||
either break during the Python evolution, or it may become
|
||||
unnecessary as the platforms evolve as well.
|
||||
|
||||
The growing amount of these fragments poses the risk of
|
||||
unmaintainability: without having experts for a large number of
|
||||
platforms, it is not possible to determine whether a certain
|
||||
change to the Python source code will work on all supported
|
||||
platforms.
|
||||
The growing amount of these fragments poses the risk of
|
||||
unmaintainability: without having experts for a large number of
|
||||
platforms, it is not possible to determine whether a certain
|
||||
change to the Python source code will work on all supported
|
||||
platforms.
|
||||
|
||||
To reduce this risk, this PEP proposes a procedure to remove code
|
||||
for platforms with no Python users.
|
||||
To reduce this risk, this PEP proposes a procedure to remove code
|
||||
for platforms with no Python users.
|
||||
|
||||
|
||||
Unsupporting platforms
|
||||
----------------------
|
||||
|
||||
If a certain platform that currently has special code in it is
|
||||
deemed to be without Python users, a note must be posted in this
|
||||
PEP that this platform is no longer actively supported. This
|
||||
note must include:
|
||||
If a certain platform that currently has special code in it is
|
||||
deemed to be without Python users, a note must be posted in this
|
||||
PEP that this platform is no longer actively supported. This
|
||||
note must include:
|
||||
|
||||
- the name of the system
|
||||
- the first release number that does not support this platform
|
||||
anymore, and
|
||||
- the first release where the historical support code is actively
|
||||
removed
|
||||
- the name of the system
|
||||
- the first release number that does not support this platform
|
||||
anymore, and
|
||||
- the first release where the historical support code is actively
|
||||
removed
|
||||
|
||||
In some cases, it is not possible to identify the specific list of
|
||||
systems for which some code is used (e.g. when autoconf tests for
|
||||
absence of some feature which is considered present on all
|
||||
supported systems). In this case, the name will give the precise
|
||||
condition (usually a preprocessor symbol) that will become
|
||||
unsupported.
|
||||
In some cases, it is not possible to identify the specific list of
|
||||
systems for which some code is used (e.g. when autoconf tests for
|
||||
absence of some feature which is considered present on all
|
||||
supported systems). In this case, the name will give the precise
|
||||
condition (usually a preprocessor symbol) that will become
|
||||
unsupported.
|
||||
|
||||
At the same time, the Python source code must be changed to
|
||||
produce a build-time error if somebody tries to install Python on
|
||||
this platform. On platforms using autoconf, configure must fail.
|
||||
This gives potential users of the platform a chance to step
|
||||
forward and offer maintenance.
|
||||
At the same time, the Python source code must be changed to
|
||||
produce a build-time error if somebody tries to install Python on
|
||||
this platform. On platforms using autoconf, configure must fail.
|
||||
This gives potential users of the platform a chance to step
|
||||
forward and offer maintenance.
|
||||
|
||||
|
||||
Resupporting platforms
|
||||
----------------------
|
||||
|
||||
If a user of a platform wants to see this platform supported
|
||||
again, he may volunteer to maintain the platform support. Such an
|
||||
offer must be recorded in the PEP, and the user can submit patches
|
||||
to remove the build-time errors, and perform any other maintenance
|
||||
work for the platform.
|
||||
If a user of a platform wants to see this platform supported
|
||||
again, he may volunteer to maintain the platform support. Such an
|
||||
offer must be recorded in the PEP, and the user can submit patches
|
||||
to remove the build-time errors, and perform any other maintenance
|
||||
work for the platform.
|
||||
|
||||
Microsoft Windows
|
||||
-----------------
|
||||
|
||||
Microsoft has established a policy called product support lifecycle
|
||||
[1]_. Each product's lifecycle has a mainstream support phase, where
|
||||
the product is generally commercially available, and an extended
|
||||
support phase, where paid support is still available, and certain bug
|
||||
fixes are released (in particular security fixes).
|
||||
|
||||
Python's Windows support now follows this lifecycle. A new feature
|
||||
release X.Y.0 will support all Windows releases whose extended support
|
||||
phase is not yet expired. Subsequent bug fix releases will support
|
||||
the same Windows releases as the original feature release (even if
|
||||
the extended support phase has ended).
|
||||
|
||||
Because of this policy, no further Windows releases need to be listed
|
||||
in this PEP.
|
||||
|
||||
Each feature release is built by a specific version of Microsoft
|
||||
Visual Studio. That version should have mainstream support when the
|
||||
release is made. Developers of extension modules will generally need
|
||||
to use the same Visual Studio release; they are concerned both with
|
||||
the availability of the versions they need to use, and with keeping
|
||||
the zoo of versions small. The Python source tree will keep
|
||||
unmaintained build files for older Visual Studio releases, for which
|
||||
patches will be accepted. Such build files will be removed from the
|
||||
source tree 3 years after the extended support for the compiler has
|
||||
ended (but continue to remain available in revision control).
|
||||
|
||||
|
||||
No-longer-supported platforms
|
||||
-----------------------------
|
||||
|
||||
Name: MS-DOS, MS-Windows 3.x
|
||||
Unsupported in: Python 2.0
|
||||
Code removed in: Python 2.1
|
||||
* | Name: MS-DOS, MS-Windows 3.x
|
||||
| Unsupported in: Python 2.0
|
||||
| Code removed in: Python 2.1
|
||||
|
||||
Name: SunOS 4
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: SunOS 4
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: DYNIX
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: DYNIX
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: dgux
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: dgux
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: Minix
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: Minix
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: Irix 4 and --with-sgi-dl
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: Irix 4 and --with-sgi-dl
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: Linux 1
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: Linux 1
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: Systems defining __d6_pthread_create (configure.in)
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: Systems defining __d6_pthread_create (configure.in)
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: Systems defining PY_PTHREAD_D4, PY_PTHREAD_D6,
|
||||
* | Name: Systems defining PY_PTHREAD_D4, PY_PTHREAD_D6,
|
||||
or PY_PTHREAD_D7 in thread_pthread.h
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: Systems using --with-dl-dld
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: Systems using --with-dl-dld
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: Systems using --without-universal-newlines,
|
||||
Unsupported in: Python 2.3
|
||||
Code removed in: Python 2.4
|
||||
* | Name: Systems using --without-universal-newlines,
|
||||
| Unsupported in: Python 2.3
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: MacOS 9
|
||||
Unsupported in: Python 2.4
|
||||
Code removed in: Python 2.4
|
||||
* | Name: MacOS 9
|
||||
| Unsupported in: Python 2.4
|
||||
| Code removed in: Python 2.4
|
||||
|
||||
Name: Systems using --with-wctype-functions
|
||||
Unsupported in: Python 2.6
|
||||
Code removed in: Python 2.6
|
||||
* | Name: Systems using --with-wctype-functions
|
||||
| Unsupported in: Python 2.6
|
||||
| Code removed in: Python 2.6
|
||||
|
||||
Name: Win9x, WinME, NT4
|
||||
Unsupported in: Python 2.6 (warning in 2.5 installer)
|
||||
Code removed in: Python 2.6
|
||||
* | Name: Win9x, WinME, NT4
|
||||
| Unsupported in: Python 2.6 (warning in 2.5 installer)
|
||||
| Code removed in: Python 2.6
|
||||
|
||||
Name: AtheOS
|
||||
Unsupported in: Python 2.6 (with "AtheOS" changed to "Syllable")
|
||||
Build broken in: Python 2.7 (edit configure to reenable)
|
||||
Code removed in: Python 3.0
|
||||
Details: http://www.syllable.org/discussion.php?id=2320
|
||||
* | Name: AtheOS
|
||||
| Unsupported in: Python 2.6 (with "AtheOS" changed to "Syllable")
|
||||
| Build broken in: Python 2.7 (edit configure to reenable)
|
||||
| Code removed in: Python 3.0
|
||||
| Details: http://www.syllable.org/discussion.php?id=2320
|
||||
|
||||
Name: BeOS
|
||||
Unsupported in: Python 2.6 (warning in configure)
|
||||
Build broken in: Python 2.7 (edit configure to reenable)
|
||||
Code removed in: Python 3.0
|
||||
* | Name: BeOS
|
||||
| Unsupported in: Python 2.6 (warning in configure)
|
||||
| Build broken in: Python 2.7 (edit configure to reenable)
|
||||
| Code removed in: Python 3.0
|
||||
|
||||
Name: Systems using Mach C Threads
|
||||
Unsupported in: Python 3.2
|
||||
Code removed in: Python 3.3
|
||||
* | Name: Systems using Mach C Threads
|
||||
| Unsupported in: Python 3.2
|
||||
| Code removed in: Python 3.3
|
||||
|
||||
Name: SunOS lightweight processes (LWP)
|
||||
Unsupported in: Python 3.2
|
||||
Code removed in: Python 3.3
|
||||
* | Name: SunOS lightweight processes (LWP)
|
||||
| Unsupported in: Python 3.2
|
||||
| Code removed in: Python 3.3
|
||||
|
||||
Name: Systems using --with-pth (GNU pth threads)
|
||||
Unsupported in: Python 3.2
|
||||
Code removed in: Python 3.3
|
||||
* | Name: Systems using --with-pth (GNU pth threads)
|
||||
| Unsupported in: Python 3.2
|
||||
| Code removed in: Python 3.3
|
||||
|
||||
Name: Systems using Irix threads
|
||||
Unsupported in: Python 3.2
|
||||
Code removed in: Python 3.3
|
||||
* | Name: Systems using Irix threads
|
||||
| Unsupported in: Python 3.2
|
||||
| Code removed in: Python 3.3
|
||||
|
||||
Name: OSF* systems (issue 8606)
|
||||
Unsupported in: Python 3.2
|
||||
Code removed in: Python 3.3
|
||||
* | Name: OSF* systems (issue 8606)
|
||||
| Unsupported in: Python 3.2
|
||||
| Code removed in: Python 3.3
|
||||
|
||||
Name: OS/2
|
||||
Unsupported in: Python 3.3
|
||||
Code removed in: Python 3.4
|
||||
* | Name: OS/2
|
||||
| Unsupported in: Python 3.3
|
||||
| Code removed in: Python 3.4
|
||||
|
||||
Name: VMS
|
||||
Unsupported in: Python 3.3
|
||||
Code removed in: Python 3.4
|
||||
* | Name: VMS
|
||||
| Unsupported in: Python 3.3
|
||||
| Code removed in: Python 3.4
|
||||
|
||||
Name: Windows 2000
|
||||
Unsupported in: Python 3.3
|
||||
Code removed in: Python 3.4
|
||||
* | Name: Windows 2000
|
||||
| Unsupported in: Python 3.3
|
||||
| Code removed in: Python 3.4
|
||||
|
||||
Name: Windows systems where COMSPEC points to command.com
|
||||
Unsupported in: Python 3.3
|
||||
Code removed in: Python 3.4
|
||||
* | Name: Windows systems where COMSPEC points to command.com
|
||||
| Unsupported in: Python 3.3
|
||||
| Code removed in: Python 3.4
|
||||
|
||||
Platform Maintainers
|
||||
References
|
||||
----------
|
||||
|
||||
Cygwin Jason Tishler (jason@tishler.net)
|
||||
More TBD.
|
||||
.. [1] http://support.microsoft.com/lifecycle/
|
||||
|
||||
Copyright
|
||||
---------
|
||||
|
||||
This document has been placed in the public domain.
|
||||
This document has been placed in the public domain.
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue