poole@forty2.UUCP (Simon Poole) (03/14/89)
The following patches to fs take minix a small step on the way to some POSIX compatiblity, while they where developed on a ST, I don't know of any reason why they shouldn't work on a PC. Please read FSCHANGES.DOC besides applying the patches, it explains what I changed and why (this might be interesting even if you don't apply the patches). WARNING: ======== while I have been running the modified fs for over one and a half months now, there is still a non-zero probability that there is a bug or two somewhere. It is a GOOD IDEA to run the Minix test programs with a modified fs with a file system that can be rebuilt without problems (typically /dev/ram) BEFORE you mount your xx MB harddisk. INSTALLATION: ============= Unpack the shar files in the top level of your minix source directory, after moving lib/open.c and fs/open.c somewhere safe (these two files are replaced completly and are not patched). Recompile minix and run the test programs (somewhere where it doesn't matter if the file system gets trashed). Add mkfifo.c to lib/Makefile and rebuild the libary, recompile ls and fsck. Happy hacking Simon Poole PS: the man pages were partly stolen from the PC 1.3 man pages -- ---------------------------------------------------------------------------- UUCP: ...mcvax!cernvax!forty2!poole Simon Poole BITNET: K538915@CZHRZU1A ----------------------------------------------------------------------------
ast@cs.vu.nl (Andy Tanenbaum) (03/14/89)
In article <658@forty2.UUCP> poole@forty2.UUCP (Simon Poole) writes: >The following patches to fs take minix a small step on the way to >some POSIX compatiblity, while they where developed on a ST, I don't >know of any reason why they shouldn't work on a PC. Very nice and keep up the good work! When I get done with my architecture book I'll take a closer look at this stuff with an eye to incorporating it into V2.0. By then we will probably have more feedback from users. General note to other people interested in making changes toward POSIX. Please try to resist the temptation to make a lot of non-POSIX related changes at the same time (e.g., a nonblocking FS). Since we have a pretty stable system now, I am hoping to make the minimal changes necessary to achieve POSIX conformance. I hope we can end up with one FS and one MM that work on the PC, AT, 386, and ST with only a few #ifdefs. Andy Tanenbaum (ast@cs.vu.nl)
ncoverby@ndsuvax.UUCP (Glen Overby) (03/18/89)
In article <2153@ast.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes: >In article <658@forty2.UUCP> poole@forty2.UUCP (Simon Poole) writes: >>The following patches to fs take minix a small step on the way to >>some POSIX compatiblity, while they where developed on a ST, I don't >>know of any reason why they shouldn't work on a PC. > >Very nice and keep up the good work! When I get done with my architecture >book I'll take a closer look at this stuff with an eye to incorporating it into >V2.0. By then we will probably have more feedback from users. In light of Andy's stated intent to move Minix towards POSIX compatability, I have collected all the changes I have seen on the group which were labeled as improving the POSIX compatability of Minix. This collection is available from my archive on vm1.nodak.edu in the files "fixes posix*". If you do not know how to access this archive, send a message to listserv@vm1.nodak.edu saying: get minix info minix and you will be sent the Minix Information Sheet which contains this information. Below is a list of everything I have included in this collection. If you find anything that should be included and is not, please send me a note; I'd appreciate it if you could give me a Message-ID:, Date: or Subject: reference so I can find it. Glen Overby <ncoverby@plains.nodak.edu> uunet!ndsuvax!ncoverby (UUCP) ncoverby@ndsuvax (Bitnet) # File: delta/posix/History # POSIX - compatable path for Minix # Evolution History... On: Tue Nov 22 16:18:25 CST 1988 From: tholm@uvicctr.UUCP (Terrence W. Holm) Subject: POSIX getppid(2) Message-ID: <445@uvicctr.UUCP> Date: 7 Jul 88 23:51:47 GMT File: lib/getppid.c new From: tholm@uvicctr.UUCP (Terrence W. Holm) Subject: POSIX utime(2) Message-ID: <446@uvicctr.UUCP> Date: 7 Jul 88 23:53:23 GMT File: lib/utime.c From: tholm@uvicctr.UUCP (Terrence W. Holm) Subject: fcntl.h, unistd.h & utime.h Message-ID: <451@uvicctr.UUCP> Date: 12 Jul 88 22:33:48 GMT File: include/fcntl.h (new) File: include/unistd.h (new) File: include/utime.h (new) From: tholm@uvicctr.UUCP (Terrence W. Holm) Subject: varargs(3) Message-ID: <506@uvicctr.UUCP> Date: 20 Sep 88 21:26:51 GMT File: doc/man/cat3/varargs.3 File: include/varargs.h From: tholm@uvicctr.UUCP (Terrence W. Holm) Newsgroups: comp.os.minix Subject: ctype(3) changes Message-ID: <524@uvicctr.UUCP> Date: 18 Oct 88 02:53:03 GMT File: doc/man/cat3/ctype.3 new File: doc/man/cat3/toascii.3 new File: doc/man/cat3/tolower.3 new File: doc/man/cat3/toupper.3 new File: doc/man/cat4/ascii.4 new File: include/ctype.h changed File: lib/ctype.c changed I have changed iscntrl(3), isprint(3), isgraph(3), toupper(3) and tolower(3) to be as defined in POSIX. "man" pages are included. Files changed: /usr/include/ctype.h and minix/lib/libc/ctype.c Details of changes: 1) isprint(3) now includes SPACE. 2) isgraph(3) added. 3) iscntrl(3) now includes all control characters. 4) The old toupper() and tolower() are now called _toupper() and _tolower(). 5) Subroutines were added to perform the correct toupper(3) and tolower(3). 6) Toascii(3) added. From: tholm@uvicctr.UUCP (Terrence W. Holm) Subject: POSIX sleep(3) Message-ID: <527@uvicctr.UUCP> Date: 25 Oct 88 20:39:49 GMT File: doc/man/cat3/sleep.3 new, lib/sleep.c changed The MINIX 1.3 sleep(3) does not handle alarm(2) pending when sleep(3) is called. Nor does it return a correct value. The following corrects these problems. From: tholm@uvicctr.UUCP (Terrence W. Holm) Subject: getopt(3) Message-ID: <532@uvicctr.UUCP> Date: 31 Oct 88 16:37:16 GMT File: lib/getopt.c new, doc/man/cat3/getopt.3 new EFTH MINIX report #54 - November 1988 - getopt(3) The recently posted ps(1) requires getopt(3), for those people missing this subroutine: Here is Henry Spencer's version, (slightly locally modified). From: tholm@uvicctr.UUCP (Terrence W. Holm) Subject: directory(3) Message-ID: <575@uvicctr.UUCP> Date: 13 Dec 88 08:22:02 GMT File: include/dirent.h new, include/sys/dir.h new, include/sys/dirent.h new File: lib/closedir.c new, lib/getdents.c new, lib/opendir.c new, lib/readdir.c new File: lib/rewinddir.c new, lib/seekdir.c new, lib/telldir.c File: doc/man/cat3/getdents.3 new, doc/man/cat3/directory.3 new, doc/man/cat4/dirent.4 EFTH MINIX report #62 - December 1988 - directory(3) This posting includes Douglas Gwyn's POSIX-compatible directory routines. If you have been using his routines for a while, please tell me what changes you have found necessary, so that I can keep a current copy of the POSIX library. If you have not been using Doug's library, then this is your chance to install it! Please find below the 13 files: HEADERS /usr/include/dirent.h /usr/include/sys/dir.h /usr/include/sys/dirent.h LIBRARY closedir.c getdents.c opendir.c readdir.c rewinddir.c seekdir.c telldir.c MAN PAGES getdents.3 directory.3 dirent.4 Instructions, 1) Install the header files, link in sys/errno.h. 2) Put the man pages under /usr/man/cat3 and cat4. 3) Compile and install the library routines. Note that "seekdir.s" must precede "readdir.s", which must precede "getdents.s" in libc.a From: housel@en.ecn.purdue.edu (Peter S. Housel) Subject: Improved 'varargs' support Message-ID: <7490@ea.ecn.purdue.edu> Date: 16 Dec 88 18:48:05 GMT File: include/varargs.h changed, lib/vsprintf.c new Here is an improved version of the 'varargs.h' file originally posted in EFTH report #47. There is also a version of vsprintf() included. This makes Frans Meulenbroeck's patch to the curses "printw.c" file unnecessary. (How this particular patch ever managed to work in the first place is beyond me...) Actually, what ought to happen is that _doprintf() should be renamed vfprintf(), and that it and all of the other printf() and scanf() routines should be rewritten in terms of varargs.h or stdarg.h, whichever is supported by POSIX. (I'll probably do this sometime soon.) -- Glen Overby <ncoverby@plains.nodak.edu> uunet!ndsuvax!ncoverby (UUCP) ncoverby@ndsuvax (Bitnet) #! rnews 787 Path: