diff options
author | Matti Bickel <mabi@gentoo.org> | 2008-12-14 21:19:10 +0000 |
---|---|---|
committer | Matti Bickel <mabi@gentoo.org> | 2008-12-14 21:19:10 +0000 |
commit | bee8db6d2b586f7675397e8c123475b93e2d55ed (patch) | |
tree | 9014a85d46533442d6283b01ce8fadfbfd2aba7c /net-mail | |
parent | Stable for HPPA (bug #222819). (diff) | |
download | gentoo-2-bee8db6d2b586f7675397e8c123475b93e2d55ed.tar.gz gentoo-2-bee8db6d2b586f7675397e8c123475b93e2d55ed.tar.bz2 gentoo-2-bee8db6d2b586f7675397e8c123475b93e2d55ed.zip |
fix bug #168196
(Portage version: 2.2_rc15/cvs/Linux 2.6.23-gentoo-r3-20080120 ppc)
Diffstat (limited to 'net-mail')
6 files changed, 795 insertions, 3 deletions
diff --git a/net-mail/courier-imap/ChangeLog b/net-mail/courier-imap/ChangeLog index 72933f65f6f7..73f8d29dcf2c 100644 --- a/net-mail/courier-imap/ChangeLog +++ b/net-mail/courier-imap/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for net-mail/courier-imap # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-mail/courier-imap/ChangeLog,v 1.162 2008/07/29 20:19:40 chutzpah Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-mail/courier-imap/ChangeLog,v 1.163 2008/12/14 21:19:10 mabi Exp $ + +*courier-imap-4.4.1-r1 (14 Dec 2008) +*courier-imap-4.1.2-r2 (14 Dec 2008) +*courier-imap-4.0.6-r3 (14 Dec 2008) + + 14 Dec 2008; Matti Bickel <mabi@gentoo.org> + files/courier-imap-4.0.6-r1-courier-imapd.indirect, + files/courier-imap-4.0.6-r1-courier-pop3d.indirect, + +courier-imap-4.0.6-r3.ebuild, +courier-imap-4.1.2-r2.ebuild, + +courier-imap-4.4.1-r1.ebuild: + fixed bug #168196 *courier-imap-4.4.1 (29 Jul 2008) diff --git a/net-mail/courier-imap/courier-imap-4.0.6-r3.ebuild b/net-mail/courier-imap/courier-imap-4.0.6-r3.ebuild new file mode 100644 index 000000000000..2f13244775d8 --- /dev/null +++ b/net-mail/courier-imap/courier-imap-4.0.6-r3.ebuild @@ -0,0 +1,264 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/courier-imap/courier-imap-4.0.6-r3.ebuild,v 1.1 2008/12/14 21:19:10 mabi Exp $ + +inherit autotools eutils multilib + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" + +DESCRIPTION="An IMAP daemon designed specifically for maildirs." +HOMEPAGE="http://www.courier-mta.org/" +SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +IUSE="berkdb debug fam gdbm ipv6 nls selinux" + +# userpriv breaks linking against vpopmail +RESTRICT="userpriv" + +RDEPEND=">=dev-libs/openssl-0.9.6 + >=net-libs/courier-authlib-0.57 + >=net-mail/mailbase-0.00-r8 + berkdb? ( sys-libs/db ) + fam? ( virtual/fam ) + gdbm? ( >=sys-libs/gdbm-1.8.0 ) + selinux? ( sec-policy/selinux-courier-imap )" +DEPEND="${RDEPEND} + dev-lang/perl + !mail-mta/courier + userland_GNU? ( sys-process/procps )" +RDEPEND="${RDEPEND} + !virtual/imapd" + +PROVIDE="virtual/imapd" + +RC_VER="4.0.6-r1" +INITD_VER="4.0.6-r1" + +pkg_setup() { + if ! use berkdb && ! use gdbm ; then + echo + eerror "Either the 'berkdb' or the 'gdbm' USE flag is required." + eerror "Please add it to '/etc/make.conf' or '/etc/portage/package.use'." + eerror "Use 'man 5 portage' for more info on '/etc/portage/package.use'." + echo + die "Required USE flag missing." + fi +} + +vpopmail_setup() { + VPOPMAIL_INSTALLED= + VPOPMAIL_DIR= + export VPOPMAIL_INSTALLED VPOPMAIL_DIR + VPOPMAIL_DIR=$(grep ^vpopmail /etc/passwd 2>/dev/null | cut -d: -f6) + VPOPMAIL_INSTALLED= + if has_version 'net-mail/vpopmail' && [[ -n "${VPOPMAIL_DIR}" ]] && [[ -f "${VPOPMAIL_DIR}/etc/lib_deps" ]] ; then + VPOPMAIL_INSTALLED=1 + else + VPOPMAIL_DIR= + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # Bug #48838. Patch to enable/disable FAM support. + # 20 Aug 2004 langthang@gentoo.org + # This patch should fix bug #51540. fam USE flag is not needed for shared folder support. + epatch "${FILESDIR}"/${PN}-4.0.1-disable-fam-configure.in.patch + + # Kill unneeded call to AC_PROG_SYSCONFTOOL (bug #168206). + epatch "${FILESDIR}"/${P}-aclocal-fix.patch + + # These patches should fix problems detecting BerkeleyDB. + # We now can compile with db4 support. + if use berkdb ; then + epatch "${FILESDIR}"/${P}-db4-bdbobj_configure.in.patch + epatch "${FILESDIR}"/${P}-db4-tcpd_configure.in.patch + epatch "${FILESDIR}"/${P}-db4-configure.in.patch + fi + + ebegin "Recreating configure" + AT_NO_RECURSIVE="true" eautoreconf || die "eautoreconf on . failed" + eend $? + + cd "${S}/maildir" + ebegin "Recreating maildir/configure" + eautoreconf || die "eautoreconf on maildir failed" + eend $? + + cd "${S}/bdbobj" + ebegin "Recreating bdbobj/configure" + eautoreconf || die "eautoreconf on bdbobj failed" + eend $? + + cd "${S}/tcpd" + ebegin "Recreating tcpd/configure" + eautoreconf || die "eautoreconf on tcpd failed" + eend $? +} + +src_compile() { + vpopmail_setup + + local myconf="" + + # 19 Aug 2004 langthang@gentoo.org + # Default to gdbm if both berkdb and gdbm are present. + if use gdbm ; then + einfo "Building with GDBM support" + myconf="${myconf} --with-db=gdbm" + elif use berkdb ; then + einfo "Building with BerkeleyDB support" + myconf="${myconf} --with-db=db" + fi + + # The default character set is ISO-8859-1/US-ASCII. + # USE 'nls' will enable all available character sets. + # Set ENABLE_UNICODE=iso-8859-1,utf-8,iso-8859-10 + # to include only specified translation tables. + if use nls && [[ -z "${ENABLE_UNICODE}" ]] ; then + einfo "ENABLE_UNICODE is not set, building with all available character sets" + myconf="${myconf} --enable-unicode" + elif use nls ; then + einfo "ENABLE_UNICODE is set, building with unicode=${ENABLE_UNICODE}" + myconf="${myconf} --enable-unicode=${ENABLE_UNICODE}" + else + einfo "Disabling unicode support" + myconf="${myconf} --disable-unicode" + fi + + use debug && myconf="${myconf} debug=true" + + # Fix for bug #21330 + CFLAGS="$(echo ${CFLAGS} | xargs)" + CXXFLAGS="$(echo ${CXXFLAGS} | xargs)" + LDFLAGS="$(echo ${LDFLAGS} | xargs)" + + # Do the actual build now + LDFLAGS="${LDFLAGS} " econf \ + --disable-root-check \ + --bindir=/usr/sbin \ + --mandir=/usr/share/man \ + --sysconfdir=/etc/${PN} \ + --libexecdir=/usr/$(get_libdir)/${PN} \ + --localstatedir=/var/lib/${PN} \ + --with-authdaemonvar=/var/lib/${PN}/authdaemon \ + --enable-workarounds-for-imap-client-bugs \ + --with-mailuser=mail \ + --with-mailgroup=mail \ + $(use_with fam) \ + $(use_with ipv6) \ + ${myconf} || die "econf failed" + + # Change the pem file location. + sed -i -e "s:^\(TLS_CERTFILE=\).*:\1/etc/courier-imap/imapd.pem:" \ + imap/imapd-ssl.dist || \ + die "sed failed" + + sed -i -e "s:^\(TLS_CERTFILE=\).*:\1/etc/courier-imap/pop3d.pem:" \ + imap/pop3d-ssl.dist || \ + die "sed failed" + + emake || die "emake failed" +} + +src_install() { + vpopmail_setup + + dodir /var/lib/${PN} /etc/pam.d + emake DESTDIR="${D}" install || die "emake install failed" + rm -Rf "${D}/etc/pam.d" + + # Avoid name collisions in /usr/sbin wrt imapd and pop3d + cd "${D}/usr/sbin" + for name in imapd pop3d ; do + mv -f "${name}" "courier-${name}" || die "Failed to mv ${name} to courier-${name}" + done + + # Hack /usr/lib/courier-imap/foo.rc to use ${MAILDIR} instead of + # 'Maildir', and to use /usr/sbin/courier-foo names. + cd "${D}/usr/$(get_libdir)/${PN}" + for service in {imapd,pop3d}{,-ssl} ; do + sed -i -e 's/Maildir/${MAILDIR}/' "${service}.rc" || die "sed failed" + sed -i -e "s/\/usr\/sbin\/${service}/\/usr\/sbin\/courier-${service}/" "${service}.rc" || die "sed failed" + done + + # Rename the config files correctly and add a value for ${MAILDIR} to them. + cd "${D}/etc/${PN}" + for service in {imapd,pop3d}{,-ssl} ; do + mv -f "${service}.dist" "${service}" || die "Failed to mv ${service}.dist to ${service}" + echo -e '\n# Hardwire a value for ${MAILDIR}' >> "${service}" + echo 'MAILDIR=.maildir' >> "${service}" + echo 'MAILDIRPATH=.maildir' >> "${service}" + done + for service in imapd pop3d ; do + echo -e '# Put any program for ${PRERUN} here' >> "${service}" + echo 'PRERUN=' >> "${service}" + echo -e '# Put any program for ${LOGINRUN} here' >> "${service}" + echo -e '# this is for relay-ctrl-allow in 4*' >> "${service}" + echo 'LOGINRUN=' >> "${service}" + done + + cd "${D}/usr/sbin" + for x in * ; do + if [[ -L "${x}" ]] ; then + rm -f "${x}" || die "Failed to rm ${x}" + fi + done + + cd ../share + mv -f * ../sbin + mv -f ../sbin/man . + cd .. + + for x in mkimapdcert mkpop3dcert ; do + mv -f "${D}/usr/sbin/${x}" "${D}/usr/sbin/${x}.orig" || die "Failed to mv /usr/sbin/${x} to /usr/sbin/${x}.orig" + done + + exeinto /usr/sbin + doexe "${FILESDIR}/mkimapdcert" "${FILESDIR}/mkpop3dcert" || die "doexe failed" + + dosym /usr/sbin/courierlogger /usr/$(get_libdir)/${PN}/courierlogger || die "dosym failed" + + mkdir "${WORKDIR}/tmp" ; cd "${WORKDIR}/tmp" + for initd in courier-{imapd,pop3d}{,-ssl} ; do + sed -e "s:GENTOO_LIBDIR:$(get_libdir):g" "${FILESDIR}/${PN}-${INITD_VER}-${initd}.rc6" > "${initd}" || die "initd libdir-sed failed" + doinitd "${initd}" || die "doinitd ${initd} failed" + done + exeinto /usr/$(get_libdir)/${PN} + for exe in gentoo-{imapd,pop3d}{,-ssl}.rc courier-{imapd,pop3d}.indirect ; do + sed -e "s:GENTOO_LIBDIR:$(get_libdir):g" "${FILESDIR}/${PN}-${RC_VER}-${exe}" > "${exe}" || die "exe libdir-sed failed" + doexe "${exe}" || die "doexe ${exe} failed" + done + + dodir /usr/bin + mv -f "${D}/usr/sbin/maildirmake" "${D}/usr/bin/maildirmake" || die "Failed to mv /usr/sbin/maildirmake to /usr/bin/maildirmake" + + # Bug #45953, more docs. + cd "${S}" + dohtml -r "${S}"/* + dodoc "${S}"/{00README.NOW.OR.SUFFER,AUTHORS,INSTALL,NEWS,README,ChangeLog} "${FILESDIR}"/${PN}-gentoo.readme + docinto imap + dodoc "${S}"/imap/{ChangeLog,BUGS,BUGS.html,README} + docinto maildir + dodoc "${S}"/maildir/{AUTHORS,INSTALL,README.maildirquota.txt,README.sharedfolders.txt} + docinto tcpd + dodoc "${S}"/tcpd/README.couriertls +} + +pkg_postinst() { + elog "Authdaemond is no longer provided by this package." + elog "Authentication libraries are now in courier-authlib." + elog "For a quick-start howto please refer to:" + elog "/usr/share/doc/${P}/${PN}-gentoo.readme.gz" + # Some users have been reporting that permissions on this directory were + # getting scrambled, so let's ensure that they are sane. + chmod 0755 "${ROOT}/usr/$(get_libdir)/${PN}" || die "Failed to ensure sane permissions on ${ROOT}/usr/$(get_libdir)/${PN}" +} + +src_test() { + ewarn "make check is not supported by this package due to the" + ewarn "--enable-workarounds-for-imap-client-bugs option." +} diff --git a/net-mail/courier-imap/courier-imap-4.1.2-r2.ebuild b/net-mail/courier-imap/courier-imap-4.1.2-r2.ebuild new file mode 100644 index 000000000000..6b314ac56ef4 --- /dev/null +++ b/net-mail/courier-imap/courier-imap-4.1.2-r2.ebuild @@ -0,0 +1,267 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/courier-imap/courier-imap-4.1.2-r2.ebuild,v 1.1 2008/12/14 21:19:10 mabi Exp $ + +inherit autotools eutils multilib + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd" + +DESCRIPTION="An IMAP daemon designed specifically for maildirs." +HOMEPAGE="http://www.courier-mta.org/" +SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +IUSE="berkdb debug fam gdbm ipv6 nls selinux" + +# userpriv breaks linking against vpopmail +RESTRICT="userpriv" + +RDEPEND=">=dev-libs/openssl-0.9.6 + >=net-libs/courier-authlib-0.57 + >=net-mail/mailbase-0.00-r8 + berkdb? ( sys-libs/db ) + fam? ( virtual/fam ) + gdbm? ( >=sys-libs/gdbm-1.8.0 ) + selinux? ( sec-policy/selinux-courier-imap )" +DEPEND="${RDEPEND} + dev-lang/perl + !mail-mta/courier + userland_GNU? ( sys-process/procps )" +RDEPEND="${RDEPEND} + !virtual/imapd" + +PROVIDE="virtual/imapd" + +RC_VER="4.0.6-r1" +INITD_VER="4.0.6-r1" + +pkg_setup() { + if ! use berkdb && ! use gdbm ; then + echo + eerror "Either the 'berkdb' or the 'gdbm' USE flag is required." + eerror "Please add it to '/etc/make.conf' or '/etc/portage/package.use'." + eerror "Use 'man 5 portage' for more info on '/etc/portage/package.use'." + echo + die "Required USE flag missing." + fi +} + +vpopmail_setup() { + VPOPMAIL_INSTALLED= + VPOPMAIL_DIR= + export VPOPMAIL_INSTALLED VPOPMAIL_DIR + VPOPMAIL_DIR=$(grep ^vpopmail /etc/passwd 2>/dev/null | cut -d: -f6) + VPOPMAIL_INSTALLED= + if has_version 'net-mail/vpopmail' && [[ -n "${VPOPMAIL_DIR}" ]] && [[ -f "${VPOPMAIL_DIR}/etc/lib_deps" ]] ; then + VPOPMAIL_INSTALLED=1 + else + VPOPMAIL_DIR= + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # Bug #48838. Patch to enable/disable FAM support. + # 20 Aug 2004 langthang@gentoo.org + # This patch should fix bug #51540. fam USE flag is not needed for shared folder support. + epatch "${FILESDIR}"/${PN}-4.0.1-disable-fam-configure.in.patch + + # Kill unneeded call to AC_PROG_SYSCONFTOOL (bug #168206). + epatch "${FILESDIR}"/${PN}-4.0.6-aclocal-fix.patch + + # as-needed fix (bug #168769). + epatch "${FILESDIR}"/${P}-as-needed.patch + + # These patches should fix problems detecting BerkeleyDB. + # We now can compile with db4 support. + if use berkdb ; then + epatch "${FILESDIR}"/${PN}-4.0.6-db4-bdbobj_configure.in.patch + epatch "${FILESDIR}"/${PN}-4.0.6-db4-tcpd_configure.in.patch + epatch "${FILESDIR}"/${PN}-4.0.6-db4-configure.in.patch + fi + + ebegin "Recreating configure" + AT_NO_RECURSIVE="true" eautoreconf || die "eautoreconf on . failed" + eend $? + + cd "${S}/maildir" + ebegin "Recreating maildir/configure" + eautoreconf || die "eautoreconf on maildir failed" + eend $? + + cd "${S}/bdbobj" + ebegin "Recreating bdbobj/configure" + eautoreconf || die "eautoreconf on bdbobj failed" + eend $? + + cd "${S}/tcpd" + ebegin "Recreating tcpd/configure" + eautoreconf || die "eautoreconf on tcpd failed" + eend $? +} + +src_compile() { + vpopmail_setup + + local myconf="" + + # 19 Aug 2004 langthang@gentoo.org + # Default to gdbm if both berkdb and gdbm are present. + if use gdbm ; then + einfo "Building with GDBM support" + myconf="${myconf} --with-db=gdbm" + elif use berkdb ; then + einfo "Building with BerkeleyDB support" + myconf="${myconf} --with-db=db" + fi + + # The default character set is ISO-8859-1/US-ASCII. + # USE 'nls' will enable all available character sets. + # Set ENABLE_UNICODE=iso-8859-1,utf-8,iso-8859-10 + # to include only specified translation tables. + if use nls && [[ -z "${ENABLE_UNICODE}" ]] ; then + einfo "ENABLE_UNICODE is not set, building with all available character sets" + myconf="${myconf} --enable-unicode" + elif use nls ; then + einfo "ENABLE_UNICODE is set, building with unicode=${ENABLE_UNICODE}" + myconf="${myconf} --enable-unicode=${ENABLE_UNICODE}" + else + einfo "Disabling unicode support" + myconf="${myconf} --disable-unicode" + fi + + use debug && myconf="${myconf} debug=true" + + # Fix for bug #21330 + CFLAGS="$(echo ${CFLAGS} | xargs)" + CXXFLAGS="$(echo ${CXXFLAGS} | xargs)" + LDFLAGS="$(echo ${LDFLAGS} | xargs)" + + # Do the actual build now + LDFLAGS="${LDFLAGS} " econf \ + --disable-root-check \ + --bindir=/usr/sbin \ + --mandir=/usr/share/man \ + --sysconfdir=/etc/${PN} \ + --libexecdir=/usr/$(get_libdir)/${PN} \ + --localstatedir=/var/lib/${PN} \ + --with-authdaemonvar=/var/lib/${PN}/authdaemon \ + --enable-workarounds-for-imap-client-bugs \ + --with-mailuser=mail \ + --with-mailgroup=mail \ + $(use_with fam) \ + $(use_with ipv6) \ + ${myconf} || die "econf failed" + + # Change the pem file location. + sed -i -e "s:^\(TLS_CERTFILE=\).*:\1/etc/courier-imap/imapd.pem:" \ + imap/imapd-ssl.dist || \ + die "sed failed" + + sed -i -e "s:^\(TLS_CERTFILE=\).*:\1/etc/courier-imap/pop3d.pem:" \ + imap/pop3d-ssl.dist || \ + die "sed failed" + + emake || die "emake failed" +} + +src_install() { + vpopmail_setup + + dodir /var/lib/${PN} /etc/pam.d + emake DESTDIR="${D}" install || die "emake install failed" + rm -Rf "${D}/etc/pam.d" + + # Avoid name collisions in /usr/sbin wrt imapd and pop3d + cd "${D}/usr/sbin" + for name in imapd pop3d ; do + mv -f "${name}" "courier-${name}" || die "Failed to mv ${name} to courier-${name}" + done + + # Hack /usr/lib/courier-imap/foo.rc to use ${MAILDIR} instead of + # 'Maildir', and to use /usr/sbin/courier-foo names. + cd "${D}/usr/$(get_libdir)/${PN}" + for service in {imapd,pop3d}{,-ssl} ; do + sed -i -e 's/Maildir/${MAILDIR}/' "${service}.rc" || die "sed failed" + sed -i -e "s/\/usr\/sbin\/${service}/\/usr\/sbin\/courier-${service}/" "${service}.rc" || die "sed failed" + done + + # Rename the config files correctly and add a value for ${MAILDIR} to them. + cd "${D}/etc/${PN}" + for service in {imapd,pop3d}{,-ssl} ; do + mv -f "${service}.dist" "${service}" || die "Failed to mv ${service}.dist to ${service}" + echo -e '\n# Hardwire a value for ${MAILDIR}' >> "${service}" + echo 'MAILDIR=.maildir' >> "${service}" + echo 'MAILDIRPATH=.maildir' >> "${service}" + done + for service in imapd pop3d ; do + echo -e '# Put any program for ${PRERUN} here' >> "${service}" + echo 'PRERUN=' >> "${service}" + echo -e '# Put any program for ${LOGINRUN} here' >> "${service}" + echo -e '# this is for relay-ctrl-allow in 4*' >> "${service}" + echo 'LOGINRUN=' >> "${service}" + done + + cd "${D}/usr/sbin" + for x in * ; do + if [[ -L "${x}" ]] ; then + rm -f "${x}" || die "Failed to rm ${x}" + fi + done + + cd ../share + mv -f * ../sbin + mv -f ../sbin/man . + cd .. + + for x in mkimapdcert mkpop3dcert ; do + mv -f "${D}/usr/sbin/${x}" "${D}/usr/sbin/${x}.orig" || die "Failed to mv /usr/sbin/${x} to /usr/sbin/${x}.orig" + done + + exeinto /usr/sbin + doexe "${FILESDIR}/mkimapdcert" "${FILESDIR}/mkpop3dcert" || die "doexe failed" + + dosym /usr/sbin/courierlogger /usr/$(get_libdir)/${PN}/courierlogger || die "dosym failed" + + mkdir "${WORKDIR}/tmp" ; cd "${WORKDIR}/tmp" + for initd in courier-{imapd,pop3d}{,-ssl} ; do + sed -e "s:GENTOO_LIBDIR:$(get_libdir):g" "${FILESDIR}/${PN}-${INITD_VER}-${initd}.rc6" > "${initd}" || die "initd libdir-sed failed" + doinitd "${initd}" || die "doinitd ${initd} failed" + done + exeinto /usr/$(get_libdir)/${PN} + for exe in gentoo-{imapd,pop3d}{,-ssl}.rc courier-{imapd,pop3d}.indirect ; do + sed -e "s:GENTOO_LIBDIR:$(get_libdir):g" "${FILESDIR}/${PN}-${RC_VER}-${exe}" > "${exe}" || die "exe libdir-sed failed" + doexe "${exe}" || die "doexe ${exe} failed" + done + + dodir /usr/bin + mv -f "${D}/usr/sbin/maildirmake" "${D}/usr/bin/maildirmake" || die "Failed to mv /usr/sbin/maildirmake to /usr/bin/maildirmake" + + # Bug #45953, more docs. + cd "${S}" + dohtml -r "${S}"/* + dodoc "${S}"/{00README.NOW.OR.SUFFER,AUTHORS,INSTALL,NEWS,README,ChangeLog} "${FILESDIR}"/${PN}-gentoo.readme + docinto imap + dodoc "${S}"/imap/{ChangeLog,BUGS,BUGS.html,README} + docinto maildir + dodoc "${S}"/maildir/{AUTHORS,INSTALL,README.maildirquota.txt,README.sharedfolders.txt} + docinto tcpd + dodoc "${S}"/tcpd/README.couriertls +} + +pkg_postinst() { + elog "Authdaemond is no longer provided by this package." + elog "Authentication libraries are now in courier-authlib." + elog "For a quick-start howto please refer to:" + elog "/usr/share/doc/${P}/${PN}-gentoo.readme.gz" + # Some users have been reporting that permissions on this directory were + # getting scrambled, so let's ensure that they are sane. + chmod 0755 "${ROOT}/usr/$(get_libdir)/${PN}" || die "Failed to ensure sane permissions on ${ROOT}/usr/$(get_libdir)/${PN}" +} + +src_test() { + ewarn "make check is not supported by this package due to the" + ewarn "--enable-workarounds-for-imap-client-bugs option." +} diff --git a/net-mail/courier-imap/courier-imap-4.4.1-r1.ebuild b/net-mail/courier-imap/courier-imap-4.4.1-r1.ebuild new file mode 100644 index 000000000000..07f4a8ed0c4c --- /dev/null +++ b/net-mail/courier-imap/courier-imap-4.4.1-r1.ebuild @@ -0,0 +1,250 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/courier-imap/courier-imap-4.4.1-r1.ebuild,v 1.1 2008/12/14 21:19:10 mabi Exp $ + +inherit autotools eutils multilib libtool + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd" + +DESCRIPTION="An IMAP daemon designed specifically for maildirs." +HOMEPAGE="http://www.courier-mta.org/" +SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2" +LICENSE="GPL-3" +SLOT="0" +IUSE="berkdb debug fam gdbm ipv6 nls selinux gnutls" + +# userpriv breaks linking against vpopmail +RESTRICT="userpriv" + +RDEPEND="gnutls? ( net-libs/gnutls ) + !gnutls? ( >=dev-libs/openssl-0.9.6 ) + >=net-libs/courier-authlib-0.61 + >=net-mail/mailbase-0.00-r8 + berkdb? ( sys-libs/db ) + fam? ( virtual/fam ) + gdbm? ( >=sys-libs/gdbm-1.8.0 ) + selinux? ( sec-policy/selinux-courier-imap )" +DEPEND="${RDEPEND} + dev-lang/perl + !mail-mta/courier + userland_GNU? ( sys-process/procps )" +RDEPEND="${RDEPEND} + !virtual/imapd" + +PROVIDE="virtual/imapd" + +RC_VER="4.0.6-r1" +INITD_VER="4.0.6-r1" + +pkg_setup() { + if ! use berkdb && ! use gdbm ; then + echo + eerror "Either the 'berkdb' or the 'gdbm' USE flag is required." + eerror "Please add it to '/etc/make.conf' or '/etc/portage/package.use'." + eerror "Use 'man 5 portage' for more info on '/etc/portage/package.use'." + echo + die "Required USE flag missing." + fi +} + +vpopmail_setup() { + VPOPMAIL_INSTALLED= + VPOPMAIL_DIR= + export VPOPMAIL_INSTALLED VPOPMAIL_DIR + VPOPMAIL_DIR=$(grep ^vpopmail /etc/passwd 2>/dev/null | cut -d: -f6) + VPOPMAIL_INSTALLED= + if has_version 'net-mail/vpopmail' && [[ -n "${VPOPMAIL_DIR}" ]] && [[ -f "${VPOPMAIL_DIR}/etc/lib_deps" ]] ; then + VPOPMAIL_INSTALLED=1 + else + VPOPMAIL_DIR= + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # Bug #48838. Patch to enable/disable FAM support. + # 20 Aug 2004 langthang@gentoo.org + # This patch should fix bug #51540. fam USE flag is not needed for shared folder support. + epatch "${FILESDIR}"/${PN}-4.0.1-disable-fam-configure.in.patch + + # Kill unneeded call to AC_PROG_SYSCONFTOOL (bug #168206). + epatch "${FILESDIR}"/${PN}-4.0.6-aclocal-fix.patch + + # These patches should fix problems detecting BerkeleyDB. + # We now can compile with db4 support. + if use berkdb ; then + epatch "${FILESDIR}"/${PN}-4.0.6-db4-bdbobj_configure.in.patch + epatch "${FILESDIR}"/${PN}-4.0.6-db4-configure.in.patch + fi + + ebegin "Recreating configure" + eautoreconf || die "eautoreconf failed" + eend $? +} + +src_compile() { + vpopmail_setup + + local myconf="" + + # 19 Aug 2004 langthang@gentoo.org + # Default to gdbm if both berkdb and gdbm are present. + if use gdbm ; then + einfo "Building with GDBM support" + myconf="${myconf} --with-db=gdbm" + elif use berkdb ; then + einfo "Building with BerkeleyDB support" + myconf="${myconf} --with-db=db" + fi + + # The default character set is ISO-8859-1/US-ASCII. + # USE 'nls' will enable all available character sets. + # Set ENABLE_UNICODE=iso-8859-1,utf-8,iso-8859-10 + # to include only specified translation tables. + if use nls && [[ -z "${ENABLE_UNICODE}" ]] ; then + einfo "ENABLE_UNICODE is not set, building with all available character sets" + myconf="${myconf} --enable-unicode" + elif use nls ; then + einfo "ENABLE_UNICODE is set, building with unicode=${ENABLE_UNICODE}" + myconf="${myconf} --enable-unicode=${ENABLE_UNICODE}" + else + einfo "Disabling unicode support" + myconf="${myconf} --disable-unicode" + fi + + use debug && myconf="${myconf} debug=true" + + # Fix for bug #21330 + CFLAGS="$(echo ${CFLAGS} | xargs)" + CXXFLAGS="$(echo ${CXXFLAGS} | xargs)" + LDFLAGS="$(echo ${LDFLAGS} | xargs)" + + # Do the actual build now + LDFLAGS="${LDFLAGS} " econf \ + --disable-root-check \ + --bindir=/usr/sbin \ + --mandir=/usr/share/man \ + --sysconfdir=/etc/${PN} \ + --libexecdir=/usr/$(get_libdir)/${PN} \ + --localstatedir=/var/lib/${PN} \ + --with-authdaemonvar=/var/lib/${PN}/authdaemon \ + --enable-workarounds-for-imap-client-bugs \ + --with-mailuser=mail \ + --with-mailgroup=mail \ + $(use_with fam) \ + $(use_with ipv6) \ + $(use_with gnutls) \ + ${myconf} || die "econf failed" + + # Change the pem file location. + sed -i -e "s:^\(TLS_CERTFILE=\).*:\1/etc/courier-imap/imapd.pem:" \ + imap/imapd-ssl.dist || \ + die "sed failed" + + sed -i -e "s:^\(TLS_CERTFILE=\).*:\1/etc/courier-imap/pop3d.pem:" \ + imap/pop3d-ssl.dist || \ + die "sed failed" + + emake || die "emake failed" +} + +src_install() { + vpopmail_setup + + dodir /var/lib/${PN} /etc/pam.d + emake DESTDIR="${D}" install || die "emake install failed" + rm -Rf "${D}/etc/pam.d" + + # Avoid name collisions in /usr/sbin wrt imapd and pop3d + cd "${D}/usr/sbin" + for name in imapd pop3d ; do + mv -f "${name}" "courier-${name}" || die "Failed to mv ${name} to courier-${name}" + done + + # Hack /usr/lib/courier-imap/foo.rc to use ${MAILDIR} instead of + # 'Maildir', and to use /usr/sbin/courier-foo names. + cd "${D}/usr/$(get_libdir)/${PN}" + for service in {imapd,pop3d}{,-ssl} ; do + sed -i -e 's/Maildir/${MAILDIR}/' "${service}.rc" || die "sed failed" + sed -i -e "s/\/usr\/sbin\/${service}/\/usr\/sbin\/courier-${service}/" "${service}.rc" || die "sed failed" + done + + # Rename the config files correctly and add a value for ${MAILDIR} to them. + cd "${D}/etc/${PN}" + for service in {imapd,pop3d}{,-ssl} ; do + mv -f "${service}.dist" "${service}" || die "Failed to mv ${service}.dist to ${service}" + echo -e '\n# Hardwire a value for ${MAILDIR}' >> "${service}" + echo 'MAILDIR=.maildir' >> "${service}" + echo 'MAILDIRPATH=.maildir' >> "${service}" + done + for service in imapd pop3d ; do + echo -e '# Put any program for ${PRERUN} here' >> "${service}" + echo 'PRERUN=' >> "${service}" + echo -e '# Put any program for ${LOGINRUN} here' >> "${service}" + echo -e '# this is for relay-ctrl-allow in 4*' >> "${service}" + echo 'LOGINRUN=' >> "${service}" + done + + cd "${D}/usr/sbin" + for x in * ; do + if [[ -L "${x}" ]] ; then + rm -f "${x}" || die "Failed to rm ${x}" + fi + done + + cd ../share + mv -f * ../sbin + mv -f ../sbin/man . + cd .. + + for x in mkimapdcert mkpop3dcert ; do + mv -f "${D}/usr/sbin/${x}" "${D}/usr/sbin/${x}.orig" || die "Failed to mv /usr/sbin/${x} to /usr/sbin/${x}.orig" + done + + exeinto /usr/sbin + doexe "${FILESDIR}/mkimapdcert" "${FILESDIR}/mkpop3dcert" || die "doexe failed" + + dosym /usr/sbin/courierlogger /usr/$(get_libdir)/${PN}/courierlogger || die "dosym failed" + + mkdir "${WORKDIR}/tmp" ; cd "${WORKDIR}/tmp" + for initd in courier-{imapd,pop3d}{,-ssl} ; do + sed -e "s:GENTOO_LIBDIR:$(get_libdir):g" "${FILESDIR}/${PN}-${INITD_VER}-${initd}.rc6" > "${initd}" || die "initd libdir-sed failed" + doinitd "${initd}" || die "doinitd ${initd} failed" + done + exeinto /usr/$(get_libdir)/${PN} + for exe in gentoo-{imapd,pop3d}{,-ssl}.rc courier-{imapd,pop3d}.indirect ; do + sed -e "s:GENTOO_LIBDIR:$(get_libdir):g" "${FILESDIR}/${PN}-${RC_VER}-${exe}" > "${exe}" || die "exe libdir-sed failed" + doexe "${exe}" || die "doexe ${exe} failed" + done + + dodir /usr/bin + mv -f "${D}/usr/sbin/maildirmake" "${D}/usr/bin/maildirmake" || die "Failed to mv /usr/sbin/maildirmake to /usr/bin/maildirmake" + + # Bug #45953, more docs. + cd "${S}" + dohtml -r "${S}"/* + dodoc "${S}"/{00README.NOW.OR.SUFFER,AUTHORS,INSTALL,NEWS,README,ChangeLog} "${FILESDIR}"/${PN}-gentoo.readme + docinto imap + dodoc "${S}"/imap/{ChangeLog,BUGS,BUGS.html,README} + docinto maildir + dodoc "${S}"/maildir/{AUTHORS,INSTALL,README.maildirquota.txt,README.sharedfolders.txt} + docinto tcpd + dodoc "${S}"/tcpd/README.couriertls +} + +pkg_postinst() { + elog "Authdaemond is no longer provided by this package." + elog "Authentication libraries are now in courier-authlib." + elog "For a quick-start howto please refer to:" + elog "/usr/share/doc/${P}/${PN}-gentoo.readme.gz" + # Some users have been reporting that permissions on this directory were + # getting scrambled, so let's ensure that they are sane. + chmod 0755 "${ROOT}/usr/$(get_libdir)/${PN}" || die "Failed to ensure sane permissions on ${ROOT}/usr/$(get_libdir)/${PN}" +} + +src_test() { + ewarn "make check is not supported by this package due to the" + ewarn "--enable-workarounds-for-imap-client-bugs option." +} diff --git a/net-mail/courier-imap/files/courier-imap-4.0.6-r1-courier-imapd.indirect b/net-mail/courier-imap/files/courier-imap-4.0.6-r1-courier-imapd.indirect index 2367ae0a2e77..26e0ba2cd5c0 100644 --- a/net-mail/courier-imap/files/courier-imap-4.0.6-r1-courier-imapd.indirect +++ b/net-mail/courier-imap/files/courier-imap-4.0.6-r1-courier-imapd.indirect @@ -1,3 +1,3 @@ #!/bin/bash XMAILDIR="$1" -eval ${LOGINRUN} /usr/sbin/courier-imapd "${XMAILDIR}" +exec ${LOGINRUN} /usr/sbin/courier-imapd "${XMAILDIR}" diff --git a/net-mail/courier-imap/files/courier-imap-4.0.6-r1-courier-pop3d.indirect b/net-mail/courier-imap/files/courier-imap-4.0.6-r1-courier-pop3d.indirect index 4651a048ac8b..1a523f24db4f 100644 --- a/net-mail/courier-imap/files/courier-imap-4.0.6-r1-courier-pop3d.indirect +++ b/net-mail/courier-imap/files/courier-imap-4.0.6-r1-courier-pop3d.indirect @@ -1,3 +1,3 @@ #!/bin/bash XMAILDIR="$1" -eval ${LOGINRUN} /usr/sbin/courier-pop3d "${XMAILDIR}" +exec ${LOGINRUN} /usr/sbin/courier-pop3d "${XMAILDIR}" |