Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / local / linux / mh-6.8.3.README
1 MH 6.8.3 for Linux
2 ==================
3
4 This distribution consists of two packages:  mh-6.8.3-bin.tar.gz contains
5 shared binaries, and mh-6.8.3-patch.tar.gz contains patches to the UCI MH
6 6.8.3 distribution.  The patches will allow the building of shared or static
7 binaries, although the implementation is still a bit of a hack.  You may
8 download either or both packages, depending on whether you want sources,
9 binaries, or both.
10
11 You will need to add a user for POP, and another for BBoards.  I used:
12
13 pop:x:13:13:POP administrator:/usr/lib/mh:/bin/sh
14 bboards:x:14:14:BBoards administrator:/usr/spool/bboards:/bin/sh
15
16 Do this before unpacking the binary distribution to avoid problems with buggy
17 versions of GNU tar, or before installing binaries built from the source
18 patch distribution.  (Note that the BBoards spool area is not included in the
19 binary distribution.)
20
21 mh-6.8.3-bin.tar.gz should be unpacked from the root directory.  It places
22 files in /usr/bin/mh, /usr/lib/mh, and /usr/sbin (popd), installs manpages in
23 /usr.man/man?/*.?mh, and installs the MH shared library libmh.so.2.0 in /lib.
24 (WARNING!!!  The internals of MH have changed; you can not use the older
25 shared library with the new binaries, or vice versa.)  Add /usr/bin/mh to your
26 PATH and you're set.  (Ed. note:  I don't want to hear about the choice of
27 directories.  Complain to the FSSTND folks if you don't like it, or grab the
28 source package and recompile it with different paths.)
29
30 mh-6.8.3-patch.tar.gz can be unpacked anywhere, although it's convenient to
31 unpack it into the top directory of the UCI MH distribution.  After unpacking,
32 issue the commands:
33
34 patch -p0 -N < DIFFS-pre
35 cp -f MH conf/MH
36 (cd conf/mh; make; mhconfig MH)
37 make clean
38
39 (If you want to change the configuration, edit conf/MH after the cp -f.)
40
41 If you want to build shared binaries, you must issue the command:
42
43 patch -p0 -N < DIFFS-post
44
45 after the "make clean" step.  Depending on what changes you may have made to
46 conf/MH, you may see several failures; you will need to patch those files
47 manually.  Eventually, I will get this into the distribution makefiles and the
48 post-patch won't be necessary.
49
50 !!! If you do not patch the binaries, you may want to edit doc/Makefile and
51 !!! change the definitions of MAN1EXT, MAN5EXT, and MAN8EXT to add the "mh"
52 !!! suffix to the manpages when they are installed.  This can not easily be
53 !!! done automatically; fixing it will require some changes to mhconfig.
54
55 Everything is now ready:  "make" will build the distribution.  (You will see
56 various warnings because NULL is defined as "(void *) 0" instead of simply
57 "0", and for shared binaries the DLL tools will complain about relative
58 JUMP_DIR settings.  The alternative having been to hardcode the full pathname,
59 forcing everyone to unpack MH in /varopt, I chose to accept the warnings.)
60
61 "make install" will place the binaries and configuration files in the
62 appropriate locations, and will install libmh.so.2.0 in /lib and run ldconfig.
63
64 If you need help building MH beyond this, I suggest reading the file READ-ME
65 in the top level of the UCI MH distribution.
66
67 Brandon S. Allbery
68 bsa@kf8nh.wariat.org