rdist for SCO Unix
The latest rdist (6.1.3 as of
this writing) did not support SCO Unix
3.2v4.2 out of the box. Therefore I had to undertake a porting effort.
This is what you will need to build rdist on SCO Unix.
- GNU regex
version 0.12 -- this may have been superseded by rx, but an old
library seemed appropriate for an old operating system.
- Run make check.
- Be sure to archive the regex.o, alloca.o and xmalloc.o object
files into libregex.a with a command like
ar rv libregex.a regex.o test/alloca.o test/xmalloc.o
- Install libregex.a into /usr/local/lib or some
other location.
- You will need an implementation of socketpair(), which SCO Unix
does not provide. Here is the socketpair source
code I wrote. I hope it's correct; it seems to be close enough for
SCO.
- SCO Unix does not use any sort of high-level file system mount entry
interface, so you will need to write some functions for the
src/filesys-os.c module. This patch
contains the modifications I made to rdist 6.1.3 to implement this
functionality for SCO Unix. It has not been rigorously tested, but
it has been used successfully for some basic file transfers. (To
apply this patch you will probably need GNU patch. I had to use GNU
diffutils to produce it. Ah, the joys of SCO.)
- You will need an OS configuration file for rdist. This is built by
customizing config/os-TEMPLATE.h for SCO Unix.
Here is the configuration file I
used. You will have to name it os-hostname3.2.h where
hostname is of course your system's hostname. The shame of
SCO Unix is so great that it will not confess its identity when asked,
even under great pressure (uname -a, uname -X,
etc.).
I probably screwed something up, but at least I've been able to
send files from a HP-UX 10.20 system to a SCO Unix 3.2v4.2 system.
Your mileage may vary, etc.
Read of my other battles with SCO Unix.