[Python-checkins] python/dist/src/PC/os2emx README.os2emx,1.7,1.8
aimacintyre at users.sourceforge.net
aimacintyre at users.sourceforge.net
Tue Dec 2 07:23:09 EST 2003
Update of /cvsroot/python/python/dist/src/PC/os2emx
In directory sc8-pr-cvs1:/tmp/cvs-serv3677
Modified Files:
README.os2emx
Log Message:
- add notes about os.link() emulation;
- various minor cleanups and updates.
Index: README.os2emx
===================================================================
RCS file: /cvsroot/python/python/dist/src/PC/os2emx/README.os2emx,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** README.os2emx 16 Jul 2003 13:31:11 -0000 1.7
--- README.os2emx 2 Dec 2003 12:23:07 -0000 1.8
***************
*** 1,3 ****
! This is a port of Python 2.3 to OS/2 using the EMX development tools
=========================================================================
--- 1,3 ----
! This is a port of Python 2.4 to OS/2 using the EMX development tools
=========================================================================
***************
*** 5,24 ****
-------------------------------------
! This release of the port incorporates the following changes from the
! October 24, 2002 release of the Python 2.2.2 port:
!
! - based on the Python v2.3 final release source.
! - now setting higher number of file handles (250).
! - defaults to building with PyMalloc enabled (Python 2.3 default).
! - the port is now maintained in the Python CVS repository.
! - most standard modules are now built into the core Python DLL.
!
! Python 2.3 incorporates several changes which have resolved the
! longstanding problems the EMX port has had with test_longexp.
!
! Python 2.3 introduces changes to the Berkeley DB support, as a result of
! the PyBSDDB3 module (for the Sleepycat DB 3.3.x/4.0.x/4.1.x library)
! being imported into Python's standard library - see "YOU HAVE BEEN WARNED"
! items 4 & 5 for more information.
--- 5,9 ----
-------------------------------------
! Another day, another version...
***************
*** 26,34 ****
--------------------------------------
! Please read the file README.Python-2.3 included in this package for
! information about Python 2.3. This file is the README file from the
! Python 2.3 source distribution available via http://www.python.org/
! and its mirrors. The file LICENCE.Python-2.3 is the text of the Licence
! from the Python 2.3 source distribution.
Note that the EMX package that this package depends on is released under
--- 11,19 ----
--------------------------------------
! Please read the file README.Python-2.4 included in this package for
! information about Python 2.4. This file is the README file from the
! Python 2.4 source distribution available via http://www.python.org/
! and its mirrors. The file LICENCE.Python-2.4 is the text of the Licence
! from the Python 2.4 source distribution.
Note that the EMX package that this package depends on is released under
***************
*** 62,66 ****
The best known would be that by Jeff Rush, most recently of version
1.5.2. Jeff used IBM's Visual Age C++ (v3) for his ports, and his
! patches have been included in the Python 2.3 source distribution.
Andy Zabolotny implemented a port of Python v1.5.2 using the EMX
--- 47,51 ----
The best known would be that by Jeff Rush, most recently of version
1.5.2. Jeff used IBM's Visual Age C++ (v3) for his ports, and his
! patches have been included in the Python 2.4 source distribution.
Andy Zabolotny implemented a port of Python v1.5.2 using the EMX
***************
*** 72,94 ****
of the "YOU HAVE BEEN WARNED" section below).
- Previous Python port releases by me:-
- - v2.0 on March 31, 2001;
- - v2.0 on April 25, 2001 (cleanup release + Stackless variant);
- - v2.1 on June 17, 2001;
- - v2.0 (Stackless re-release) on June 18, 2001.
- - v2.1.1 on August 5, 2001;
- - v2.1.1 on August 12, 2001 (cleanup release);
- - v2.1.1 (updated DLL) on August 14, 2001;
- - v2.2b2 on December 8, 2001 (not uploaded to archive sites);
- - v2.2c1 on December 16, 2001 (not uploaded to archive sites);
- - v2.2 on December 24, 2001;
- - v2.2.1c2 on March 31, 2002 (not uploaded to archive sites);
- - v2.2.1 on April 14, 2002;
- - v2.2.2 on October 24, 2002;
- - v2.3a2 on March 2, 2003 (not uploaded to archive sites);
- - v2.3b1 on April 27, 2003 (not uploaded to archive sites);
- - v2.2.3c1 on May 28, 2003 (not uploaded to archive sites);
- - v2.2.3 on June 1, 2003.
-
It is possible to have these earlier ports still usable after installing
this port - see the README.os2emx.multiple_versions file, contributed by
--- 57,60 ----
***************
*** 128,132 ****
"YOU HAVE BEEN WARNED" item 1).
! Python23.dll is created as a normal OMF DLL, with an OMF import
library and module definition file. There is also an a.out (.a) import
library to support linking the DLL to a.out executables. The DLL
--- 94,98 ----
"YOU HAVE BEEN WARNED" item 1).
! Python24.dll is created as a normal OMF DLL, with an OMF import
library and module definition file. There is also an a.out (.a) import
library to support linking the DLL to a.out executables. The DLL
***************
*** 149,153 ****
"YOU HAVE BEEN WARNED" item 10 for notes about the pwd and grp modules.
! Support for case sensitive module import semantics has been added to match
the Windows release. This can be deactivated by setting the PYTHONCASEOK
environment variable (the value doesn't matter) - see "YOU HAVE BEEN WARNED"
--- 115,119 ----
"YOU HAVE BEEN WARNED" item 10 for notes about the pwd and grp modules.
! This port supports case sensitive module import semantics, matching
the Windows release. This can be deactivated by setting the PYTHONCASEOK
environment variable (the value doesn't matter) - see "YOU HAVE BEEN WARNED"
***************
*** 163,168 ****
and GNU UFC (crypt).
! Expat is now included in the Python release sourceball, and is always
! built.
I have built these modules statically linked against the 3rd party
--- 129,134 ----
and GNU UFC (crypt).
! Expat is now included in the Python release sourceball, and the pyexpat
! module is always built.
I have built these modules statically linked against the 3rd party
***************
*** 184,188 ****
Upstream source patches:
! No updates to the Python 2.3 release have become available.
Eberhard Mattes' EMXFIX04 update to his EMX 0.9d tools suite includes
--- 150,154 ----
Upstream source patches:
! No updates to the Python 2.4 release have become available.
Eberhard Mattes' EMXFIX04 update to his EMX 0.9d tools suite includes
***************
*** 193,203 ****
The Python standard library lives in the Lib directory. All the standard
! library code included with the Python 2.3 source distribution is included
in the binary archive, with the exception of the dos-8x3 and tkinter
subdirectories which have been omitted to reduce the size of the binary
archive - the dos-8x3 components are unnecessary duplicates and Tkinter
is not supported by this port (yet). All the plat-* subdirectories in the
! source distribution have also been omitted, and a plat-os2emx directory
! included.
The Tools and Demo directories contain a collection of Python scripts.
--- 159,169 ----
The Python standard library lives in the Lib directory. All the standard
! library code included with the Python 2.4 source distribution is included
in the binary archive, with the exception of the dos-8x3 and tkinter
subdirectories which have been omitted to reduce the size of the binary
archive - the dos-8x3 components are unnecessary duplicates and Tkinter
is not supported by this port (yet). All the plat-* subdirectories in the
! source distribution have also been omitted, except for the plat-os2emx
! subdirectory.
The Tools and Demo directories contain a collection of Python scripts.
***************
*** 208,212 ****
All subdirectories omitted from the binary archive can be reconstituted
! from the Python 2.3 source distribution, if desired.
Support for building Python extensions:
--- 174,178 ----
All subdirectories omitted from the binary archive can be reconstituted
! from the Python 2.4 source distribution, if desired.
Support for building Python extensions:
***************
*** 226,231 ****
This port is packaged as follows:
! - python-2.3-os2emx-bin-03????.zip (binaries, library modules)
! - python-2.3-os2emx-src-03???? (patches+makefiles for non-Python code)
As all the Python specific patches for the port are now part of the
--- 192,197 ----
This port is packaged as follows:
! - python-2.4-os2emx-bin-03????.zip (binaries, library modules)
! - python-2.4-os2emx-src-03???? (patches+makefiles for non-Python code)
As all the Python specific patches for the port are now part of the
***************
*** 234,238 ****
the source archive.
! Documentation for the Python language, as well as the Python 2.3
source distibution, can be obtained from the Python website
(http://www.python.org/) or the Python project pages at Sourceforge
--- 200,204 ----
the source archive.
! Documentation for the Python language, as well as the Python 2.4
source distibution, can be obtained from the Python website
(http://www.python.org/) or the Python project pages at Sourceforge
***************
*** 249,253 ****
of the drive where you want Python to live.
! Add the Python directory (eg C:\Python23) to the PATH and LIBPATH
variables in CONFIG.SYS.
--- 215,219 ----
of the drive where you want Python to live.
! Add the Python directory (eg C:\Python24) to the PATH and LIBPATH
variables in CONFIG.SYS.
***************
*** 259,265 ****
directories.
I use:
! SET PYTHONHOME=F:/Python23
! SET PYTHONPATH=F:/Python23/Lib;F:/Python23/Lib/plat-os2emx;
! F:/Python23/Lib/lib-dynload;F:/Python23/Lib/site-packages
NOTE!: the PYTHONPATH setting above is linewrapped for this document - it
--- 225,231 ----
directories.
I use:
! SET PYTHONHOME=F:/Python24
! SET PYTHONPATH=F:/Python24/Lib;F:/Python24/Lib/plat-os2emx;
! F:/Python24/Lib/lib-dynload;F:/Python24/Lib/site-packages
NOTE!: the PYTHONPATH setting above is linewrapped for this document - it
***************
*** 274,278 ****
to the path of the Terminfo subdirectory below the Python home directory.
On my system this looks like:
! SET TERMINFO=F:/Python23/Terminfo
For the TERM environment variable, I would try one of the following:
--- 240,244 ----
to the path of the Terminfo subdirectory below the Python home directory.
On my system this looks like:
! SET TERMINFO=F:/Python24/Terminfo
For the TERM environment variable, I would try one of the following:
***************
*** 288,302 ****
batch file.
! You can execute the regression tests included with the Python 2.3 source
! distribution by changing to the Python 2.3 home directory and executing the
REGRTEST.CMD batch file. The following tests are known to fail at this
time:
- test_mhlib (I don't know of any port of MH to OS/2);
- - test_pwd (see "YOU HAVE BEEN WARNED" item 10);
- - test_grp (as per test_pwd);
- - test_strftime (see "YOU HAVE BEEN WARNED" item 15);
- test_strptime (see "YOU HAVE BEEN WARNED" item 22);
! - test_whichdb (see "YOU HAVE BEEN WARNED" item 5).
! - test_socketserver (fork() related, see "YOU HAVE BEEN WARNED" item 1).
Note that some of the network related tests expect the loopback interface
--- 254,265 ----
batch file.
! You can execute the regression tests included with the Python 2.4 source
! distribution by changing to the Python 2.4 home directory and executing the
REGRTEST.CMD batch file. The following tests are known to fail at this
time:
- test_mhlib (I don't know of any port of MH to OS/2);
- test_strptime (see "YOU HAVE BEEN WARNED" item 22);
! - test_time (see "YOU HAVE BEEN WARNED" item 22);
! - test_posixpath (see "YOU HAVE BEEN WARNED" item 23).
Note that some of the network related tests expect the loopback interface
***************
*** 327,330 ****
--- 290,294 ----
- rm, cp, mkdir from the GNU file utilities package
- GNU find
+ - GNU sed
Procedure
***************
*** 337,341 ****
If you wish to do this, set the value of the Makefile variable LIB_DIR
to the directory you wish to use for PYTHONHOME
! (eg /usr/local/lib/python2.3).
If you want Python to find its library without the PYTHONHOME
--- 301,305 ----
If you wish to do this, set the value of the Makefile variable LIB_DIR
to the directory you wish to use for PYTHONHOME
! (eg /usr/local/lib/python2.4).
If you want Python to find its library without the PYTHONHOME
***************
*** 347,351 ****
the value of the Makefile variable EXE_DIR to the appropriate directory.
! 3. If you wish the Python core DLL (python23.dll) to be installed in a
directory other than the directory in which the Python executables are
installed (by default, the PYTHONHOME directory), set the value of the
--- 311,315 ----
the value of the Makefile variable EXE_DIR to the appropriate directory.
! 3. If you wish the Python core DLL (python24.dll) to be installed in a
directory other than the directory in which the Python executables are
installed (by default, the PYTHONHOME directory), set the value of the
***************
*** 446,451 ****
you may be better off deleting it and relying on GDBM.
! Any code you have which uses the bsddb module can be modified to use the
! renamed module by changing
import bsddb
--- 410,415 ----
you may be better off deleting it and relying on GDBM.
! Any code you have which uses the v1.85 bsddb module can be modified to
! use the renamed module by changing
import bsddb
***************
*** 455,461 ****
import bsddb185 as bsddb
- A side effect of these changes is that the test_whichdb regression test
- fails.
-
6. The readline module has been linked against ncurses rather than the
termcap library supplied with EMX.
--- 419,422 ----
***************
*** 522,535 ****
have been incorporated into this port, and are active by default. Setting
the PYTHONCASEOK environment variable (to any value) reverts to the
! previous (case insensitive) semantics.
13. Because I am statically linking ncurses, the _curses_panel
module has potential problems arising from separate library data areas.
To avoid this, I have configured the _curses_.pyd (imported as
! "_curses_panel") to import the ncurses symbols it needs from _curses.pyd.
! As a result the _curses module must be imported before the _curses_panel
! module. As far as I can tell, the modules in the curses package do this.
! If you have problems attempting to use the _curses_panel support please
! let me know, and I'll look into an alternative solution.
14. sys.platform reports "os2emx" instead of "os2". os.name still
--- 483,502 ----
have been incorporated into this port, and are active by default. Setting
the PYTHONCASEOK environment variable (to any value) reverts to the
! previous (case insensitive) semantics. This can be an issue with some
! file management utilities that do not preserve the case of file and
! directory names.
13. Because I am statically linking ncurses, the _curses_panel
module has potential problems arising from separate library data areas.
To avoid this, I have configured the _curses_.pyd (imported as
! "_curses_panel") to import the ncurses symbols it needs from _curses.dll
! (which is the curses module, but with a .dll extension rather than .pyd
! so that the dynamic loader can actually import the symbols from it as a
! DLL).
!
! The site module (Lib/site.py) has code added to tweak BEGINLIBPATH so
! that _curses.dll is found when _curses_panel is imported. If you have
! problems attempting to use the _curses_panel support please let me know,
! and I'll have another look at this.
14. sys.platform reports "os2emx" instead of "os2". os.name still
***************
*** 556,561 ****
This release sees the default optimisation change to
! "-O3 -fomit-frame-pointer". This works fine too for pgcc 2.95 but not
! for gcc 3.2.1.
With gcc 3.2.1, -O3 causes 2 unexpected test failures: test_format and
--- 523,528 ----
This release sees the default optimisation change to
! "-O3 -fomit-frame-pointer -mprobe". This works fine too for pgcc 2.95
! but not for gcc 3.2.1.
With gcc 3.2.1, -O3 causes 2 unexpected test failures: test_format and
***************
*** 637,640 ****
--- 604,645 ----
due to the EMX strftime bug in item 20 above.
+ 23. test_posixpath attempts to exercise various Posix path related
+ functionality. Most of the sub-tests pass, but the "ismount" and
+ "samestat" subtests fail:
+ - EMX provides not satisfactory mount point emulation, so "ismount"
+ cannot succeed;
+ - EMX documents that successive stat() calls will produce different
+ results, so "samestat" cannot succeed.
+
+ test_posixpath should skip these tests on EMX.
+
+ 24. I have had a report that attempting to use the Bittorrent package
+ (http://bitconjurer.org/BitTorrent/) with this port causes traps not
+ long after starting the download; this using the "headless" download
+ script on eCS v1.1. I have not been able to duplicate this myself,
+ but the indications I have suggest a failure in the 32 bit TCP/IP
+ stack (v4.3.2? on eCS v1.1) - on my v4.0 FP12 system with MPTS fixpack
+ WR8425 applied (16 bit TCP/IP stack v4.02), BitTorrent appears to work
+ normally in testing on a 100Mbit LAN. With the curses.panel fix (see
+ item 13 above), the BitTorrent curses downloader works too. I'd
+ appreciate any success or failure reports with BitTorrent, though
+ I've regretfully recommended that the person who reported the failure
+ take this up with eCS support. Since this report, I have received a
+ followup which suggests that the problem may have been a buggy network
+ card driver. I think it suffices to say that BitTorrent is a fair stress
+ test of a system's networking capability.
+
+ 25. In the absence of an EMX implementation of the link() function, I've
+ implemented a crude Python emulation, in the file
+ Lib/plat-os2emx/_emx_link.py. This is imported into the os module, and
+ becomes available as os.link() in the normal way.
+
+ The emulation copies the source file in binary mode, and will fail if
+ disk space is exhausted. The call fails if the target already exists.
+ There are no guarantees to thread safety with this emulation - beware!
+
+ The emulation was written to support a link() based file locking system
+ used in GNU Mailman.
+
... probably other issues that I've not encountered, or don't remember :-(
***************
*** 676,678 ****
Web: http://www.andymac.org/
! 18 April, 2003.
--- 681,683 ----
Web: http://www.andymac.org/
! 2 December, 2003.
More information about the Python-checkins
mailing list