#
#  INSTALL -- Instructions for installation of Unidel
#
#  SCCS
#      @(#) INSTALL  1.1 02 May 1992 11:06:03 
#
  Here is the source for the Unidel News/Mail reader.  To get it
compiled, copy Make.dist to Makefile and defs.dist to defs.h.  Edit
these two new files to reflect your system.  You may want to modify
and use localize.sh to save time on future updates.  If I've done as
well as I like to think, it should make and run without error.

  Stop here.  Play with it.  All the rest of this can be done later.

  FILES
  -----
  The following files in LIBDIR will also need to be edited at some
time to reflect your system.

  'Editors'   contains the available editors, if the users are 'local'
              and already have user accounts, the environment variable
              "EDITOR" will be used to pick the editor _from_this_file_.

  'Floors'    contains descriptions of floors.  If absent, all rooms
              appear on one floor, "lobby.".

  'Transfers' is used to define upload/download programs.  If absent
              then no protocol transfers can be used.  Local 'cp' will
              still be used for 'local' users.

  'FileDirs'  describes directories and permissions for rooms that
              have files in them.

  In your news directory, Unidel will use 'active' to get the latest
article numbers to find rooms with new messages, and 'newsgroups' to
get the descriptive names of rooms.  If the description in
'newsgroups' is less than 30 characters then it's displayed as the
room name.

  LOCAL USERS
  -----------
  A 'local' user is one that logs in normally, and then uses unidel to
read news and mail, they upload and download files and messages by
using 'cp'.  In defs.h are two variables, _local and _isLocal, that
define how to find out if a user is on a local terminal or dialed-in
and needs a file transfer protocol.  Set _local to a file that lists
all the terminals and dial-up lines (/etc/inittab for sysV, or you can
create your own) and set _isLocal to a string to look for in that file
to see if the tty line is local.  Example

  #define _local "myTTYFile"
  #define _isLocal "local"

  myTTYFile:
     tty01	local
     tty02      local
     tty03	dial-in
     tty04	dial-in

  MAIL
  ----
  Unidel wants each user's mail database to look like a second news
database.  That means there's an '$HOME/mail/active' file, directories
for each mail room under $HOME/mail, and each mail message in an
individually numbered file.

  I've managed this several ways with varying degrees of features:

    Simplest and Easiest:
       Use 'place' that comes with Unidel.

       If your mail system uses a .forward file, create $HOME/mail and
       put this in your .forward file:

           "|/usr/local/lib/unidel/place mail"

       Or, if your mail system can put |pipes in /usr/mail/USERNAME,
       create $HOME/mail and put this in /usr/mail/USERNAME:

           Forward to |/usr/local/lib/unidel/place mail

       'place' will take care of the active file and subdirectories
       under $HOME/mail.  There will only be one mail room, 'mail'.

    If your mail system can't pipe:
      Get SMail.

    Multiple Mail Rooms, easy way:
      Instead of calling 'place' directly, as above, call a shell
      script that you write that 'cat's stdin to a file, 'grep's it
      for particular strings ('root', 'sysop', 'help', mail-list
      addresses, etc.), chooses which room to put it in, then calls
      'place ROOMNAME' where ROOMNAME is the room you've decided on.
      Remember to delete the file you 'cat'ed.

    Multiple Mail Rooms, better way:
      Use Chip Salzenberg's 'deliver' program, then use 'place'.

    Neato Whiz Bang, All the Bells and Whistles:
      Modify CNews's bin/config file to point NEWSCTL to
      $HOME/mail.ctl and NEWSARTS to $HOME/mail.  Change
      ReadActiveFile in Init.c to get 'active' from
      $HOME/mail.ctl/active instead of $HOME/mail/active.
      Use 'deliver' or your own shell script to add appropriate
      "Newsgroups:" header lines and remove "From_" and ">From" lines
      before calling CNews's 'relaynews' to do actual placement.

      With CNews you can archive, expire, forward to other systems
      you read mail on, etc.
