CVS for OS/2 based on EMX 0.9c (patch 02) This port works well in local mode. It fully respects the OS/2 filename conventions, but only works on HPFS or other filesystem types which support long filenames (like ext2fs or Netware FS with OS/2 namespace). It does _not_ work on FAT partitions or any other fs which does not support long filenames. The port also works in client mode. This port requires EMX 0.9c (patch 02) and the BSD libraries. It should work in local mode, in client mode and also in server mode. nServer mode will only work if the client uses the :server: method, because the CRLF handling of IBM's RSHD.EXE is not "compatible" with CVS. (If you find a better rshd for OS/2, please let us know!) To compile CVS for OS/2, you must install the following packages: - EMX 0.9c (patch 02) and the GNU-C-Compiler EMXDEV1.ZIP EMXDEV2.ZIP EMXRT.ZIP GNUDEV1.ZIP GNUDEV2.ZIP BSDDEV.ZIP EMXFIX02.ZIP - GNU make for OS/2 GNUMAKE.ZIP - ufc.a (ufc-crypt) as a replacement for crypt (this may be something different if you live inside the USA). You don't need this one currently, because the port of the server to OS/2 isn't done yet, but I'm mentioning in case it is useful for future reference (we're probably better off using a different password hash instead, as noted in item #184 of ../TODO). GNUUFC.ZIP All packages can be found on ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu (You may also try http://www.leo.org/pub/comp/os/os2/leo/gnu). Change to the `emx' directory, do "make" and get emx\cvs.exe. I had to comment out the "Makefile" rule in emx/Makefile to avoid a complaint about ../config.status not existing. You also might need to edit srcdir to be "." and top_srcdir to be "..". Assuming you have edited the `install_dir' variable in the Makefile, you may type "make install-cvs" to put cvs.exe in the right place. You may also "make clean-cvs" to clean up object and library files. The cvs.exe generated will require emx.dll to run. You can try compiling with -Zomf -Zsys to generate a cvs.exe without this requirement, but that almost surely will require significant changes to make it work. For the client, the big known problem would be that EMX 0.9c doesn't have sockets with -Zsys (according to the documentation). That seems like it would be hard to get around. For local, the big known problem is that -Zsys doesn't have fork(). This one isn't as bad--using os2/run.c or something similar instead of src/run.c should solve this problem. You will get warnings in lib/getdate.c. These are yacc's fault; ignore them. You will get about 5 warnings in lib/regex.c concerning "unused variable destination". Ignore them. Report bugs to tepting@swol.de and bug-cvs@gnu.org.