summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Jackson <iggy@gentoo.org>2003-07-23 04:01:05 +0000
committerBrian Jackson <iggy@gentoo.org>2003-07-23 04:01:05 +0000
commit22659cb85db9b5bf0271b0656ea9e666a3397d5d (patch)
tree32b146811a7b8db8904efe82765b51c25e63a7a7 /net-mail
parentfix bug 25028, and switch to single init script (diff)
downloadhistorical-22659cb85db9b5bf0271b0656ea9e666a3397d5d.tar.gz
historical-22659cb85db9b5bf0271b0656ea9e666a3397d5d.tar.bz2
historical-22659cb85db9b5bf0271b0656ea9e666a3397d5d.zip
fix bug 25028, and switch to single init script
Diffstat (limited to 'net-mail')
-rw-r--r--net-mail/courier/Manifest2
-rw-r--r--net-mail/courier/courier-0.42.2-r2.ebuild349
-rw-r--r--net-mail/courier/files/courier-init168
-rw-r--r--net-mail/courier/files/digest-courier-0.42.2-r21
4 files changed, 519 insertions, 1 deletions
diff --git a/net-mail/courier/Manifest b/net-mail/courier/Manifest
index a1d3c2585db8..1ab66d50a52e 100644
--- a/net-mail/courier/Manifest
+++ b/net-mail/courier/Manifest
@@ -1,7 +1,7 @@
MD5 b573cbab1e7859e1648d7ef48da3592d courier-0.42.2-r2.ebuild 10154
MD5 53327473ab98ae5f796aa93d31126841 courier-0.42.2-r1.ebuild 9800
MD5 cde0b9d363f6d323dff0b3435d2e89d0 courier-0.42.2.ebuild 9694
-MD5 aa0ca31939f522cd2e90b1bcee5626c7 ChangeLog 4534
+MD5 ea744618a84ea0ec955723c788c8f747 ChangeLog 4534
MD5 891fa054ac6cfcaee491ccaae9b84a85 metadata.xml 463
MD5 52f032e570c6f5f9f69b4e4bdfa562a1 files/password.dist 247
MD5 a546a21f960e4f921e71f614f719a2ce files/bofh 23
diff --git a/net-mail/courier/courier-0.42.2-r2.ebuild b/net-mail/courier/courier-0.42.2-r2.ebuild
new file mode 100644
index 000000000000..28a77f6ae818
--- /dev/null
+++ b/net-mail/courier/courier-0.42.2-r2.ebuild
@@ -0,0 +1,349 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /home/cvsroot/gentoo-x86/net-mail/courier/courier-0.41.0.ebuild
+
+inherit flag-o-matic eutils
+
+filter-flags -fomit-frame-pointer
+filter-flags -funroll-loops
+
+DESCRIPTION="An MTA designed specifically for maildirs"
+SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
+HOMEPAGE="http://www.courier-mta.org/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86 -ppc -sparc"
+IUSE="gdbm tcltk postgres ldap berkdb mysql pam nls tcltk ipv6 spell fax crypt"
+
+PROVIDE="virtual/mta
+ virtual/imapd"
+
+RDEPEND="virtual/glibc
+ >=dev-tcltk/expect-5.33.0
+ >=dev-libs/openssl-0.9.6
+ crypt? ( >=app-crypt/gnupg-1.0.4 )
+ fax? ( >=media-libs/netpbm-9.12
+ >=app-text/ghostscript-7.05.5
+ >=net-dialup/mgetty-1.1.28 )
+ pam? ( >=sys-libs/pam-0.75 )
+ berkdb? ( >=sys-libs/db-3.2 )
+ gdbm? ( >=sys-libs/gdbm-1.8.0 )
+ mysql? ( >=dev-db/mysql-3.23.36 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ postgres? ( >=dev-db/postgresql-7.1.3 )
+ tcltk? ( >=dev-tcltk/expect-5.33.0 )
+ spell? ( virtual/aspell-dict )"
+DEPEND="${RDEPEND}
+ app-admin/fam-oss
+ dev-lang/perl
+ sys-apps/procps"
+
+src_compile() {
+ local myconf
+ use pam || myconf="${myconf} --without-authpam"
+ use ldap || myconf="${myconf} --without-authldap"
+ use mysql || myconf="${myconf} --without-authmysql"
+ use postgres || myconf="${myconf} --without-authpostgresql"
+ use berkdb \
+ && myconf="${myconf} --with-db=db" \
+ || myconf="${myconf} --with-db=gdbm"
+ use ipv6 || myconf="${myconf} --without-ipv6"
+ use spell \
+ && myconf="${myconf} --with-ispell" \
+ || myconf="${myconf} --without-ispell"
+
+ if [ -f /var/vpopmail/etc/lib_deps ]; then
+ myconf="${myconf} --with-authvchkpw"
+ else
+ myconf="${myconf} --without-authvchkpw"
+ fi
+
+ #
+ # 1. If nls is enabled and ENABLE_UNICODE is not empty...
+ # enable the specified unicode sets
+ # 2. If nls is enabled and no unicode sets are specified,
+ # enable them all
+ # 3. If nls is disabled, disable unicode sets
+ #
+ if use nls && [ ! -z "$ENABLE_UNICODE" ]; then
+ myconf="${myconf} --enable-unicode=$ENABLE_UNICODE"
+ elif use nls; then
+ myconf="${myconf} --enable-unicode"
+ else
+ myconf="${myconf} --disable-unicode"
+ fi
+
+ myconf="${myconf} debug=true"
+
+ ./configure \
+ --prefix=/usr \
+ --disable-root-check \
+ --mandir=/usr/share/man \
+ --sysconfdir=/etc/courier \
+ --libexecdir=/usr/lib/courier \
+ --datadir=/usr/share/courier \
+ --sharedstatedir=/var/lib/courier/com \
+ --localstatedir=/var/lib/courier \
+ --with-piddir=/var/run/courier \
+ --with-authdaemonvar=/var/lib/courier/authdaemon \
+ --with-mailuser=mail \
+ --with-mailgroup=mail \
+ --with-paranoid-smtpext \
+ --disable-autorenamesent \
+ --enable-mimetypes=/etc/apache/conf/mime.types \
+ --enable-workarounds-for-imap-client-bugs \
+ --host=${CHOST} ${myconf} || die "bad ./configure"
+
+ emake || die "Compile problem"
+}
+
+chg_cfg() {
+ file=${1}
+ key=${2}
+ value=${3}
+
+ echo "changing ${file}: ${key} to ${value}"
+ sed -e "/\#\#NAME: ${key}/,+20 s|${key}=.*|${key}=\"${value}\"|g" ${file} > ${file}.tmp && chmod --reference ${file} ${file}.tmp && mv ${file}.tmp ${file}
+ rm -f ${f}.tmp 1>/dev/null 2>&1
+}
+
+set_mime() {
+ local files=$*
+
+ chk_badmime='##NAME: BOFHBADMIME:0'
+ pos_badmime='##NAME: NOADDMSGID:0'
+ ins_badmime='\
+##NAME: BOFHBADMIME:0\
+#\
+# set BOFHBADMIME\
+# to \"reject\" to return mail with invalid MIME header\
+# to \"wrap\" to wrap mail with invalid MIME header in an attachmant\
+# to \"accept\" to pass mail with invalid MIME header untouched\
+\
+BOFHBADMIME=accept\
+'
+
+ local f
+ for f in ${files}
+ do
+ if ! grep -q "${chk_badmime}" ${f}
+ then
+ echo "adding parameter ${chk_badmime} to ${f}"
+ sed -e"/${pos_badmime}/ i ${ins_badmime}" ${f} > ${f}.tmp && chmod --reference ${f} ${f}.tmp && mv -f ${f}.tmp ${f}
+ rm -f ${f}.tmp 1>/dev/null 2>&1
+ fi
+ done
+}
+
+set_maildir() {
+ local files=$*
+
+ origmaildir='Maildir'
+ newmaildir='.maildir'
+
+ local f
+ for f in ${files}
+ do
+ echo "changing ${origmaildir} in ${f} to ${newmaildir}"
+ sed -e"/^[^\#]/ s/${origmaildir}/${newmaildir}/g" ${f} > ${f}.tmp && chmod --reference ${f} ${f}.tmp && mv -f ${f}.tmp ${f}
+ rm -f ${f}.tmp 1> /dev/null 2>&1
+ done
+}
+
+src_install() {
+ dodir /var/lib/courier
+ dodir /etc/pam.d
+ make install DESTDIR=${D} || die
+ # fix bug #15873 bad owner on /var/run/courier
+ diropts -o mail -g mail
+ keepdir /var/run/courier
+
+ local f
+ cd ${D}/etc/courier
+ mv imapd.authpam imap.authpam
+ mv pop3d.authpam pop3.authpam
+ for f in *.authpam
+ do
+ cp "${f}" "${D}/etc/pam.d/${f%%.authpam}"
+ done
+
+ exeinto /etc/init.d
+ # we install the new single init script as courier
+ newexe ${FILESDIR}/courier-init courier
+ # and install the old main init script as courier-old
+ newexe ${FILESDIR}/courier courier-old
+ newexe ${FILESDIR}/courier-authdaemond courier-authdaemond
+ newexe ${FILESDIR}/courier-ldapaliasd courier-ldapaliasd
+ newexe ${FILESDIR}/courier-mta courier-mta
+ newexe ${FILESDIR}/courier-esmtpd courier-esmtpd
+ newexe ${FILESDIR}/courier-esmtpd-ssl courier-esmtpd-ssl
+ newexe ${FILESDIR}/courier-esmtpd-msa courier-esmtpd-msa
+ newexe ${FILESDIR}/courier-imapd courier-imapd
+ newexe ${FILESDIR}/courier-imapd-ssl courier-imapd-ssl
+ newexe ${FILESDIR}/courier-pop3d-ssl courier-pop3d-ssl
+ newexe ${FILESDIR}/courier-pop3d courier-pop3d
+ newexe ${FILESDIR}/courier-filterd courier-filterd
+
+ einfo "Setting up maildirs by default in the account skeleton ..."
+ diropts -m 755 -o root -g root
+ insinto /etc/skel
+ ${D}/usr/bin/maildirmake ${D}/etc/skel/.maildir
+ newins ${FILESDIR}/dot_courier .courier
+ fperms 644 /etc/skel/.courier
+ ${D}/usr/bin/maildirmake ${D}/var/spool/mail/.maildir
+ insinto /etc/courier
+ newins ${FILESDIR}/bofh bofh
+ newins ${FILESDIR}/locallowercase locallowercase
+ newins ${FILESDIR}/sizelimit sizelimit
+ newins ${FILESDIR}/apache-sqwebmail.inc apache-sqwebmail.inc
+
+ touch ${D}/var/lib/courier/webmail-logincache/.keep
+ touch ${D}/var/lib/courier/tmp/broken/.keep
+ touch ${D}/var/lib/courier/msgs/.keep
+ touch ${D}/var/lib/courier/msgq/.keep
+ touch ${D}/var/lib/courier/filters/.keep
+ touch ${D}/var/lib/courier/faxtmp/.keep
+ touch ${D}/var/lib/courier/calendar/public/.keep
+ touch ${D}/var/lib/courier/calendar/private/.keep
+ touch ${D}/var/lib/courier/calendar/localcache/.keep
+ touch ${D}/var/lib/courier/calendar/.keep
+ touch ${D}/var/lib/courier/allfilters/.keep
+
+ dodoc AUTHORS BENCHMARKS ChangeLog* NEWS README TODO
+
+ # See bug #10574
+ # file which describes the webadmin password file
+ insinto /etc/courier/webadmin
+ insopts -m 400 -o mail -g mail
+ doins ${FILESDIR}/password.dist
+
+ # fixes bug#25028 courier doesn't symlink sendmail to /usr/sbin
+ dosym /usr/bin/sendmail /usr/sbin/sendmail
+
+}
+
+pkg_preinst() {
+ # avoid name collisions in /usr/sbin
+ local y
+ cd ${D}/usr/share/courier
+ set_maildir imapd imapd-ssl pop3d pop3d-ssl
+
+ cd ${D}/usr/sbin
+ for y in imapd imapd-ssl pop3d pop3d-ssl
+ do
+ mv ${y} courier-${y}
+ done
+
+ cd ${D}/etc/courier
+ for y in *.dist
+ do
+ cp ${y} ${y%%.dist}
+ done
+ touch esmtproutes
+ touch backuprelay
+ touch maildroprc
+ chown mail:root ldapaliasrc
+ chg_cfg imapd-ssl COURIERTLS /usr/bin/couriertls
+ chg_cfg authdaemonrc authmodulelist authpam
+ chg_cfg authdaemonrc version authdaemond.plain
+ set_mime esmtpd esmtpd-ssl esmtpd-msa
+ set_maildir courierd
+}
+
+pkg_postinst() {
+ cd ${S}
+ make install-configure
+
+ # fixes bug #15873 for upgrades, should be able to yank this sometime in
+ # the future
+ chown --recursive mail.mail ${ROOT}/var/run/courier
+
+ # need to do this for new installs to be able to start courier
+ # without having to run rc-update ...
+ /etc/init.d/depscan.sh
+
+ einfo "The following command will setup courier for you system:"
+ einfo "ebuild /var/db/pkg/${CATEGORY}/${PN}-${PV}/${PN}-${PV}.ebuild config"
+ echo
+ einfo "To enable webmail/webadmin, run the following commands:"
+ einfo "$ echo \"Include /etc/courier/apache-sqwebmail.inc\" >> /etc/apache*/conf/apache.conf"
+ einfo "$ chmod a+rx /usr/lib/courier/courier/webmail"
+ einfo "Then visit: http(s)://localhost/courier/webmail"
+
+ ewarn "The init scripts for courier have changed."
+ ewarn "There is now one init script (/etc/init.d/courier). The rest"
+ ewarn "are obsolete. You can remove /etc/init.d/courier-*. You also"
+ ewarn "need to edit the following files in /etc/courier to enable"
+ ewarn "the different services:"
+ ewarn "imapd"
+ ewarn "pop3d"
+ ewarn "pop3d-ssl"
+ ewarn "esmtpd"
+ ewarn "imapd-ssl"
+ ewarn "esmtpd-msa"
+ ewarn "esmtpd-ssl"
+ ewarn "hint: look for a line at the bottom of the file that looks like so"
+ ewarn "ESMTPDSTART=NO"
+ ewarn "and change it to YES for the services that you use"
+ echo -ne "\a" ; sleep 1
+ echo -ne "\a" ; sleep 1
+ echo -ne "\a" ; sleep 1
+ echo -ne "\a" ; sleep 1
+ echo -ne "\a" ; sleep 1
+}
+
+pkg_config() {
+ mailhost=`hostname`
+ export mailhost
+
+ domainname=`echo ${mailhost} | sed -e "s/[^\.]*\.\(.*\)/\1/"`
+ export domainname
+
+
+ if [ ${ROOT} = "/" ] ; then
+ file=${ROOT}/etc/courier/locals
+ if [ ! -f ${file} ] ; then
+ echo "localhost" > ${file};
+ echo ${domainname} >> ${file};
+ fi
+ file=${ROOT}/etc/courier/esmtpacceptmailfor.dir/${domainname}
+ if [ ! -f ${file} ] ; then
+ echo ${domainname} > ${file}
+ /usr/sbin/makeacceptmailfor
+ fi
+
+ file=${ROOT}/etc/courier/smtpaccess/${domainname}
+ if [ ! -f ${file} ]
+ then
+ netstat -nr | grep "^[1-9]" | while read network gateway netmask rest
+ do
+ i=1
+ net=""
+ TIFS=${IFS}
+ IFS="."
+ for o in ${netmask}
+ do
+ if [ ${o} == "255" ]
+ then
+ [ "_${net}" == "_" ] || net="${net}."
+ t=`echo ${network} | cut -d " " -f ${i}`
+ net="${net}${t}"
+ fi
+ i=$((${i} + 1))
+ done
+ IFS=${TIFS}
+ echo "doing configuration - relay control for the network ${net} !"
+ echo "${net} allow,RELAYCLIENT" >> ${file}
+ done
+ /usr/sbin/makesmtpaccess
+ fi
+ fi
+
+ echo "creating cert for esmtpd-ssl:"
+ /usr/sbin/mkesmtpdcert
+ echo "creating cert for imapd-ssl:"
+ /usr/sbin/mkpop3dcert
+ echo "creating cert for pop3d-ssl:"
+ /usr/sbin/mkimapdcert
+}
diff --git a/net-mail/courier/files/courier-init b/net-mail/courier/files/courier-init
new file mode 100644
index 000000000000..c18d8d9ea430
--- /dev/null
+++ b/net-mail/courier/files/courier-init
@@ -0,0 +1,168 @@
+#!/sbin/runscript
+# Portions Copyright 2003 Gentoo Linux
+#
+# script originally from Courier distfile original name = courier.sysvinit
+# adapted for Gentoo by Brian Jackson
+#
+
+prefix="/usr"
+exec_prefix="/usr/bin"
+sysconfdir="/etc/courier"
+sbindir="/usr/sbin"
+libexecdir="/usr/libcourier"
+datadir="/usr/share/courier"
+#authlib="/usr/lib/courier/authlib"
+
+
+depend() {
+ need net
+}
+
+checkconfig() {
+
+ [ -f ${sysconfdir}/pop3d-ssl ] && . ${sysconfdir}/pop3d-ssl
+
+ # If we do not have a certificate, make one up.
+ [ ! -f "${datadir}/pop3d.pem" ] && \
+ ebegin " generating-POP3-SSL-certificate..." && "${sbindir}/mkpop3dcert"
+
+ [ -f ${sysconfdir}/imapd-ssl ] && . ${sysconfdir}/imapd-ssl
+
+ # If we do not have a certificate, make one up.
+ [ ! -f ${datadir}/imapd.pem ] && \
+ ebegin " generating-IMAP-SSL-certificate..." && "${sbindir}/mkimapdcert"
+
+ # First time after install create aliases.dat and smtpaccess.dat
+
+ [ -f ${sysconfdir}/aliases.dat ] || ${sbindir}/makealiases
+
+ [ -f ${sysconfdir}/${ACCESSFILE}.dat ] || ${sbindir}/makesmtpaccess
+
+ [ -f ${sysconfdir}/${ACCESSFILE}.dat ] || ${sbindir}/makesmtpaccess-msa
+
+ # we need this for now to check for the old init scripts
+ if [ -f /etc/init.d/courier-authdaemond ] ; then
+ einfo "As of courier-0.42.2-r2, there is only one init script used"
+ einfo "you can remove /etc/init.d/courier-*. /etc/init.d/courier is"
+ einfo "the only one you need."
+ fi
+
+}
+
+start() {
+ # Start daemons.
+ ebegin "Starting Courier mail server:"
+
+ checkconfig || return 1
+
+ ebegin " Starting courierfilterd"
+ ${sbindir}/courierfilter start
+
+ [ -x ${libexecdir}/authlib/authdaemond ] && \
+ ${libexecdir}/authlib/authdaemond start && ebegin " Starting authdaemond"
+
+ [ -x ${sbindir}/courierldapaliasd ] && \
+ ${sbindir}/courierldapaliasd start && ebegin " Starting courierldapaliasd"
+
+ ebegin " Starting courierd"
+ ${sbindir}/courier start
+
+ # start esmtpd if so written
+ [ -f ${sysconfdir}/esmtpd ] && source ${sysconfdir}/esmtpd
+ case x$ESMTPDSTART in
+ x[yY]*)
+ ebegin " Starting esmtpd"
+ ${sbindir}/esmtpd start
+ ;;
+ esac
+
+ # start esmtpd-msa if so written
+ [ -f ${sysconfdir}/esmtpd-msa ] && source ${sysconfdir}/esmtpd-msa
+ case x$ESMTPDSTART in
+ x[yY]*)
+ ebegin " Starting esmtpd-msa"
+ ${sbindir}/esmtpd-msa start
+ ;;
+ esac
+
+ # start pop3d if so written
+ [ -f ${sysconfdir}/pop3d ] && source ${sysconfdir}/pop3d
+ case x$POP3DSTART in
+ x[yY]*)
+ ebegin " courier-pop3d"
+ ${sbindir}/courier-pop3d start
+ ;;
+ esac
+
+ # start pop3d-ssl if so written
+ [ -f ${sysconfdir}/pop3d-ssl ] && source ${sysconfdir}/pop3d-ssl
+ case x$POP3DSTART in
+ x[yY]*)
+ ebegin " courier-pop3d"
+ ${sbindir}/courier-pop3d-ssl start
+ ;;
+ esac
+
+ [ -f ${sysconfdir}/imapd ] && source ${sysconfdir}/imapd
+ case x$IMAPDSTART in
+ x[yY]*)
+ ebegin " courier-imapd"
+ ${sbindir}/courier-imapd start
+ ;;
+ esac
+
+ [ -f ${sysconfdir}/imapd-ssl ] && source ${sysconfdir}/imapd-ssl
+ case x$IMAPDSSLSTART in
+ x[yY]*)
+ ebegin " courier-imapd-ssl"
+ ${sbindir}/courier-imapd-ssl start
+ ;;
+ esac
+
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Courier mail server:"
+
+ ebegin " Stopping courier-esmtpd"
+ ${sbindir}/esmtpd stop
+
+ ebegin " Stopping courier-esmtpd-msa"
+ ${sbindir}/esmtpd-msa stop
+
+ [ -x ${sbindir}/courier-pop3d ] && \
+ ebegin " Stopping courier-pop3d" && ${sbindir}/courier-pop3d stop
+
+ [ -x ${sbindir}/pop3d-ssl ] && \
+ ebegin " Stopping courier-pop3d-ssl" && ${sbindir}/courier-pop3d-ssl stop
+
+ [ -x ${sbindir}/courier-imapd ] && \
+ ebegin " Stopping courier-imapd" && ${sbindir}/courier-imapd stop
+
+
+ [ -x ${sbindir}/courier-imapd-ssl ] && \
+ ebegin " Stopping courier-imapd-ssl" && ${sbindir}/courier-imapd-ssl stop
+
+ ebegin " Stopping courierd"
+ ${sbindir}/courier stop
+
+ [ -x ${sbindir}/courierldapaliasd ] && \
+ ( ${sbindir}/courierldapaliasd stop ; ebegin " Stoping courierldapaliasd" )
+
+ [ -x ${libexecdir}/authlib/authdaemond ] && \
+ ( ${libexecdir}/authlib/authdaemond stop ; ebegin " Stoping authdaemond" )
+
+ ${sbindir}/courierfilter stop
+ ebegin " Stopping courierfilterd"
+
+ eend $?
+}
+
+
+
+# restart() {
+# ebegin "Restarting courier filterd"
+# /usr/sbin/courierfilter restart
+# eend $?
+# }
diff --git a/net-mail/courier/files/digest-courier-0.42.2-r2 b/net-mail/courier/files/digest-courier-0.42.2-r2
new file mode 100644
index 000000000000..62f09dfd9bee
--- /dev/null
+++ b/net-mail/courier/files/digest-courier-0.42.2-r2
@@ -0,0 +1 @@
+MD5 f607cbd949dd0fe7f138cf3b65d702f4 courier-0.42.2.tar.bz2 3348347