Completely revamped BeOS notes, by Donn Cave (SF patch 411834).
diff --git a/Misc/BeOS-NOTES b/Misc/BeOS-NOTES
index 0424c4f..41f25a7 100644
--- a/Misc/BeOS-NOTES
+++ b/Misc/BeOS-NOTES
@@ -1,129 +1,43 @@
 Python for BeOS R5
 
+In Python-2.1, the standard version of the new setup.py program
+will not build the full complement of modules on BeOS.  Instead,
+please replace it with the special BeOS version in Misc/BeOS-setup.py.
+
 To build,
 
-   1)  ./configure --prefix=/boot/home/config
-
-   2)  edit Modules/Setup
-          comment out grp and mmap, and pwd on 4.5 or earlier
-          uncomment any modules you want to include in python
-          (you can also add them later as shared libraries.)
+   1)  cp Misc/BeOS-setup.py setup.py
+   2)  ./configure --prefix=/boot/home/config
    3)  make
 
+The modules will all build, except termios which assumes some flags
+we don't have.  Put a libreadline.a in /boot/home/config/lib to get
+a readline.so for your interactive editing convenience;  NB, not
+libreadline.so, you want to link a static readline library into the
+dynamically loaded Python module.
+
 Test:
 
    make test
 
-   [Chris Herborth writes:]
-   test_popen2 will probably hang; it's deadlocked on a semaphore.  I should
-   probably disable popen2 support... it uses fork(), and fork() doesn't mix
-   with threads on BeOS.  In *THEORY* you could use it in a single-threaded
-   program, but I haven't tried.
+   The BeOS is Not UNIX category:
+ - test_select crashed -- select.error : (-2147459072, 'Bad file descriptor')
+ - test_socket crashed -- exceptions.AttributeError : SOCK_RAW
+ - test_fcntl crashed -- exceptions.IOError: [Errno -2147483643] Invalid argument
 
-   If test_popen2 does hang, you can find the semaphore it's hung on via the
-   "ps" command.  Look for python and you'll find something like this:
+   This one is funny!  BeOS does support large files, and that's why
+       we get this error:  the file is too big for my filesystem!
+ - test_largefile crashed -- exceptions.IOError: [Errno -2147459065]
+       No space left on device
 
-./python -tt ../src/Lib/test/regrtest.py (team 26922) (uid 0) (gid 0)
-  39472               python  sem  10    3785    1500 piperd(360526)
-./python -tt ../src/Lib/test/regrtest.py (team 26923) (uid 0) (gid 0)
-  39477               python  sem  10      25       4 python lock (1)(360022)
-                                                                      ^^^^^^
-   That last number is the semaphore the fork()'d python is stuck on
-   (see how it's helpfully called "python lock (1)"? :-).  You can unblock
-   that semaphore to let the tests continue using the "release" command
-   with that semaphore number.  Be _very_ careful with "release" though,
-   releasing the wrong semaphore can be hazardous.
-
-   Expect the following errors:
-
-   test * skipped -- an optional feature could not be imported (you'll see
-                     quite a few of these, based on what optional modules
-                     you've included)
-
-   test test_fork1 skipped -- can't mix os.fork with  threads on BeOS
-
-   test test_select crashed -- select.error : (-2147459072, 'Bad file
-                               descriptor')
-
-   test test_socket crashed -- exceptions.AttributeError : SOCK_RAW
-
-   These are all due to either partial support for certain things (like
-   sockets), or valid differences between systems.
-
-   test test_pickle crashed.  This is apparently a serious problem,
-                     "complex" number objects reconstructed from a
-                     pickle don't compare equal to their ancestors.
-                     But it happens on BeOS PPC only, not Intel.
+ - test_pickle crashed.  This is apparently a serious problem, "complex"
+       number objects reconstructed from a pickle don't compare equal to
+       their ancestors.  But it happens on BeOS PPC only, not Intel.
 
 Install:
 
    make install
 
 
-Using GNU readline:
-
-   The Python interpreter is much nicer to work with interactively if
-   you've got readline installed.  Highly recommended.
-
-   You can get the original GNU readline 2.2 source code from your
-   favourite GNU software repository, such as
-   ftp://prep.ai.mit.edu/pub/gnu/.
-
-   You can get the only-slightly-modified-for-BeOS version of GNU
-   readline 2.2 from the GeekGadgets repository;
-   ftp://ftp.ninemoons.com/pub/geekgadgets/.
- 
-
-Building libreadline for BeOS hosts:
-
-  Note that we don't build a shared library version of libreadline and
-  libhistory.  That's left as an exercise for the reader.
-
-  You won't be able to link against libreadline.a using the limited
-  linker.
-
-   1) If you're on a PowerPC system, install the POSIX ar from 
-      http://www.qnx.com/~chrish/Be/software/index.html#programming
-      (note that it's currently packaged with Python, in the BeOS/ar-1.1
-      directory).
-   
-      If you're on an x86 system, you can leave out the "AR=ar-posix"
-      part of the following instructions.  In fact, you'll have to...
-
-   2) For PowerPC, configure with:
-
-      CC=mwcc CFLAGS="-O7 -i- -I." AR=ar-posix RANLIB=: ./configure --verbose \
-      --without-gcc --prefix=/boot/home/config powerpc-*-beos
-
-      For x86, configure with:
-      
-      CC=mwcc CFLAGS="-O2 -i- -I." RANLIB=: ./configure --verbose \
-      --without-gcc --prefix=/boot/home/config x86-*-beos
-
-      Don't worry about the warnings/errors configure spews for
-      powerpc-*-beos or x86-*-beos; readline doesn't actually use this host 
-      information    for anything, although configure will die if you don't 
-      specify it.
-
-   3) Edit config.h to comment out "#define HAVE_SELECT 1"; select() on
-      BeOS doesn't work on file descriptors (such as stdin).
-
-   4) For PowerPC, make with:
-
-      make AR=ar-posix 
-
-      For x86, make with:
-      
-      make
-
-   5) Install with:
-
-      make install
-
-Enjoy!
-
-- Chris Herborth (chrish@pobox.com)
-  July 21, 2000
-
 - Donn Cave (donn@oz.net)
   October 4, 2000