]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - gnu/libexec/uucp/README
This commit was generated by cvs2svn to compensate for changes in r51922,
[FreeBSD/FreeBSD.git] / gnu / libexec / uucp / README
1 This is the README file for version 1.06 of the Taylor UUCP package.
2
3 It was written by Ian Lance Taylor.  I can be reached at ian@airs.com,
4 or, equivalently, uunet!cygint!airs!ian, or c/o Cygnus Support,
5 48 Grove Street, Somerville, MA 02144, USA.
6
7 There is a mailing list for discussion of the package.  The list is
8 hosted by Eric Schnoebelen at cirr.com.  To join (or get off) the
9 list, send mail to taylor-uucp-request@cirr.com.  Mail to this address
10 is answered by the majordomo program.  To join the list, send the
11 message ``subscribe ADDRESS'' where ADDRESS is your e-mail address.
12 To send a message to the list, send it to taylor-uucp@cirr.com.  The
13 old list address, taylor-uucp@gnu.ai.mit.edu, will also work.  There
14 is an archive of all messages sent to the mailing list at ftp.cirr.com.
15
16 This package is covered by the Gnu Public License.  See the file
17 COPYING for details.  If you would like to do something with this
18 package that you feel is reasonable but you feel is prohibited by the
19 license, contact me to see if we can work it out.
20
21 The most recent version may be obtained from any Gnu archive site.
22 The canonical site is prep.ai.mit.edu.  There are many mirror sites,
23 including ftp.uu.net and wuarchive.wustl.edu.
24
25 WHAT IT IS
26
27 This is the complete source code for a Unix UUCP package.  It provides
28 everything you need to make a UUCP connection.  It includes versions
29 of uucico, uusched, uuxqt, uux, uucp, uustat, uulog, uuname, uuto,
30 uupick, and cu, as well as uuchk (a program to check configuration
31 files), uuconv (a program to convert from one type of configuration
32 file to another) and tstuu (a test harness for the package).
33
34 This is the standard UUCP package of the Free Software Foundation.
35
36 The package currently supports the 'f', 'g' (in all window and packet
37 sizes), 'G', 't' and 'e' protocols, as well a Zmodem protocol, the FX
38 UUCICO 'y' protocol, and two new bidirectional protocols.  If you have
39 a Berkeley sockets library, it can make TCP connections.  If you have
40 TLI libraries, it can make TLI connections.  It supports a new
41 configuration file mechanism which I like (but other people dislike).
42
43 The package has a few advantages over regular UUCP:
44
45     You get the source code.
46
47     It uses significantly less CPU time than many UUCP packages.
48
49     You can specify a chat script to run when a system calls in,
50     allowing adjustment of modem parameters on a per system basis.
51
52     You can specify failure strings for chat scripts, allowing the
53     chat script to fail immediately if the modem returns ``BUSY''.
54
55     If you are talking to another instance of the package, you can use
56     the new bidirectional protocol for rapid data transfer in both
57     directions at once.  You can also restrict file transfers by size
58     based on the time of day and who placed the call.
59
60 On the other hand:
61
62     It only runs on Unix.  The code is carefully divided into system
63     dependent and system independent portions, so it should be
64     possible to port it to other systems.  It would not be trivial.
65
66     You don't get uuclean, uusend, uuq, uusnap, uumonitor, uutry,
67     uupoll, etc.  If you have current copies of these programs, you
68     may be able to use them.  Shell scripts versions of uuclean and
69     uutry are provided, with most, if not all, of the functionality of
70     the usual programs.  I believe the supplied uustat program allows
71     you to do everything that uuq, uusnap and uumonitor do.  uupoll
72     could be written as a shell script.
73
74     The package does not read modemcap or acucap files, although you
75     can use V2 configuration files with a BNU Dialers file or a dialer
76     file written in my new configuration file format.
77
78     The package cannot use SCO dialer programs directly, although it
79     can with a simple shell script interface.
80
81 If you start using this package, I suggest that you join the mailing
82 list (see above) to keep up to date on patches and new versions.  I am
83 also open to suggestions for improvements and modifications.
84
85 DOCUMENTATION
86
87 The documentation is in the file uucp.texi, which is a Texinfo file.
88 Texinfo is a format used by the Free Software Foundation.  You can
89 print the documentation using TeX in combination with the file
90 texinfo.tex.  DVI, PostScript and info versions of the documentation
91 are available in a separate package, uucp-doc-1.06.tar.gz.
92
93 See the TODO file for things which should be done.  Please feel free
94 to do them, although you may want to check with me first.  Send me
95 suggestions for new things to do.
96
97 The compilation instructions are in uucp.texi.  Here is a summary.
98
99     Edit Makefile.in to set installation directories.
100
101     Type ``sh configure''.  You can pass a number of arguments in the
102     environment (using bash or sh, enter something like ``CC=gcc
103     configure''; using csh, enter something like ``setenv CC gcc; sh
104     configure''):
105         CC: C compiler to use; default is gcc if it exists, else cc
106         CFLAGS: Flags to pass to $CC when compiling; default -g
107         LDFLAGS: Flags to pass to $CC when only linking; default none
108         LIBS: Library arguments to pass to $CC; default none
109         INSTALL: Install program; default install -c or cp
110     The configure script will compile a number of test programs to see
111     what is available on your system, so if your system is at all
112     unusual you will need to pass in $CC and $LIBS correctly.
113
114     The configure script will create config.h from config.h.in and
115     Makefile from Makefile.in.  It will also create config.status,
116     which is a shell script which actually creates the files.  Please
117     report any configuration problems, so that they can be fixed in
118     later versions.
119
120     Igor V. Semenyuk provided this (lightly edited) note about ISC
121     Unix 3.0.  The configure script will default to passing -posix to
122     gcc.  However, using -posix changes the environment to POSIX, and
123     on ISC 3.0, at least, the default for POSIX_NO_TRUNC is 1.  This
124     means nothing for uucp, but can lead to a problem when uuxqt
125     executes rmail.  IDA sendmail has dbm configuration files named
126     mailertable.{dir,pag}.  Notice these names are 15 characters long.
127     When uuxqt compiled with -posix executes rmail, which in turn
128     executes sendmail, the later is run under POSIX environment too!
129     This leads to sendmail bombing out with 'error opening 'M'
130     database: name too long' (mailertable.dir).  It's rather obscure
131     behaviour, and it took me a day to find out the cause.  I don't
132     use -posix, instead I run gcc with -D_POSIX_SOURCE, and add
133     -lcposix to LIBS.
134
135     On some versions of BSDI there is a bug in the shell which causes
136     the default value for CFLAGS to be set incorrectly.  If ``echo
137     ${CFLAGS--g}'' echoes ``g'' rather than ``-g'', then you must set
138     CFLAGS in the environment before running configure.  There is a
139     patch available from BSDI for this bug.  (Reported by David
140     Vrona).
141
142     On AIX 3.2.5, and possibly other versions, cc -E does not work,
143     reporting ``Option NOROCONST is not valid.''  Test this before
144     running configure by doing something like
145         touch /tmp/foo.c
146         cc -E /tmp/foo.c
147     This may give a warning about the file being empty, but it should
148     not give the ``Option NOROCONST'' warning.  The workaround is to
149     remove the ",noroconst" entry from the "options" clause in the
150     "cc" stanza in /etc/xlc.cfg.  (Reported by Chris Lewis).
151
152     Examine config.h and Makefile to make sure they're right.
153
154     Edit policy.h for your local system.    
155
156     Type ``make''.
157
158     Use ``uuchk'' to check configuration files.  You can use
159     ``uuconv'' to convert between configuration file formats.
160
161     Type ``make install'' to install.  Note that by default the
162     programs are compiled with debugging information, and they are not
163     stripped when they are installed.  Read the man page for strip for
164     more information.
165
166     On older System V based systems which do not have the setreuid
167     system call, problems may arise if ordinary users can start an
168     execution of uuxqt, perhaps indirectly via uucp or uux.  UUCP jobs
169     may wind up executing with a real user ID of the user who invoked
170     uuxqt, which can cause problems if the UUCP job checks the real
171     user ID for security purposes.  On such systems, it is safest to
172     put ``run-uuxqt never'' in the `config' file, so that uucico never
173     starts uuxqt, and invoke uuxqt directly from cron.