diff options
author | Scott W Taylor <swtaylor@gentoo.org> | 2004-12-06 01:48:12 +0000 |
---|---|---|
committer | Scott W Taylor <swtaylor@gentoo.org> | 2004-12-06 01:48:12 +0000 |
commit | 1629a2db504d87671554d797f532b46fbe270651 (patch) | |
tree | 2e5faee39c08e828399079c605c6b8d3f7f2f4db /mail-mta | |
parent | version bump for security fixing goodness (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | mail-mta/courier/Manifest | 6 | ||||
-rw-r--r-- | mail-mta/courier/courier-0.47-r1.ebuild | 370 | ||||
-rw-r--r-- | mail-mta/courier/courier-0.47.20041129.ebuild | 5 | ||||
-rw-r--r-- | mail-mta/courier/files/digest-courier-0.47-r1 | 1 |
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 |