New ebuild of courier. Please test and comment on bug #10011
authorNick Hadaway <raker@gentoo.org>
Wed, 6 Nov 2002 08:22:09 +0000 (08:22 +0000)
committerNick Hadaway <raker@gentoo.org>
Wed, 6 Nov 2002 08:22:09 +0000 (08:22 +0000)
net-mail/courier/ChangeLog
net-mail/courier/courier-0.40.0.20021026.ebuild [new file with mode: 0644]
net-mail/courier/files/apache-sqwebmail.inc [new file with mode: 0644]
net-mail/courier/files/courier-0.40.0.20021026-gentoo.diff [new file with mode: 0644]
net-mail/courier/files/digest-courier-0.40.0.20021026 [new file with mode: 0644]

index 949b7952e2a7ae7eb3684ff47ed6ac8a6503e607..9a4e4c397238d5045f34c24e4c8098cbf202d3f9 100644 (file)
@@ -1,7 +1,28 @@
 # ChangeLog for net-mail/courier
 # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/net-mail/courier/ChangeLog,v 1.4 2002/08/13 16:13:22 raker Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/courier/ChangeLog,v 1.5 2002/11/06 08:22:09 raker Exp $
 
+*courier-0.40.0.20021026 (29 Oct 2002)
+
+  06 Nov 2002; Nick Hadaway <raker@gentoo.org> :
+  Added ebuild to portage.  Marked unstable.
+
+  29 Oct 2002; Andreas Erhart <andi@zollhaus.net> / Alexandru Hartmann <alex@nimic.net>
+  courier-0.40.0.20021026.ebuild, files/digest-courier-0.40.0.20021026
+  sqwebmail finally works !
+  new version
+  
+*courier-0.40.0 (28 Oct 2002)
+  28 Oct 2002; Alexandru Hartmann <alex@nimic.net>
+  courier-0.40.0.ebuild, files/digest-courier-0.40.0
+  sometimes /var/lib/courier/msgs and msgq just disappear after an upgrade.
+  this is now fixed.
+ 
+*courier-0.40.0 (26 Oct 2002)
+  26 Oct 2002; Andreas Erhart <andi@zollhaus.net>
+  courier-0.40.0.ebuild, files/digest-courier-0.40.0
+  new version
+  
 *courier-0.39.3 (12 Aug 2002)
   12 Aug 2002; Andreas Erhart <andi@zollhaus.net>
   courier-0.39.3.ebuild, files/digest-courier-0.39.3
