Installing Msend 3.0 -------------------- Welcome to the new world of Msend 3.0. We hope you enjoy this newly improved and hopefully bug free beta version of the next generation of msend. If there are any things in this document that you don't quite understand, feel free to e-mail me, Michael Strates . Firstly, make a new directory /tmp/msend, and unpack the msend archive into there. Read all the documentation provided and then edit the Makefile to reflect your system. Currently, the following CFLAGS are supported. Hopefully your system is covered below, if not please see common.h for information on porting. If you've got msend to work on other platforms then below, please e-mail me the patches (if any) and I'll try and include them in a newer distribution of msend. -DAIX - tested on an RS6000 running AIX 3.1 -DBSD - fairly generic BSD. A good start for porting. -DBSD44 - tested on a 486 running netbsd -DIRIX - tested on IRIX 4.0.5 -DLINUX - tested on 486DX4/100 and 486DX-33 -DOLDBSD - worked on a Pyramid 90x -DSUNOS3 - tested on a Sun 3 running SunOS 3.5 -DSUNOS4 - tested on a Sun 386i running SunOS 4.0.2 -DSVR4 - tested on an Amiga running SVR4 -DULTRIX - tested on a DEC 2100 running Ultrix 4.3 Then, while your at it, add any additional flags, such as the ones below (provided by the original author). -DUSE_READLINE - this will enable the GNU readline input-editing feature. A history mechanism is also provided. If you have GNU readline installed you'll want to set this. -DSAVE_PATH=\"\" - instead of placing save files in ~/.message, this will cause them to be placed in /$USER. This may be useful depending on your disk organisation. -DUSE_LOCKFILES - this will use lock files rather than flock()/ lockf(). You should use this if your message save area will be on an nfs-distributed filesystem. -DBUGGY_LOGNAME - this is only required on some SVR4 machines where the logname() call is flakey. -DYUKKY_FROM - this makes the "From:" line appear in a more yukky format that Andrew likes :-) -DNO_DEFAULT_DEST - define this if you don't want messages sent to "@" to go to the console. Now, elect whichever libraries are necessary on your system and set the LIBS. Usually this is just -ltermcap. People using GNU readline will need to add it here. Under SVR4 you'll probably need -lnsl -lsocket -lcurses or some such. Now your ready to compile msend. Change into /tmp/msend and type make. Observe any unusual compiler errors, and if everything goes okay, then you should have the new msend/mesgd binaries in /tmp/msend. Install the executables by editing DAEMONDEST and CLIENTDEST as needed, and typing make install in /tmp/msend as root. Now, change to /usr/bin, rename write as write.old and symbolically link msend to write. Install the manual page "msend.1" wherever you would normally put user-command man pages (usually /usr/man/man1). Also make a directory /usr/doc/msend and copy the README, INSTALL, ChangeLog and TODO into it. The manual page makes a reference to README at least. Optionally, you can open up your /etc/services file and include the two lines below inside. ## /etc/services message 18/udp # msends message 18/tcp # msends If you set CFLAGS=-DSAVE_PATH=\"/var/message\" for example you should create the directory /var/message with mode 1777. Modify your initialization script (/etc/rc.local or /etc/init.d/boot) to start the mesgd daemon at bootup. Make a nightly cron job to run msend -e as root. This will expire all message from user's saved message files that are over twenty messages. For example, one might put the following in his crontab: 38 4 * * * /usr/local/bin/msend -e Add an "msend -c" to the system's skeleton login file and an "msend -s" to the logout. If you have systemwide login and logout files you may want to add a "msend -c" to the login and "msend -s" to the logout. Congratulations, you've now installed msend 3.0 onto your system. Now, reboot your system and all changes will take effect (or start daemons and stuff manually, if you perfer). Now, go and read all available documentation!! -- Michael Strates