Version bump WRT #72194.
authorTuan Van <langthang@gentoo.org>
Tue, 23 Nov 2004 18:24:33 +0000 (18:24 +0000)
committerTuan Van <langthang@gentoo.org>
Tue, 23 Nov 2004 18:24:33 +0000 (18:24 +0000)
net-mail/cyrus-imapd/ChangeLog
net-mail/cyrus-imapd/Manifest
net-mail/cyrus-imapd/cyrus-imapd-2.2.9.ebuild [new file with mode: 0644]
net-mail/cyrus-imapd/files/cyrus-imapd-2.2.9-libwrap.patch [new file with mode: 0644]
net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.2.9 [new file with mode: 0644]

index 6a77fd0f705a173d03b42355f8832aebcb938da0..6fa9a8c07f811ab8da1f514dadbcc35c10a2b2a7 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-mail/cyrus-imapd
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/ChangeLog,v 1.55 2004/11/01 19:14:12 langthang Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/ChangeLog,v 1.56 2004/11/23 18:24:33 langthang Exp $
+
+*cyrus-imapd-2.2.9 (23 Nov 2004)
+
+  23 Nov 2004; Tuan Van <langthang@gentoo.org>
+  +files/cyrus-imapd-2.2.9-libwrap.patch, +cyrus-imapd-2.2.9.ebuild:
+  Version bump WRT #72194.
 
   01 Nov 2004; Tuan Van <langthang@gentoo.org>
   -files/cyrus-imapd-2.1.12-includepath.patch,
index 4501d27ee45fb61411531859e4a9911f721c2666..8b27a1349ecba24805d40bfeea33ede57a66873c 100644 (file)
@@ -2,21 +2,24 @@
 Hash: SHA1
 
 MD5 2808ffa8657fb38606b151f497b7813e cyrus-imapd-2.2.8-r1.ebuild 8706
+MD5 5ad781a9e4cf09afd32ffc9e8eadb44b cyrus-imapd-2.2.9.ebuild 8799
 MD5 052fda8a30a6419a70ed968ff2089642 cyrus-imapd-2.2.8.ebuild 5336
-MD5 a984efc6e2040d5274dfd7799f2974ce ChangeLog 11451
+MD5 a285652c398fabfe3dcddba1d70a1359 ChangeLog 11629
 MD5 5721b86fd871bdfab77231abc6e02f68 metadata.xml 161
 MD5 375e343e1080fa924b085d5495e13588 files/cyrus.rc6 556
 MD5 88f50354abbcae1950a2d11c74db5fe5 files/cyrus-imapd-2.2.8-libwrap.patch 390
+MD5 88f50354abbcae1950a2d11c74db5fe5 files/cyrus-imapd-2.2.9-libwrap.patch 390
 MD5 66137eb399ec7760afc24491a10d8bd7 files/imapd.conf 1587
 MD5 6453c70342b78c99a073a06292b7e757 files/digest-cyrus-imapd-2.2.8-r1 70
 MD5 ef68faa77664a88f939cee2f12019507 files/imap.pam 195
 MD5 fe1bbab93ddd6cf3a9c4aacc111154d4 files/cyrus-imapd-2.2.8-db4.patch 1604
 MD5 6453c70342b78c99a073a06292b7e757 files/digest-cyrus-imapd-2.2.8 70
+MD5 69879077b5e7dc5bf469dc38b08dda07 files/digest-cyrus-imapd-2.2.9 70
 MD5 d91b5eaa87ced6cb7efc8c716fc7476a files/cyrus.conf 1354
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.6 (GNU/Linux)
 
-iD4DBQFBhovH5FrxP71izLARAphfAJiNnEoRZUCkVrf09E1uDCXPjNisAJ46X6al
-30wj9kcKYQb3Kp2dHI+SgA==
-=cTDm
+iD8DBQFBo4D85FrxP71izLARAvAHAJ0XHVjxFv15QQx6doxMVzsUTg8r8gCfUAqR
++s3DYvcf7s5ev7a6cuIcImw=
+=rADH
 -----END PGP SIGNATURE-----