diff --git a/net-mail/courier/courier-0.40.0.20021026.ebuild b/net-mail/courier/courier-0.40.0.20021026.ebuild
new file mode 100644 (file)
index 0000000..d7f18e7
--- /dev/null
@@ -0,0 +1,276 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/courier/courier-0.40.0.20021026.ebuild,v 1.1 2002/11/06 08:22:09 raker Exp $
+
+IUSE="gdbm tcltk postgres ldap berkdb mysql pam"
+
+S=${WORKDIR}/${P}
+DESCRIPTION="An MTA designed specifically for maildirs"
+SRC_URI="http://ftp1.sourceforge.net/courier/${P}.tar.bz2"
+HOMEPAGE="http://www.courier-mta.org/"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86 -ppc -sparc -sparc64"
+
+PROVIDE="virtual/mta
+        virtual/imapd"
+RDEPEND="virtual/glibc
+       >=app-crypt/gnupg-1.0.4
+       >=dev-libs/openssl-0.9.6
+       >=dev-tcltk/expect-5.33.0
+       >=media-libs/netpbm-9.12
+       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 )"
+DEPEND="${RDEPEND} sys-devel/perl sys-apps/procps"
+
+src_unpack() {
+       unpack ${A}
+
+       cd ${S}
+       patch -p0 < ${FILESDIR}/${PF}-gentoo.diff || die
+}
+
+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"
+       use berkdb || myconf="${myconf} --with-db=gdbm"
+
+       ./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-mailuser=mail \
+               --with-mailgroup=mail \
+               --with-paranoid-smtpext \
+               --enable-mimetypes=/etc/apache/conf/mime.types \
+               --enable-workarounds-for-imap-client-bugs \
+               --with-authdaemonvar=/var/lib/courier/authdaemon \
+               --without-authvchkpw \
+               --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
+       mkdir -p ${D}/etc/pam.d
+       mkdir -p ${D}/var/run/courier
+       make install DESTDIR=${D}
+       
+       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
+       newexe ${FILESDIR}/courier courier
+       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
+
+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
+}
+
+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
+       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() {
+
+       echo -e "\e[32;01m The following command :\033[0m"
+       echo -e "\e[32;01m ebuild /var/db/pkg/${CATEGORY}/${PN}-${PV}/${PN}-${PV}.ebuild config \033[0m"
+       echo -e "\e[32;01m will setup courier-mta for your system. \033[0m"
+       echo
+       echo -e "\e[32;01m To access/configure webmail ( sqwebmail ) : \033[0m"
+       echo
+       echo -e "\e[32;01m Append the following line to your apache.conf : \033[0m"
+       echo -e "\e[32;01m Include /etc/courier/apache-sqwebmail.inc \033[0m"
+       echo -e "\e[32;01m and make sure your apache can access the directory \033[0m"
+       echo -e "\e[32;01m /usr/lib/courier/courier/webmail ( hint: chmod/chown ) \033[0m"
+       echo -e "\e[32;01m To access sqwebmail point your browser to : \033[0m"
+       echo -e "\e[32;01m http://your.server.com/courier/webmail \033[0m"
+       echo -e "\e[32;01m or even better https://your.server.com/courier/webmail ;-) \033[0m"
+}
+
+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/apache-sqwebmail.inc b/net-mail/courier/files/apache-sqwebmail.inc
new file mode 100644 (file)
index 0000000..c88f803
--- /dev/null
@@ -0,0 +1,14 @@
+Alias /webmail/ /usr/share/courier/sqwebmail/images/
+<Directory /usr/share/courier/sqwebmail/>
+       Order Allow,Deny
+       AllowOverride All
+       Allow from all
+</Directory>
+
+ScriptAlias /courier/ /usr/lib/courier/courier/webmail/
+<Directory /usr/lib/courier/courier/webmail/>
+       AllowOverride All
+       Options ExecCGI
+       Order allow,deny
+       Allow from all
+</Directory>
diff --git a/net-mail/courier/files/courier-0.40.0.20021026-gentoo.diff b/net-mail/courier/files/courier-0.40.0.20021026-gentoo.diff
new file mode 100644 (file)
index 0000000..47974ec
--- /dev/null
@@ -0,0 +1,24 @@
+diff -Nru webmail/auth.c webmail.gentoo/auth.c
+--- webmail/auth.c     2001-12-07 13:57:24.000000000 +0100
++++ webmail.gentoo/auth.c      2002-10-28 18:59:04.000000000 +0100
+@@ -78,7 +78,7 @@
+ static int login_maildir(const char *maildir)
+ {
+       if (!maildir || !*maildir)
+-              maildir="Maildir";
++              maildir=USER_DIR;
+       if (chdir(maildir))     return (-1);
+       return (0);
+ }
+diff -Nru webmail/sqwebmail.h webmail.gentoo/sqwebmail.h
+--- webmail/sqwebmail.h        2001-12-07 13:57:25.000000000 +0100
++++ webmail.gentoo/sqwebmail.h 2002-10-28 18:58:45.000000000 +0100
+@@ -22,7 +22,7 @@
+ 
+ /* Location of the user's Maildir */
+ 
+-#define USER_DIR      "Maildir"
++#define USER_DIR      ".maildir"
+ 
+ /* For PAM-based authentication */
+ 
diff --git a/net-mail/courier/files/digest-courier-0.40.0.20021026 b/net-mail/courier/files/digest-courier-0.40.0.20021026
new file mode 100644 (file)
index 0000000..b8cafa5
--- /dev/null
@@ -0,0 +1 @@
+MD5 aa9096e56f1eec19fd919b66376c5812 courier-0.40.0.20021026.tar.bz2 3192540