#!/bin/sh
#
# aryzhov@spasu.net
#
# Install and configure Sendmail in smtp zone
# Normally, must be started from add_zones for a specific machine
#
[ -z "$SID" ] && SID=/tmp/install_config
[ X$SubrIsRead = XYes ] || . $SID/Scripts/Misc/!Includes/Subroutines
[ X$VarsAreSet = XYes ] || SetJVars
SetRootOpts ; [ X$ROOT != X/ ] && exec Chroot_Script $0 $*

echo "\n\n=== Installing Sendmail ===\n"

DOMAIN=spasu.net

[ x$ZONESDIR != x ] || StartShell "$0: ZONESDIR undefined"
SENDMAIL_ROOT=$ZONESDIR/smtp/root; [ -d $SENDMAIL_ROOT ] || StartShell "$SENDMAIL_ROOT/. - no such directory"
PKGDIR=`ls -d /cdrom/Solaris_*/Product`; cd $PKGDIR/.    || StartShell "No package directory $PKGDIR"

PKGLIST="
  SUNWsndmr
  SUNWsndmu
"

MakeAdminFile

for i in $PKGLIST; do
  pkgadd -nM -a $PKGADMIN_FILE -R $SENDMAIL_ROOT -d $PKGDIR $i 2>&1 | grep "Installation of"
done


cp $SENDMAIL_ROOT/etc/mail/sendmail.cf $SENDMAIL_ROOT/etc/mail/sendmail.cf.std || StartShell === sendmail.cf save failed ===
gzip -d <$JS_MEDIA_DIR/Packages/ARZ/Sendmail/RootPatch.tgz | (cd $SENDMAIL_ROOT && tar xvf - || StartShell === Tar failed ===)
echo "\n\n======= Generating mail aliases =======\n\n"
chroot $SENDMAIL_ROOT /usr/sbin/newaliases

# StartShell ================= Sendmail Debug ===================
echo "127.0.0.1\t\tmailhost\t mailhost.$DOMAIN mail.$DOMAIN" >>$SENDMAIL_ROOT/etc/hosts
IPADDR=`grep smtp $SENDMAIL_ROOT/etc/hosts | awk '{print $1}' | head -1`
[ x$IPADDR  != x ] && echo "$IPADDR\t\tsmtp.$DOMAIN" >>$SENDMAIL_ROOT/etc/hosts
# chroot $SENDMAIL_ROOT `which uname` -S smtp.$DOMAIN

echo "
mailhost.spasu.net
spasu.net
smtp
smtp.spasu.net
" >$SENDMAIL_ROOT/etc/mail/local-host-names

echo smtp.spasu.net >$SENDMAIL_ROOT/etc/nodename

cp $SENDMAIL_ROOT/etc/mail/local.cf $SENDMAIL_ROOT/etc/mail/local.cf.std || StartShell "No config file"
echo "
/O DaemonPortOptions=
i
O DaemonPortOptions=NAME=NoMTA4, Family=inet, Addr=177.1.1.205
O DaemonPortOptions=Name=MSA4,   Family=inet, Addr=177.1.1.205, Port=587, M=E

.
w
q
" | ed -s $SENDMAIL_ROOT/etc/mail/local.cf