diff --git a/net-mail/cyrus-imapd/cyrus-imapd-2.2.9.ebuild b/net-mail/cyrus-imapd/cyrus-imapd-2.2.9.ebuild
new file mode 100644 (file)
index 0000000..2238895
--- /dev/null
@@ -0,0 +1,299 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/cyrus-imapd-2.2.9.ebuild,v 1.1 2004/11/23 18:24:33 langthang Exp $
+
+inherit eutils ssl-cert gnuconfig fixheadtails
+
+DESCRIPTION="The Cyrus IMAP Server."
+HOMEPAGE="http://asg.web.cmu.edu/cyrus/imapd/"
+SRC_URI="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~x86 ~sparc ~amd64 ~ppc ~hppa"
+IUSE="afs drac idled kerberos pam snmp ssl tcpd"
+
+PROVIDE="virtual/imapd"
+RDEPEND=">=sys-libs/db-3.2
+       >=dev-libs/cyrus-sasl-2.1.13
+       afs? ( >=net-fs/openafs-1.2.2 )
+       pam? ( >=sys-libs/pam-0.75 )
+       kerberos? ( virtual/krb5 )
+       snmp? ( virtual/snmp )
+       ssl? ( >=dev-libs/openssl-0.9.6 )
+       tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+       drac? ( >=mail-client/drac-1.12-r1 )"
+
+DEPEND="$RDEPEND
+       sys-devel/libtool
+       >=sys-devel/autoconf-2.58
+       sys-devel/automake
+       >=sys-apps/sed-4"
+
+# "borrow" this from eldad in bug 60495 util portage can handle dep USE flags.
+check_useflag() {
+       local my_pkg=$(best_version ${1})
+       local my_flag=${2}
+
+       if [[ $(grep -wo ${my_flag} /var/db/pkg/${my_pkg}/USE) ]]; then
+               return 0
+       fi
+
+       return 1
+}
+
+tcpd_flag_check() {
+       local tcpd_flag
+       local cyrus_imapd_has_tcpd_flag
+       local my_pkg=${1}
+       einfo "${my_pkg} found"
+       check_useflag ${my_pkg} tcpd
+       tcpd_flag="$?"
+
+       if [ "${tcpd_flag}" == "0" ]; then
+               einfo "\"${my_pkg}\" has been emerged with \"tcpd\" USE flag"
+       else
+               einfo "\"${my_pkg}\" has been emerged without \"tcpd\" USE flag"
+       fi
+
+       if use tcpd; then
+               cyrus_imapd_has_tcpd_flag="0"
+       else
+               cyrus_imapd_has_tcpd_flag="1"
+       fi
+
+       if [ "${tcpd_flag}" != "${cyrus_imapd_has_tcpd_flag}" ]; then
+               eerror "both \"net-mail/cyrus-imapd\" and \"${my_pkg}\" have to be emerged"
+               eerror "with or without \"tcpd\" USE flag if you want to emerge"
+               eerror "this package with \"snmp\" USE flag. Bug #68254"
+               die "see above error message."
+       fi
+}
+
+net-snmp_check() {
+       if has_version ucd-snmp; then
+               tcpd_flag_check net-analyzer/ucd-snmp
+       fi
+
+       if has_version net-snmp; then
+               tcpd_flag_check net-analyzer/net-snmp
+               # check for minimal USE flag.
+               local has_minimal
+               check_useflag net-analyzer/net-snmp minimal
+               has_minimal="$?"
+               if [ "${has_minimal}" == "0" ]; then
+                       eerror "If you want to emerge this package with \"snmp\" USE flag"
+                       eerror "reemerge \"net-snmp\" without \"minimal\" USE flag"
+                       die "see error message above"
+               fi
+
+               # check for tcpd USE flag in sync for both packages.
+
+               if [ "${net_snmp_has_tcpd_flag}" != "${cyrus_imapd_has_tcpd_flag}" ]; then
+                       eerror "both \"cyrus-imapd\" and \"net-snmp\" have to be emerged"
+                       eerror "with or without \"tcpd\" USE flag if you want to emerge"
+                       eerror "this package with \"snmp\" USE flag. Bug #68254"
+                       die "see above error message."
+               fi
+
+               # an atemptto solve bug #67411. Is there a better solution?
+               # check for net-snmp-config exit and executable.
+               if [ -x "$(type -p net-snmp-config)" ]; then
+                       einfo "$(type -p net-snmp-config) is found and executable."
+                       NSC_AGENTLIBS="$(net-snmp-config --agent-libs)"
+                       einfo "NSC_AGENTLIBS=\""${NSC_AGENTLIBS}"\""
+                       if [ -z "$NSC_AGENTLIBS" ]; then
+                               eerror "NSC_AGENTLIBS is null"
+                               einfo "please report this to bugs.gentoo.org"
+                       fi
+                       for i in ${NSC_AGENTLIBS}; do
+                               # check for the DynaLoader path.
+                               if [ "$(expr "$i" : '.*\(DynaLoader\)')" == "DynaLoader" ] ; then
+                                       DYNALOADER_PATH="$i"
+                                       einfo "DYNALOADER_PATH=\""${DYNALOADER_PATH}"\""
+                                       if [[ ! -f "${DYNALOADER_PATH}" ]]; then
+                                               eerror "\""${DYNALOADER_PATH}"\" is not found."
+                                               einfo "Have you upgraded \"perl\" after"
+                                               einfo "you emerged \"net-snmp\". Please re-emerge"
+                                               einfo "\"net-snmp\" then try again. Bug #67411."
+                                               die "\""${DYNALOADER_PATH}"\" is not found."
+                                       fi
+                               fi
+                       done
+               else
+                       eerror "\"net-snmp-config\" not found or not executable!"
+                       die "You have \"net-snmp\" installed but \"net-snmp-config\" is not found or not executable. Please re-emerge \"net-snmp\" and try again!"
+               fi
+       fi
+}
+
+pkg_setup() {
+       if use snmp; then
+               net-snmp_check
+       fi
+}
+
+
+src_unpack() {
+       unpack ${A} && cd "${S}"
+
+       ht_fix_file ${S}/imap/xversion.sh
+
+       # Add drac database support.
+       if use drac ; then
+               epatch "${S}/contrib/drac_auth.patch" || die "epatch failed"
+       fi
+
+       # Add libwrap defines as we don't have a dynamicly linked library.
+       if use tcpd ; then
+               epatch "${FILESDIR}/${P}-libwrap.patch" || die "epatch failed"
+       fi
+
+       # DB4 detection and versioned symbols.
+       # The new cyrus-imapd has a new DB detection.
+       # Hopefully we don't need this patch anymore.
+       # epatch "${FILESDIR}/${P}-db4.patch" || die "epatch failed"
+
+       # Fix master(8)->cyrusmaster(8) manpage.
+       for i in `grep -rl -e 'master\.8' -e 'master(8)' "${S}"` ; do
+               sed -e 's:master\.8:cyrusmaster.8:g' \
+                       -e 's:master(8):cyrusmaster(8):g' \
+                       -i "${i}" || die "sed failed" || die "sed failed"
+       done
+       mv man/master.8 man/cyrusmaster.8 || die "mv failed"
+       sed -e "s:MASTER:CYRUSMASTER:g" \
+               -e "s:Master:Cyrusmaster:g" \
+               -e "s:master:cyrusmaster:g" \
+               -i man/cyrusmaster.8 || die "sed failed"
+
+       # Recreate configure.
+       export WANT_AUTOCONF="2.5"
+       gnuconfig_update
+       rm -rf configure config.h.in autom4te.cache || die
+       ebegin "Recreating configure"
+       sh SMakefile &>/dev/null || die "SMakefile failed"
+       eend $?
+
+       # When linking with rpm, you need to link with more libraries.
+       sed -e "s:lrpm:lrpm -lrpmio -lrpmdb:" -i configure || die "sed failed"
+}
+
+src_compile() {
+       local myconf
+       myconf="${myconf} $(use_with afs)"
+       myconf="${myconf} $(use_with drac)"
+       myconf="${myconf} $(use_with ssl openssl)"
+       myconf="${myconf} $(use_with snmp ucdsnmp)"
+       myconf="${myconf} $(use_with tcpd libwrap)"
+       myconf="${myconf} $(use_enable kerberos gssapi)"
+
+       if use idled; then
+               myconf="${myconf} --with-idle=idled"
+       else
+               myconf="${myconf} --with-idle=poll"
+       fi
+
+       econf \
+               --enable-murder \
+               --enable-listext \
+               --enable-netscapehack \
+               --with-extraident=Gentoo \
+               --with-service-path=/usr/lib/cyrus \
+               --with-cyrus-user=cyrus \
+               --with-cyrus-group=mail \
+               --with-com_err=yes \
+               --with-auth=unix \
+               --without-perl \
+               --disable-cyradm \
+               ${myconf} || die "econf failed"
+
+       emake || die "compile problem"
+}
+
+src_install() {
+       dodir /usr/bin /usr/lib
+       for subdir in master imap imtest timsieved notifyd sieve; do
+               make -C "${subdir}" DESTDIR="${D}" install || die "make install failed"
+       done
+
+       # Link master to cyrusmaster (postfix has a master too)
+       dosym /usr/lib/cyrus/master /usr/lib/cyrus/cyrusmaster
+
+       doman man/*.[0-8]
+       dodoc COPYRIGHT README*
+       dohtml doc/*.html doc/murder.png
+       cp doc/cyrusv2.mc "${D}/usr/share/doc/${PF}/html"
+       cp -r contrib tools "${D}/usr/share/doc/${PF}"
+       find "${D}/usr/share/doc" -name CVS -print0 | xargs -0 rm -rf
+
+       insinto /etc
+       newins "${FILESDIR}/imapd.conf" imapd.conf
+       newins "${FILESDIR}/cyrus.conf" cyrus.conf
+
+       exeinto /etc/init.d
+       newexe "${FILESDIR}/cyrus.rc6" cyrus
+
+       if use pam ; then
+               insinto /etc/pam.d
+               newins "${FILESDIR}/imap.pam" imap
+       fi
+
+       if use ssl ; then
+               SSL_ORGANIZATION="${SSL_ORGANIZATION:-Cyrus IMAP Server}"
+               insinto /etc/ssl/cyrus
+               docert server
+               fowners cyrus:mail /etc/ssl/cyrus/server.{key,pem}
+       fi
+
+       for subdir in imap/{,db,log,msg,proc,socket} spool/imap/{,stage.} ; do
+               keepdir "/var/${subdir}"
+               fowners cyrus:mail "/var/${subdir}"
+               fperms 0750 "/var/${subdir}"
+       done
+       for subdir in imap/{user,quota,sieve} spool/imap ; do
+               for i in a b c d e f g h i j k l m n o p q r s t v u w x y z ; do
+                       keepdir "/var/${subdir}/${i}"
+                       fowners cyrus:mail "/var/${subdir}/${i}"
+                       fperms 0750 "/var/${subdir}/${i}"
+               done
+       done
+}
+
+pkg_postinst() {
+       ewarn "*****NOTE*****"
+       ewarn "If you're upgrading from versions prior to 2.2.2_BETA"
+       ewarn "be sure to read the following thoroughly:"
+       ewarn "http://asg.web.cmu.edu/cyrus/download/imapd/install-upgrade.html"
+       ewarn "*****NOTE*****"
+       echo
+
+       ewarn "If you change the fs-type of /var/imap or"
+       ewarn "/var/spool/imap you should read step 9 of"
+       ewarn "/usr/share/doc/${P}/html/install-configure.html."
+       echo
+
+       if df -T /var/imap | grep -q ' ext[23] ' ; then
+               ebegin "Making /var/imap/user/* and /var/imap/quota/* synchronous."
+               chattr +S /var/imap/{user,quota}{,/*}
+               eend $?
+       fi
+
+       if df -T /var/spool/imap | grep -q ' ext[23] ' ; then
+               ebegin "Making /var/spool/imap/* synchronous."
+               chattr +S /var/spool/imap{,/*}
+               eend $?
+       fi
+
+       ewarn "If the queue directory of the mail daemon resides on an ext2"
+       ewarn "or ext3 filesystem you need to set it manually to update"
+       ewarn "synchronously. E.g. 'chattr +S /var/spool/mqueue'."
+       echo
+
+       einfo "For correct logging add the following to /etc/syslog.conf:"
+       einfo "    local6.*         /var/log/imapd.log"
+       einfo "    auth.debug       /var/log/auth.log"
+       echo
+
+       ewarn "You have to add user cyrus to the sasldb2. Do this with:"
+       ewarn "    saslpasswd2 cyrus"
+}
diff --git a/net-mail/cyrus-imapd/files/cyrus-imapd-2.2.9-libwrap.patch b/net-mail/cyrus-imapd/files/cyrus-imapd-2.2.9-libwrap.patch
new file mode 100644 (file)
index 0000000..6157c87
--- /dev/null
@@ -0,0 +1,11 @@
+--- master/Makefile.in.orig    2004-10-17 19:48:01.923901016 -0700
++++ master/Makefile.in 2004-10-17 19:48:33.639079576 -0700
+@@ -59,7 +59,7 @@
+ 
+ CFLAGS = @CFLAGS@
+ LDFLAGS = @LDFLAGS@ @COM_ERR_LDFLAGS@
+-LIBS = ../lib/libcyrus_min.a @LIB_UCDSNMP@ @LIBS@ @COM_ERR_LIBS@
++LIBS = ../lib/libcyrus_min.a @LIB_UCDSNMP@ @LIBS@ @COM_ERR_LIBS@ @LIB_WRAP@
+ 
+ SHELL = /bin/sh
+ MAKEDEPEND = @MAKEDEPEND@
diff --git a/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.2.9 b/net-mail/cyrus-imapd/files/digest-cyrus-imapd-2.2.9
new file mode 100644 (file)
index 0000000..968d503
--- /dev/null
@@ -0,0 +1 @@
+MD5 f78edaaeb308a0a0ad4b7372fb47310c cyrus-imapd-2.2.9.tar.gz 1946498