CVS: moonbase/mail/exim4 BUILD, NONE, 1.1 CONFIGURE, NONE, 1.1 CONFLICTS, NONE, 1.1 DEPENDS, NONE, 1.1 DETAILS, NONE, 1.1 POST_INSTALL, NONE, 1.1 PRE_REMOVE, NONE, 1.1 services, NONE, 1.1

Terry Chan tchan at lunar-linux.org
Mon Nov 10 23:38:41 GMT 2003


Update of /var/cvs/lunar/moonbase/mail/exim4
In directory dbguin.lunar-linux.org:/tmp/cvs-serv2113/exim4

Added Files:
	BUILD CONFIGURE CONFLICTS DEPENDS DETAILS POST_INSTALL 
	PRE_REMOVE services 
Log Message:
Here are the changes needed for an exim4 module.  It tries to run the automatic
conversion script on /etc/exim.conf to get that file into exim4 format, but the
output MUST be checked as the script can NOT handle complex exim setups.
Exim4 should stay as a separate module and not a version subdir.  Added exim4
to the CONFLICTS files for sendmail, postfix, and exim.  Good luck working
on your new /etc/exim.conf files the new exim4 manual is $60 U.S.  Your old
exim.conf file has been backed up to /etc/exim.conf.3


--- NEW FILE: BUILD ---
(

  add_priv_user mail:mail

  mkdir -p        /var/spool/mail
  chmod 1777      /var/spool/mail
  chown mail:mail /var/spool/mail

  mkdir Local
 
  if module_installed xfree86 ; then
    cp src/EDITME           Local/Makefile
    cp exim_monitor/EDITME  Local/eximon.conf
  else
    grep -v "EXIM_MONITOR=" src/EDITME > Local/Makefile
  fi

  if module_installed tcp_wrappers ; then
    echo "USE_TCP_WRAPPERS=yes" >> Local/Makefile
    echo "EXTRALIBS=-lwrap"     >> Local/Makefile
  fi

  if module_installed Linux-PAM ; then
    echo "SUPPORT_PAM=yes" >> Local/Makefile
    if module_installed tcp_wrappers ; then
      echo "EXTRALIBS=-lpam -ldl -lwrap" >> Local/Makefile  
    else
      echo "EXTRALIBS=-lpam -ldl" >> Local/Makefile  
    fi
  fi

  if  module_installed  mysql;  then
    echo  "LOOKUP_MYSQL=yes"                     >>  Local/Makefile
    echo  "LOOKUP_INCLUDE=-I /usr/include/mysql" >>  Local/Makefile
    echo  "LOOKUP_LIBS=-lmysqlclient"            >>  Local/Makefile
  fi

  echo  "EXIM_USER=mail"                   >>  Local/Makefile
  echo  "BIN_DIRECTORY=/usr/sbin"          >>  Local/Makefile
  echo  "CONFIGURE_FILE=/etc/exim.conf"    >>  Local/Makefile
  echo  "SPOOL_DIRECTORY=/var/spool/mail"  >>  Local/Makefile
  echo  "CFLAGS=$CFLAGS"                   >>  Local/Makefile
  echo  "AUTH_CRAM_MD5=yes"                >>  Local/Makefile
  echo  "AUTH_PLAINTEXT=yes"               >>  Local/Makefile
  echo  "LOOKUP_NIS=yes"                   >>  Local/Makefile

  default_make

) > $C_FIFO 2>&1  &&  (

  ln     -sf  ../sbin/exim  /usr/lib/sendmail
  ln     -sf  exim         /usr/sbin/sendmail

  sedit  "s:var/mail:var/spool/mail:"         /etc/exim.conf
  sedit  "s/\# group = mail/  group = mail/"  /etc/exim.conf
  sedit  "s/\# mode = 0660/  mode = 0660/"    /etc/exim.conf

  if  [  "$IDENT_QUERIES"  == "n"  ]  &&
      !  grep  -q  "rfc1413_query_timeout"  /etc/exim.conf
  then
    cp  /etc/exim.conf  /tmp/exim.conf
    awk  '{
             sub(/host_lookup = \*/,
                 "&\nrfc1413_query_timeout = 0s");
             print
          }'  /tmp/exim.conf  >  /etc/exim.conf
    rm  /tmp/exim.conf
  fi

  touch  /etc/aliases

)

