aboutsummaryrefslogtreecommitdiffstats
path: root/mail/postfix26/files/pkg-install.in
blob: 3137ba3d2ecb672c26044b7e225e15aacf5c8982 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/bin/sh
#
#   $FreeBSD: /tmp/pcvs/ports/mail/postfix26/files/pkg-install.in,v 1.7 2012-02-11 21:27:57 sahil Exp $
#

# If the POSTFIX_DEFAULT_MTA environment variable is set to YES, it
# will make the port/package use defaults which make postfix replace
# sendmail as much as possible.

PREFIX=${PKG_PREFIX:=%%PREFIX%%}
ETCDIR=${ETCDIR:=%%ETCDIR%%}
DAEMONDIR=${DAEMONDIR:=%%DAEMONDIR%%}
READMEDIR=${READMEDIR:=%%READMEDIR%%}
BATCH=${BATCH:=no}
POSTFIX_DEFAULT_MTA=${POSTFIX_DEFAULT_MTA:=no}
MC=/etc/mail/mailer.conf

if [ "${POSTFIX_DEFAULT_MTA}" = "no" ]; then
      DEFAULT_REPLACE_MAILERCONF=n
else
      DEFAULT_REPLACE_MAILERCONF=y
fi

if [ -x /usr/sbin/nologin ]; then
      NOLOGIN=/usr/sbin/nologin
else
      NOLOGIN=/sbin/nologin
fi

ask() {
      local question default answer

      question=$1
      default=$2
      if [ -z "${PACKAGE_BUILDING}" -a "${BATCH}" = "no" ]; then
          read -p "${question} [${default}]? " answer
      fi
      if [ -z "${answer}" ]; then
          answer=${default}
      fi
      echo ${answer}
}

yesno() {
      local question default answer

      question=$1
      default=$2
      while :; do
          answer=$(ask "${question}" "${default}")
          case "${answer}" in
              [Yy]*)    return 0;;
              [Nn]*)    return 1;;
          esac
          echo "Please answer yes or no."
      done
}

if [ "$2" = "POST-INSTALL" ]; then
    SAMPLES="main.cf master.cf" 
    for file in $SAMPLES
    do
        if [ ! -f ${ETCDIR}/$file ]; then
                    cp ${DAEMONDIR}/$file ${ETCDIR}/
        fi
    done

        cmp ${DAEMONDIR}/main.cf ${ETCDIR}/main.cf >/dev/null 2>&1 \
     && POSTARG="set-permissions" \
     || POSTARG="upgrade-package"

    /bin/sh ${DAEMONDIR}/post-install tempdir=/tmp \
     daemon_directory=${DAEMONDIR} \
     html_directory=${READMEDIR} \
     readme_directory=${READMEDIR} \
     ${POSTARG}
fi

if [ "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" -a -f "${MC}" ]; then
    egrep -q "^sendmail.*${PREFIX}/sbin/sendmail"    ${MC} && \
    egrep -q "^send-mail.*${PREFIX}/sbin/sendmail"   ${MC} && \
    egrep -q "^mailq.*${PREFIX}/sbin/sendmail"       ${MC} && \
    egrep -q "^newaliases.*${PREFIX}/sbin/sendmail"  ${MC}
    ret=$?
    if [ ${ret} -ne 0 ]; then
        if yesno "Would you like to activate Postfix in ${MC}" ${DEFAULT_REPLACE_MAILERCONF}; then
            /bin/mv -f ${MC} ${MC}.old
            echo "#"                        >   ${MC}
            echo -n "# Execute the Postfix sendmail program"    >>  ${MC}
            echo ", named ${PREFIX}/sbin/sendmail"          >>  ${MC}
            echo "#"                        >>  ${MC}
            echo "sendmail  ${PREFIX}/sbin/sendmail"    >>  ${MC}
            echo "send-mail ${PREFIX}/sbin/sendmail"    >>  ${MC}
            echo "mailq     ${PREFIX}/sbin/sendmail"    >>  ${MC}
            echo "newaliases    ${PREFIX}/sbin/sendmail"    >>  ${MC}
        fi
    else
        echo "Postfix already activated in ${MC}"
    fi
fi