[Python-Dev] PEP 11: unsupported platforms
Martin v. Loewis
martin@v.loewis.de
13 Jul 2002 11:25:40 +0200
Following a recent discussion of the introduction of new platforms
(AtheOS in this case), I've written a PEP on removing support for
platforms that nobody is interested.
If you find that specific platforms should be moved to "unsupported"
status as well, please let me know. Likewise, if you think that some
of the platforms I recommend to unsupport should see continued
support, let me know as well. In this case, it would be good if you
could name a user of Python on this platform.
Regards,
Martin
PEP: 11
Title: Unsupported Platforms
Version: $Revision: 1.1 $
Last-Modified: $Date: 2002/07/12 22:31:47 $
Author: martin@v.loewis.de (Martin v. L=F6wis)
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 not 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.
Unsupported platforms
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: 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
Copyright
This document has been placed in the public domain.