[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