summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott W Taylor <swtaylor@gentoo.org>2004-12-06 01:48:12 +0000
committerScott W Taylor <swtaylor@gentoo.org>2004-12-06 01:48:12 +0000
commit1629a2db504d87671554d797f532b46fbe270651 (patch)
tree2e5faee39c08e828399079c605c6b8d3f7f2f4db /mail-mta
parentversion bump for security fixing goodness (diff)
downloadgentoo-2-1629a2db504d87671554d797f532b46fbe270651.tar.gz
gentoo-2-1629a2db504d87671554d797f532b46fbe270651.tar.bz2
gentoo-2-1629a2db504d87671554d797f532b46fbe270651.zip
play better with mailwrapper. #73486
Diffstat (limited to 'mail-mta')
-rw-r--r--mail-mta/courier/ChangeLog8
-rw-r--r--mail-mta/courier/Manifest6
-rw-r--r--mail-mta/courier/courier-0.47-r1.ebuild370
-rw-r--r--mail-mta/courier/courier-0.47.20041129.ebuild5
-rw-r--r--mail-mta/courier/files/digest-courier-0.47-r11
5 files changed, 385 insertions, 5 deletions
diff --git a/mail-mta/courier/ChangeLog b/mail-mta/courier/ChangeLog
index 5e475dcd9b03..cc15c8dde426 100644
--- a/mail-mta/courier/ChangeLog
+++ b/mail-mta/courier/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for mail-mta/courier
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-mta/courier/ChangeLog,v 1.33 2004/12/06 00:05:07 swtaylor Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/courier/ChangeLog,v 1.34 2004/12/06 01:48:12 swtaylor Exp $
+
+*courier-0.47-r1 (05 Dec 2004)
+
+ 05 Dec 2004; Scott W Taylor <swtaylor@gentoo.org> +courier-0.47-r1.ebuild,
+ courier-0.47.20041129.ebuild:
+ build courier before mailwrapper, bug 73486
05 Dec 2004; Scott W Taylor <swtaylor@gentoo.org>
courier-0.47.20041129.ebuild:
diff --git a/mail-mta/courier/Manifest b/mail-mta/courier/Manifest
index 6878e89e2f80..fd8e87a55bd0 100644
--- a/mail-mta/courier/Manifest
+++ b/mail-mta/courier/Manifest
@@ -1,10 +1,11 @@
MD5 eae06bc935727a2243daae27af6fba24 courier-0.47.ebuild 10447
-MD5 0d316189e05ab90a1847b72ee753ede4 courier-0.47.20041129.ebuild 8452
+MD5 52105281b4ca8f26e1fd11feb192573c courier-0.47.20041129.ebuild 8462
MD5 9482696d470d858a2e9331aed21191fa courier-0.46.ebuild 9766
MD5 8169e6bebff6d078a1c11fad92e6ffbe courier-0.46.20040825.ebuild 10008
MD5 7428e4492712d927ef9d824ed3e21d85 courier-0.46.20040902.ebuild 10010
-MD5 46e87d08af2c3c939b44c011aa9142ec ChangeLog 15578
+MD5 78142db5477959350483b7c54192f90e ChangeLog 15766
MD5 b287829e2f9edbcf1ff7bb349055e77e metadata.xml 392
+MD5 f5f8d9c6d3bec7d3296dc979813025d8 courier-0.47-r1.ebuild 10645
MD5 52f032e570c6f5f9f69b4e4bdfa562a1 files/password.dist 247
MD5 a546a21f960e4f921e71f614f719a2ce files/bofh 23
MD5 1c43ee40b3a67f8c6f30fa0f08293211 files/digest-courier-0.46 66
@@ -17,4 +18,5 @@ MD5 d41d8cd98f00b204e9800998ecf8427e files/locallowercase 0
MD5 7bd4625b319ee834c65e73ec927cd2ff files/courier-init 5414
MD5 e3a4ab031bd750b7ce2c7b85fee83d8e files/set-mime 741
MD5 548c02d9627ea67bf8109dcf960a60c8 files/digest-courier-0.47.20041129 75
+MD5 8396693e821bf04e8382d047cc740b5e files/digest-courier-0.47-r1 66
MD5 4eb96413bfbc91629bdf43526716cd1e files/dot_courier 26
diff --git a/mail-mta/courier/courier-0.47-r1.ebuild b/mail-mta/courier/courier-0.47-r1.ebuild
new file mode 100644
index 000000000000..602c45dfcd07
--- /dev/null
+++ b/mail-mta/courier/courier-0.47-r1.ebuild
@@ -0,0 +1,370 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/courier/courier-0.47-r1.ebuild,v 1.1 2004/12/06 01:48:12 swtaylor Exp $
+
+inherit eutils
+
+DESCRIPTION="An MTA designed specifically for maildirs"
+[ -z "${PV/?.??/}" ] && SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2" || SRC_URI="http://www.courier-mta.org/beta/courier/${P}.tar.bz2"
+HOMEPAGE="http://www.courier-mta.org/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="x86 alpha ppc sparc amd64 ~mips"
+IUSE="postgres ldap mysql pam nls ipv6 spell fax crypt norewrite uclibc mailwrapper"
+
+PROVIDE="virtual/mta
+ virtual/mda
+ virtual/imapd"
+
+DEPEND="virtual/libc
+ >=dev-libs/openssl-0.9.6
+ >=sys-libs/gdbm-1.8.0
+ crypt? ( >=app-crypt/gnupg-1.0.4 )
+ fax? ( >=media-libs/netpbm-9.12
+ virtual/ghostscript
+ >=net-dialup/mgetty-1.1.28 )
+ pam? ( >=sys-libs/pam-0.75 )
+ mysql? ( >=dev-db/mysql-3.23.36 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ postgres? ( >=dev-db/postgresql-7.1.3 )
+ spell? ( virtual/aspell-dict )
+ !mailwrapper? ( !virtual/mta )
+ !virtual/mda
+ !virtual/imapd"
+
+RDEPEND="${DEPEND}
+ virtual/fam
+ dev-lang/perl
+ sys-apps/procps"
+
+PDEPEND="mailwrapper? ( >=net-mail/mailwrapper-0.2 )"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ use norewrite && epatch ${FILESDIR}/norewrite.patch
+ use uclibc && sed -i -e 's:linux-gnu\*:linux-gnu\*\ \|\ linux-uclibc:' config.sub
+}
+
+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 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 \
+ --with-db=gdbm \
+ --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
+}
+
+set_dollarmaildir() {
+ local files=$*
+
+ origmaildir='Maildir'
+ newmaildir='$MAILDIRPATH'
+
+ 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
+ mkdir -p ${D}/var/run/courier
+ diropts -o mail -g mail
+ for dir2keep in `(cd ${D} && find . -type d)` ; do
+ keepdir $dir2keep || die "failed running keepdir: $dir2keep"
+ done
+
+ 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 if the old one
+ # is installed which it will be now, but for the future...
+ `grep DAEMONLIST /etc/init.d/courier >&/dev/null` && \
+ newexe ${FILESDIR}/courier courier-old
+ # the rest of them don't need to be installed
+
+ einfo "Setting up maildirs by default in the account skeleton ..."
+ diropts -m 755 -o root -g root
+ keepdir /etc/skel
+ ${D}/usr/bin/maildirmake ${D}/etc/skel/.maildir
+ keepdir /var/spool/mail
+ ${D}/usr/bin/maildirmake ${D}/var/spool/mail/.maildir
+ insinto /etc/courier
+ newins ${FILESDIR}/bofh bofh
+ newins ${FILESDIR}/locallowercase locallowercase
+ newins ${FILESDIR}/apache-sqwebmail.inc apache-sqwebmail.inc
+ echo 0 > ${D}/etc/courier/sizelimit
+
+ cd ${S}
+ dodoc AUTHORS BENCHMARKS ChangeLog* NEWS README TODO
+ dodoc authlib/README.authmysql.myownquery authlib/README.ldap courier/doc/*.txt
+ echo "See /usr/share/courier/htmldoc/index.html for docs in html format" \
+ >>${D}/usr/share/doc/${P}/README.htmldocs
+
+ insinto /usr/lib/courier/courier
+ insopts -m 755 -o mail -g mail
+ doins ${S}/courier/webmaild
+
+ # 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
+ # and 73486 for mailwrapper support
+ if use mailwrapper ; then
+ mv ${D}/usr/bin/sendmail ${D}/usr/bin/sendmail.courier
+ rm ${D}/usr/bin/rmail
+ insinto /etc/mail
+ doins ${FILESDIR}/mailer.conf
+ else
+ dosym /usr/bin/sendmail /usr/sbin/sendmail
+ fi
+
+ echo "MAILDIR=\$HOME/.maildir" >> ${D}/etc/courier/courierd
+
+ # we change the names of the binaries, but webadmin is still looking
+ # for the old names
+ sed -i -e 's:\$sbindir\/imapd:\$sbindir\/courier-imapd:g' \
+ -e 's:\$sbindir\/imapd-ssl:\$sbindir\/courier-imapd-ssl:g' \
+ ${D}/usr/share/courier/courierwebadmin/admin-40imap.pl \
+ || ewarn "failed to fix webadmin"
+ sed -i -e 's:\$sbindir\/pop3d:\$sbindir\/courier-pop3d:g' \
+ -e 's:\$sbindir\/pop3d-ssl:\$sbindir\/courier-pop3d-ssl:g' \
+ ${D}/usr/share/courier/courierwebadmin/admin-45pop3.pl \
+ || ewarn "failed to fix webadmin"
+
+ # avoid name collisions in /usr/sbin
+ local y
+ cd ${D}/usr/share/courier
+ set_dollarmaildir 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
+ [ -e ldapaliasrc ] && 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 imapd imapd-ssl pop3d pop3d-ssl sqwebmaild *.dist
+}
+
+pkg_postinst() {
+ cd ${S}
+ make install-configure
+
+ einfo "The following command will setup courier for your 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"
+ echo
+ ewarn "There is one init script (/etc/init.d/courier)."
+ ewarn "Each component is activated by a line in its config"
+ ewarn "which is in /etc/courier:"
+ ewarn "imapd"
+ ewarn "imapd-ssl"
+ ewarn "pop3d"
+ ewarn "pop3d-ssl"
+ ewarn "esmtpd"
+ 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
+ einfo "expect was removed as a dependency due to it's limited usefulness."
+ einfo "If you need the ability to change passwords via webmail _while_ using AUTHPAM, you'll"
+ einfo "have to emerge expect manually. Other auth modules are unaffected."
+ ebeep 5
+}
+
+pkg_config() {
+ mailhost=`hostname`
+ export mailhost
+
+ domainname=`domainname`
+ if [ "x$domainname" = "x(none)" ] ; then
+ domainname=`echo ${mailhost} | sed -e "s/[^\.]*\.\(.*\)/\1/"`
+ fi
+ 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/mail-mta/courier/courier-0.47.20041129.ebuild b/mail-mta/courier/courier-0.47.20041129.ebuild
index 976902e7582f..e7bfcae6a582 100644
--- a/mail-mta/courier/courier-0.47.20041129.ebuild
+++ b/mail-mta/courier/courier-0.47.20041129.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/mail-mta/courier/courier-0.47.20041129.ebuild,v 1.3 2004/12/06 00:05:07 swtaylor Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-mta/courier/courier-0.47.20041129.ebuild,v 1.4 2004/12/06 01:48:12 swtaylor Exp $
inherit eutils
@@ -28,7 +28,6 @@ DEPEND="virtual/libc
ldap? ( >=net-nds/openldap-1.2.11 )
postgres? ( >=dev-db/postgresql-7.1.3 )
spell? ( virtual/aspell-dict )
- mailwrapper? ( >=net-mail/mailwrapper-0.2 )
!mailwrapper? ( !virtual/mta )
!virtual/mda
!virtual/imapd"
@@ -38,6 +37,8 @@ RDEPEND="${DEPEND}
dev-lang/perl
sys-apps/procps"
+PDEPEND="mailwrapper? ( >=net-mail/mailwrapper-0.2 )"
+
src_unpack() {
unpack ${A}
cd ${S}
diff --git a/mail-mta/courier/files/digest-courier-0.47-r1 b/mail-mta/courier/files/digest-courier-0.47-r1
new file mode 100644
index 000000000000..60ac7ea405bb
--- /dev/null
+++ b/mail-mta/courier/files/digest-courier-0.47-r1
@@ -0,0 +1 @@
+MD5 639bb3b236914e3b86f287ce3f55264e courier-0.47.tar.bz2 4268038