--- NEW FILE: CONFIGURE ---
if  !  grep  -q  "CRON="  $MODULE_CONFIG;  then

  message  "Exim can use either hc-cron or or fcron"  \
           "to periodically attempt to resend undelivered mail."

  if    query  "Attempt to resend undelivered via hc-cron?"  y
  then  echo   "CRON=h"  >>  $MODULE_CONFIG
  else  echo   "CRON=f"  >>  $MODULE_CONFIG
  fi

fi


if  !  grep  -q  "IDENT_QUERIES="  $MODULE_CONFIG;  then

  message  "Exim, by default, queries the ident server of"
  message  "the connecting host. Timeout value is 30 seconds."
  message  "If there is no identd running at the connecting"
  message  "host, that 30 seconds becomes a connection delay"
  message  "for every new connection."

  if    query  "Do you want to enable ident queries?"  y
     then  echo   "IDENT_QUERIES=y"  >>  $MODULE_CONFIG
     else  echo   "IDENT_QUERIES=n"  >>  $MODULE_CONFIG
  fi

fi

--- NEW FILE: CONFLICTS ---
conflicts  postfix  &&
conflicts  sendmail &&
conflicts  exim

--- NEW FILE: DEPENDS ---
depends  db    &&
depends  gawk  &&

case  $CRON  in
  f)  depends  fcron    ;;
  *)  depends  hc-cron  ;;
esac  &&

optional_depends  tcp_wrappers  ""  ""  "for controlling remote access"
optional_depends  mysql         ""  ""  "for mysql lookup tables"

--- NEW FILE: DETAILS ---
          MODULE=exim4
         VERSION=4.24
        #VERSION=4.22
          SOURCE=exim-$VERSION.tar.bz2
SOURCE_DIRECTORY=$BUILD_DIRECTORY/exim-$VERSION
   SOURCE_URL[0]=ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/$SOURCE
        WEB_SITE=http://www.exim.org
         ENTERED=20030923
         UPDATED=20031110
      MAINTAINER="tchan at lunar-linux.org"
           SHORT="exim is an Email server."
           PSAFE=no
cat << EOF
Exim is a message transfer agent (MTA) developed at the University of
Cambridge for use on Unix systems connected to the Internet. It is
freely available under the terms of the GNU General Public Licence. In
style it is similar to Smail 3, but its facilities are more extensive,
and in particular it has some defences against mail bombs and
unsolicited junk mail in the form of options for refusing messages from
particular hosts, networks, or senders.
EOF

--- NEW FILE: POST_INSTALL ---
EXIM_SCHEDULE="0 * * * * /usr/sbin/exim  -q"

case  $CRON  in
  f)  echo  -e  "`fcrontab  -l  2>/dev/null  |
      grep  -v  exim`\n$EXIM_SCHEDULE"       |
      fcrontab -                2>/dev/null
      ;;
  *)  echo  -e  "`crontab  -l           |
      sed   -n  4~1p                    |
      grep  -v  exim`\n$EXIM_SCHEDULE"  |
      crontab -
      ;;
esac

cat /etc/exim.conf | $SOURCE_DIRECTORY/build-Linux-i386/convert4r4 > exim.conf &&
mv /etc/exim.conf /etc/exim.conf.3 &&
mv exim.conf /etc/exim.conf

--- NEW FILE: PRE_REMOVE ---
if  module_installed  fcron;  then
  fcrontab  -l  2>/dev/null  |
  grep  -v  exim             |
  fcrontab -    2>/dev/null
fi

if  module_installed  hc-cron;  then
  crontab   -l    |
  sed   -n  4~1p  |
  grep  -v  exim  |
  crontab -
fi

--- NEW FILE: services ---
smtp		25/tcp




More information about the Lunar-commits mailing list