*BSD News Article 11815


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA2402 ; Mon, 01 Mar 93 10:57:38 EST
Path: sserve!manuel.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!paladin.american.edu!news.univie.ac.at!hp4at!mcsun!sunic!isgate!krafla!adamd
From: adamd@rhi.hi.is (Adam David)
Newsgroups: comp.os.386bsd.apps
Subject: Elm fixed easily for 386bsd
Message-ID: <6430@krafla.rhi.hi.is>
Date: 28 Feb 93 20:26:54 GMT
Sender: usenet@rhi.hi.is
Lines: 35
Nntp-Posting-Host: hengill.rhi.hi.is

Here's what it took to get elm 2.4.21 up and running sensibly with
the distribution 386bsd 0.1 + patchkit 0.2.1:

Configure: change all occurences of 'for foo do' to 'for foo in $@; do'
config.h.SH: add a line '#define setgid setegid' into the base for "config.h"

assuming the mail group is called 'mail' these permissions are necessary:
-rwxrwxr-x   root  mail   /var/mail/

run Configure and give sensible values, specifically:
 use lockfile and flock locking, but not fcntl locking
 let elm be a setgid program, and use setgid() to switch gids 
 (most default values are already sensible)

in src/mailmsg2.c change 2 sprintf statements that contain '&' in the format
string. The shell commands generated by these statements need to be rearranged
so that /bin/sh can pass non-empty mail messages:

"( (..... %s ; %s %s) & ) < %s"    becomes   "(..... %s < %s; %s %s) &"
The last 3 function args need to be rearranged to reflect this change,
remove_cmd will be the second from last arg.

some source files need minor surgery, use error and warning messages
during make as a guide to which #if conditions need to be changed. Some
warning messages are not so important, but use common sense and good
judgement. In particular:

ifdef out function defs for toupper() and tolower() in lib/opt_utils.c
in utils/newmail.c #define __convex__ or change the ifdefs accordingly.

when it looks ready after a successful make, do 'make install' and all
being well it already works.

--
Adam David (adam@veda.is)