125 lines
3.9 KiB
Plaintext
125 lines
3.9 KiB
Plaintext
PEP: 11
|
||
Title: Removing support for little used platforms
|
||
Version: $Revision$
|
||
Last-Modified: $Date$
|
||
Author: martin@v.loewis.de (Martin v. Löwis)
|
||
Status: Active
|
||
Type: Informational
|
||
Created: 07-Jul-2002
|
||
Post-History: 07-Jul-2002
|
||
|
||
|
||
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.
|
||
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
|
||
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:
|
||
|
||
- 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.
|
||
|
||
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.
|
||
|
||
|
||
No-longer-supported platforms
|
||
|
||
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: 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: Minix
|
||
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,
|
||
or PY_PTHREAD_D7 in thread_pthread.h
|
||
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
|
||
|
||
|
||
Copyright
|
||
|
||
This document has been placed in the public domain.
|
||
|
||
|
||
|
||
Local Variables:
|
||
mode: indented-text
|
||
indent-tabs-mode: nil
|
||
sentence-end-double-space: t
|
||
fill-column: 70
|
||
End:
|