diff options
Diffstat (limited to 'mail/postfix-current/pkg-install')
-rw-r--r-- | mail/postfix-current/pkg-install | 287 |
1 files changed, 138 insertions, 149 deletions
diff --git a/mail/postfix-current/pkg-install b/mail/postfix-current/pkg-install index 5765d42430c1..dfddc1b412ed 100644 --- a/mail/postfix-current/pkg-install +++ b/mail/postfix-current/pkg-install @@ -12,180 +12,169 @@ BATCH=${BATCH:=no} POSTFIX_DEFAULT_MTA=${POSTFIX_DEFAULT_MTA:=no} if [ x${POSTFIX_DEFAULT_MTA} = xno ]; then - DEFAULT_REPLACE_MAILERCONF=n + DEFAULT_REPLACE_MAILERCONF=n else - DEFAULT_REPLACE_MAILERCONF=y + DEFAULT_REPLACE_MAILERCONF=y fi if [ -x /usr/sbin/nologin ]; then - NOLOGIN=/usr/sbin/nologin + NOLOGIN=/usr/sbin/nologin else - NOLOGIN=/sbin/nologin + NOLOGIN=/sbin/nologin fi ask() { - local question default answer - - question=$1 - default=$2 - if [ -z "${PACKAGE_BUILDING}" -a x${BATCH} = xno ]; then - read -p "${question} [${default}]? " answer - fi - if [ x${answer} = x ]; then - answer=${default} - fi - echo ${answer} + local question default answer + + question=$1 + default=$2 + if [ -z "${PACKAGE_BUILDING}" -a x${BATCH} = xno ]; then + /usr/bin/read -p "${question} [${default}]? " answer + fi + if [ x${answer} = x ]; then + answer=${default} + fi + /bin/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 + local question default answer + + question=$1 + default=$2 + while :; do + answer=$(ask "${question}" "${default}") + case "${answer}" in + [Yy]*) return 0;; + [Nn]*) return 1;; + esac + /bin/echo "Please answer yes or no." + done } if [ x"$2" = xPRE-INSTALL ]; then - USER=postfix - UID=125 - GROUP=postfix - GID=125 - GROUP2=maildrop - GID2=126 - - if /usr/sbin/pw groupshow "${GROUP}" 2>/dev/null; then - echo "You already have a group \"${GROUP}\", so I will use it." - else - if /usr/sbin/pw groupadd ${GROUP} -g ${GID} - then - echo "Added group \"${GROUP}\"." + USER=postfix + UID=125 + GROUP=postfix + GID=125 + GROUP2=maildrop + GID2=126 + + if /usr/sbin/pw groupshow "${GROUP}" 2>/dev/null; then + /bin/echo "You already have a group \"${GROUP}\", so I will use it." else - echo "Adding group \"${GROUP}\" failed..." - echo "Please create it, and try again." - exit 1 - fi - fi - - if /usr/sbin/pw groupshow "${GROUP2}" 2>/dev/null; then - echo "You already have a group \"${GROUP2}\", so I will use it." - else - if /usr/sbin/pw groupadd ${GROUP2} -g ${GID2} - then - echo "Added group \"${GROUP2}\"." + if /usr/sbin/pw groupadd ${GROUP} -g ${GID}; then + /bin/echo "Added group \"${GROUP}\"." + else + /bin/echo "Adding group \"${GROUP}\" failed..." + /bin/echo "Please create it, and try again." + exit 1 + fi + fi + + if /usr/sbin/pw groupshow "${GROUP2}" 2>/dev/null; then + /bin/echo "You already have a group \"${GROUP2}\", so I will use it." else - echo "Adding group \"${GROUP2}\" failed..." - echo "Please create it, and try again." - exit 1 - fi - fi - - if /usr/sbin/pw user show "${USER}" 2>/dev/null; then - echo "You already have a user \"${USER}\", so I will use it." - else - if /usr/sbin/pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \ - -d /var/spool/postfix \ - -s ${NOLOGIN} \ - -c "Postfix Mail System" - then - echo "Added user \"${USER}\"." + if /usr/sbin/pw groupadd ${GROUP2} -g ${GID2}; then + /bin/echo "Added group \"${GROUP2}\"." + else + /bin/echo "Adding group \"${GROUP2}\" failed..." + /bin/echo "Please create it, and try again." + exit 1 + fi + fi + + if /usr/sbin/pw user show "${USER}" 2>/dev/null; then + /bin/echo "You already have a user \"${USER}\", so I will use it." else - echo "Adding user \"${USER}\" failed..." - echo "Please create it, and try again." - exit 1 - fi - fi - - if /usr/sbin/pw show group mail | grep -q "${USER}" 2>/dev/null; then - echo "You already have user \"${USER}\" in group \"mail\", so I will use it." - else - echo "You need user \"${USER}\" added to group \"mail\"." - if yesno "Would you like me to add it" y; then - /usr/sbin/pw groupmod mail -m ${USER} || exit - echo "Done." - else - echo "Please create it, and try again." - exit 1 - fi - fi - + if /usr/sbin/pw useradd ${USER} -u ${UID} -g ${GROUP} -h - -d /var/spool/postfix -s ${NOLOGIN} -c "Postfix Mail System"; then + /bin/echo "Added user \"${USER}\"." + else + /bin/echo "Adding user \"${USER}\" failed..." + /bin/echo "Please create it, and try again." + exit 1 + fi + fi + + if /usr/sbin/pw show group mail | grep -q "${USER}" 2>/dev/null; then + /bin/echo "You already have user \"${USER}\" in group \"mail\", so I will use it." + else + /bin/echo "You need user \"${USER}\" added to group \"mail\"." + if yesno "Would you like me to add it" y; then + /usr/sbin/pw groupmod mail -m ${USER} || exit + /bin/echo "Done." + else + /bin/echo "Please create it, and try again." + exit 1 + fi + fi fi if [ x"$2" = xPOST-INSTALL ]; then - # CONF1 copied from Makefile. Keep consistent! - CONF1="main.cf master.cf access aliases canonical \ - header_checks relocated transport virtual" - - for file in $CONF1 - do - if [ ! -f ${PKG_PREFIX}/etc/postfix/$file ]; then - cp ${PKG_PREFIX}/etc/postfix/dist-$file ${PKG_PREFIX}/etc/postfix/$file - fi - done - - sh ${PKG_PREFIX}/etc/postfix/post-install tempdir=/tmp \ - config_directory=${PKG_PREFIX}/etc/postfix \ - daemon_directory=${PKG_PREFIX}/libexec/postfix \ - command_directory=${PKG_PREFIX}/sbin \ - queue_directory=/var/spool/postfix \ - sendmail_path=${PKG_PREFIX}/sbin/sendmail \ - newaliases_path=${PKG_PREFIX}/bin/newaliases \ - mailq_path=${PKG_PREFIX}/bin/mailq \ - mail_owner=postfix \ - setgid_group=maildrop \ - manpage_directory=${PKG_PREFIX}/man \ - sample_directory=${PKG_PREFIX}/etc/postfix \ - readme_directory=no \ - upgrade-package + if [ -d ${PKG_PREFIX}/etc/postfix/dist ]; then + for file in ${PKG_PREFIX}/etc/postfix/dist/*; do + if [ ! -f ${PKG_PREFIX}/etc/postfix/${file#${PKG_PREFIX}/etc/postfix/dist} ]; then + cp $file ${PKG_PREFIX}/etc/postfix/ + fi + done + fi + + /bin/sh ${PKG_PREFIX}/etc/postfix/post-install tempdir=/tmp \ + config_directory=${PKG_PREFIX}/etc/postfix \ + daemon_directory=${PKG_PREFIX}/libexec/postfix \ + command_directory=${PKG_PREFIX}/sbin \ + queue_directory=/var/spool/postfix \ + sendmail_path=${PKG_PREFIX}/sbin/sendmail \ + newaliases_path=${PKG_PREFIX}/bin/newaliases \ + mailq_path=${PKG_PREFIX}/bin/mailq \ + mail_owner=postfix \ + setgid_group=maildrop \ + manpage_directory=${PKG_PREFIX}/man \ + sample_directory=${PKG_PREFIX}/etc/postfix \ + readme_directory=no \ + upgrade-package +fi # readme_directory is "no" above since the package will have correct perms # already, and we don't know if they had PORTDOCS. -fi replace() { - local orig repl - - orig=$1 - repl=$2 - if [ -e ${orig} ]; then - mv -f ${orig} ${orig}.OFF - chmod 0 ${orig}.OFF - fi - if [ -e ${repl} ]; then - ln -s ${repl} ${orig} - fi + local orig repl + + orig=$1 + repl=$2 + if [ -e ${orig} ]; then + /bin/mv -f ${orig} ${orig}.OFF + /bin/chmod 0 ${orig}.OFF + fi + if [ -e ${repl} ]; then + /bin/ln -s ${repl} ${orig} + fi } if [ x"$2" = xPOST-INSTALL -a -z "${PACKAGE_BUILDING}" ]; then - if [ -x /sbin/sysctl ]; then - OSVERSION=`/sbin/sysctl -n kern.osreldate` - else - OSVERSION=`/usr/sbin/sysctl -n kern.osreldate` - fi - if [ ${OSVERSION} -ge 400014 ]; then - if yesno "Would you like to activate Postfix in /etc/mail/mailer.conf" \ - ${DEFAULT_REPLACE_MAILERCONF}; then - mv -f /etc/mail/mailer.conf /etc/mail/mailer.conf.old - echo "#" > /etc/mail/mailer.conf - echo -n "# Execute the Postfix sendmail program" >> /etc/mail/mailer.conf - echo ", named ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf - echo "#" >> /etc/mail/mailer.conf - echo "sendmail ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf - echo "send-mail ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf - echo "mailq ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf - echo "newaliases ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf - fi - else - if yesno "Would you like to replace {sendmail,mailq,newaliases} with Postfix versions" n; then - replace /usr/sbin/sendmail ${PKG_PREFIX}/sbin/sendmail - replace /usr/bin/mailq ${PKG_PREFIX}/sbin/sendmail - replace /usr/bin/newaliases ${PKG_PREFIX}/sbin/sendmail - echo "Done." - fi - fi + if [ -x /sbin/sysctl ]; then + OSVERSION=`/sbin/sysctl -n kern.osreldate` + else + OSVERSION=`/usr/sbin/sysctl -n kern.osreldate` + fi + if [ ${OSVERSION} -ge 400014 ]; then + if yesno "Would you like to activate Postfix in /etc/mail/mailer.conf" ${DEFAULT_REPLACE_MAILERCONF}; then + /bin/mv -f /etc/mail/mailer.conf /etc/mail/mailer.conf.old + /bin/echo "#" > /etc/mail/mailer.conf + /bin/echo -n "# Execute the Postfix sendmail program" >> /etc/mail/mailer.conf + /bin/echo ", named ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf + /bin/echo "#" >> /etc/mail/mailer.conf + /bin/echo "sendmail ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf + /bin/echo "send-mail ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf + /bin/echo "mailq ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf + /bin/echo "newaliases ${PKG_PREFIX}/sbin/sendmail" >> /etc/mail/mailer.conf + fi + else + if yesno "Would you like to replace {sendmail,mailq,newaliases} with Postfix versions" n; then + replace /usr/sbin/sendmail ${PKG_PREFIX}/sbin/sendmail + replace /usr/bin/mailq ${PKG_PREFIX}/sbin/sendmail + replace /usr/bin/newaliases ${PKG_PREFIX}/sbin/sendmail + /bin/echo "Done." + fi + fi fi |