home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / mm / notes-klh.txt < prev    next >
Text File  |  2020-01-01  |  7KB  |  191 lines

  1. KLH notes on MM building/installation
  2.  
  3. Quick build summary:
  4.     (1) Build CCMD.
  5.     - Connect to "ccmd" dir.
  6.         cd ccmd
  7.     - Clean up old stuff if necessary
  8.         make realclean (or make clean)
  9.     - Examine Makefile to see which systems are supported, then make
  10.       the appropriate one if necessary.
  11.       Check machdep.h if porting!
  12.         make <osname>
  13.     (2) Build MM.
  14.     - Connect to "mm" dir.
  15.         cd mm
  16.     - Clean up old stuff if necessary
  17.         make clean
  18.     - See which systems are already supported:
  19.         ls -l sysh
  20.     - Select one or edit one to create a new port.
  21.     - Create a new "config.h" for your installation, which
  22.         includes the sysh/s-XXX.h file above.  Use existing
  23.         config.h files as models; refer to config.h-generic
  24.         for some documentation.
  25.  
  26. --> ln -s config.h-cunix config.h
  27.  
  28.     - Make it with:
  29.         make <osname>
  30.  
  31. --> make fdc-solaris
  32.  
  33. -------------------------------------
  34. A2-02-28:
  35.     MM: Flushed "getmail.c" - not used by anything, appears to have
  36.         been an early version of "movemail.c".
  37.     MM: Flushed "localfile.c" - not used by anything, appears to have
  38.         been absorbed into "file.c".
  39.  
  40. A2-02-23: MM now merged.
  41.     MM: Merged FDC's latest stuff with KLH's.
  42.     MM: Some re-organization of config stuff.  Some parameters moved
  43.         from s-xxx.h files into config.h.  Some but not all
  44.         s-xxx.h files modified accordingly.
  45.         The updated ones:
  46.             s-sun40.h
  47.             s-linux.h
  48.             s-bsd44.h
  49.             s-decosf.h
  50.             s-sun58.h
  51.     MM: Revised Makefile to be more like CCMD's.  Now say "make <sys>"
  52.         rather than "make all".
  53.  
  54. A2-02-19:
  55.     CCMD: Massive re-write of ccmdlib.h and machdep.h to use new
  56.         OS-dep definition scheme, plus many source tweaks to
  57.         conform to new regime.
  58.     CCMD BUG: The auto-generated cmfnc.h, which ccmd.h includes,
  59.         contains OSD conditionals that are not defined by the time
  60.         a ccmd client attempts to compile!  In particular
  61.         CCMD_OS_UNIX is not defined.
  62.  
  63.  
  64. A2-02-18: Start merge with FDC's latest stuff, CCMD first.
  65.     CCMD: Ensured all public patches (y2k, y2k1) and Panix mods
  66.         merged, then merged with FDC's latest.
  67.     CCMD: Did NOT add msleep() from fdc's ccmd/datime.c; it belongs
  68.         in MM, not CCMD.
  69.     CCMD: Fixed all HAVE_ macros to ensure always defined 0 or 1 and tested
  70.         accordingly.
  71.     CCMD: Attempted to put all OSD feature defs into machdep.h, and all
  72.         portability compensation defs into ccmdlib.h.  But the
  73.         overall structure of ccmdlib.h, machdep.h, and site.h,
  74.         while improved, is still a mess.
  75.  
  76.  
  77. <various>: Ported to Solaris and Linux.
  78.     CCMD: Added TERMIOS support.
  79.     CCMD/MM: Changed signal handling definitions to allow using sigsets.
  80.  
  81.  
  82. A0-01-01: Port to FreeBSD.
  83.     CCMD: Lots of port stuff.  OSD header files are still a big mess,
  84.         should clean up machdep.h, site.h, ccmdlib.h.
  85.     Flushed use of sys_errlist[] for strerror().
  86.     Replaced setkey by mmsetkey to avoid conflict with setkey(3)
  87.     Replaced use of ftime() with gettimeofday() in dates.c.
  88.     Fixed bug in mm-trans; will need re_comp replaced by newer regex stuff.
  89.     MUST FIX: use of int for time_t.
  90.  
  91.  
  92. 94-02-02: MM crashed due to bug in CCMD; parse() found a char with value 0214
  93.     and passed it to checkbrk() which used it to index into _cmact and
  94.     jumped into oblivion.  In general, code seems to use "char", which
  95.     is susceptible to sign-extension, rather than "unsigned char" or
  96.     masks, and is highly vulnerable to meta-chars that have bit 0200 set.
  97.     Sigh.
  98.  
  99. 93-06-28: Applied all patches up to and including patch.04.
  100.  
  101.     Modified s-sun40.h to reflect Oracle environment.  Original saved as
  102.     s-sun40.h-orig.
  103.  
  104.     Modified config.h for personal MM pathnames (/private/mm, not
  105.     /usr/local/lib/mm).
  106.  
  107.     Modified Makefile so that "make install" would put things in right
  108.     places per above. It doesn't work very well, though; the chmod
  109.     2752 of movemail in particular requires appropriate access to
  110.     work.  Also it's not clear if the group should be "mail" as specified,
  111.     or "daemon" as used on swamp.us.oracle.com.  Trying daemon for now.
  112.  
  113. Notes on MM configuration parameters:
  114.  
  115.     - config.h is intended to the repository of ALL installation-specific
  116.     parameters (as opposed to OS-specific).  There are only a few things
  117.     that are not defaulted by anything else, which are listed in
  118.     the file config.h-generic.
  119.     - config.h is the only thing that includes the s-*.h files.
  120.     This inclusion should be done first, so the body of config.h can
  121.     change anything done by s-*.h (even if this requires doing undefs).
  122.     This is simpler than conditionalizing all the s-*.h parameters
  123.     (not possible anyway given that most are only tested for def/undef
  124.     rather than value).
  125.     - pathnames.h is only included by mm.h and comes after config.h, so
  126.     any definition in config.h will override the defaults
  127.     in pathnames.h.
  128.  
  129. Notes on configuration pathnames in pathnames.h:
  130.  
  131.     The defaults can all be redefined in config.h.  This is most important
  132.     for those which are noted as unchangeable by the user (using the "Set"
  133.     command to change a parameter); these are marked with [*].
  134.  
  135.  *  TMPDIR    "/usr/tmp"
  136.     Unchangeable; for temp files fed to gnuemacs.
  137.     "Set temp-directory" can be used to direct all other temp
  138.     files, which otherwise default to $HOME or /tmp.
  139.  
  140.  *  SPOOL_DIRECTORY    "/usr/spool/mail"
  141.     Unchangeable: only used by newmail.c to check for new mail.
  142.  
  143.     EDITOR    "emacs"
  144.     "Set editor" can set this.
  145.     Defaults to EDITOR env variable.
  146.  
  147.     PAGER    "more"
  148.     "Set crt-filter" can set this.  Defaults to #defined value.
  149.  
  150.     SPELLER    "ispell"
  151.     "Set speller" can set this.  Defaults to #defined value.
  152.  
  153.     BUGSTO    "bug-mm"
  154.     Unchangeable: bug address, only in sendcmds.c, misc.c
  155.     But note "bug-mm" can be vectored with the "define" command, as in
  156.     "define bug-mm <foo>".  This should be set up in the SYSINIT file.
  157.  
  158. -- The following files should all be vectored off LIBDIR but aren't. --
  159.  
  160.  *  LIBDIR    "/usr/local/lib/mm"
  161.     Unchangeable: used to find user-group init file on startup, by init.c
  162.     (pathname of "LIBDIR/<groupname>.ini")
  163.     This seems to be its ONLY use!  Sigh.
  164.  
  165.  *  SYSINIT    "/usr/local/lib/mm/mm.conf"
  166.     Unchangeable: specifies system-wide init file on startup, used
  167.     by init.c.  Also used by sys-prof.c (interactive standalone to
  168.     generate this init file).
  169.  
  170.     HELPFILE    "/usr/local/lib/mm/mm.help"
  171.     "Set help-file" can set this.  Defaults to #defined value.
  172.     This variable doesn't appear to be actually used by any code, although
  173.     this file does exist!  Maybe an artifact of old versions.
  174.  
  175.     HELPDIR    "/usr/local/lib/mm/help"
  176.     "Set help-dir" can set this.  Defaults to #defined value.
  177.     Used to find help files, by help.c.
  178.  
  179.     MMAIL_PATH    "/usr/local/lib/mm/mmail.el"
  180.     "Set mmail-path" can set this.  Defaults to #defined value.
  181.     Used as path to gnuemacs mmail mode elisp file, if "gnuemacs-mmail"
  182.     is "yes".
  183.  
  184.     MOVEMAIL    "/usr/local/lib/mm/movemail"
  185.     "Set movemail-path" can set this.  Defaults to #defined value.
  186.     Used as path for program to move mail from spool directory.
  187.  
  188.  *  USAGEFILE    "/usr/local/lib/mm/usage.log"
  189.     Only if USAGE conditional defined.
  190.     Unchangeable: specifies location to append MM usage info on exit.
  191.