# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit autotools readme.gentoo-r1 systemd DESCRIPTION="An IMAP daemon designed specifically for maildirs" HOMEPAGE="https://www.courier-mta.org/imap/" SRC_URI="https://sourceforge.net/projects/courier/files/imap/${PV}/${P}.tar.bz2/download -> ${P}.tar.bz2" LICENSE="GPL-3" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~s390 ~sparc x86" IUSE="berkdb debug +gdbm gnutls ipv6 selinux trashquota" REQUIRED_USE="|| ( berkdb gdbm )" CDEPEND=" gnutls? ( net-libs/gnutls:=[tools] ) !gnutls? ( dev-libs/openssl:0= ) net-libs/courier-authlib > "${D}/etc/${PN}/${service}" echo 'MAILDIR=.maildir' >> "${D}/etc/${PN}/${service}" echo 'MAILDIRPATH=.maildir' >> "${D}/etc/${PN}/${service}" done for service in imapd pop3d ; do echo -e '# Put any program for ${PRERUN} here' \ >> "${D}/etc/${PN}/${service}" echo 'PRERUN=' >> "${D}/etc/${PN}/${service}" echo -e '# Put any program for ${LOGINRUN} here' \ >> "${D}/etc/${PN}/${service}" echo -e '# this is for relay-ctrl-allow in 4*' \ >> "${D}/etc/${PN}/${service}" echo 'LOGINRUN=' >> "${D}/etc/${PN}/${service}" done for x in "${D}/usr/sbin"/* ; do if [[ -L "${x}" ]] ; then rm "${x}" || die "failed to remove ${x}" fi done mv "${D}/usr/share"/* "${D}/usr/sbin/" || die mv "${D}/usr/sbin/man" "${D}/usr/share/" || die rm "${D}/usr/sbin/"{mkimapdcert,mkpop3dcert} || die dosbin "${FILESDIR}/mkimapdcert" "${FILESDIR}/mkpop3dcert" dosym ../../sbin/courierlogger "/usr/$(get_libdir)/${PN}/courierlogger" for initd in courier-{imapd,pop3d}{,-ssl} ; do sed -e "s:GENTOO_LIBDIR:$(get_libdir):g" \ "${FILESDIR}/${PN}-${INITD_VER}-${initd}.rc6" \ > "${T}/${initd}" \ || die "initd libdir-sed failed" doinitd "${T}/${initd}" done cp "${FILESDIR}"/courier-*-r1.service . sed -i \ -e "s:/usr/lib/:/usr/$(get_libdir)/:" \ courier-*-r1.service \ || die systemd_newunit courier-authdaemond-r1.service \ courier-authdaemond.service systemd_newunit courier-imapd-ssl-r1.service \ courier-imapd-ssl.service systemd_newunit courier-imapd-r1.service \ courier-imapd.service 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}" \ > "${T}/${exe}" \ || die "exe libdir-sed failed" doexe "${T}/${exe}" done # Avoid a collision with mail-mta/netqmail, bug 482098. mv "${D}/usr/sbin/"{,courier-}maildirmake \ || die "failed to rename maildirmake to courier-maildirmake" mv "${D}/usr/share/man/man1/"{,courier-}maildirmake.1 \ || die "failed to rename maildirmake.1 to courier-maildirmake.1" rm -rf "${D}"/usr/sbin/doc dodoc AUTHORS INSTALL NEWS README ChangeLog readme.gentoo_create_doc dodoc "${FILESDIR}/${PN}-gentoo.readme" docinto imap dodoc libs/imap/ChangeLog libs/imap/BUGS* libs/imap/README* docinto maildir dodoc libs/maildir/AUTHORS libs/maildir/*.html libs/maildir/README* docinto rfc2045 dodoc libs/rfc2045/*.html docinto tcpd dodoc libs/tcpd/README* libs/tcpd/*.html exeinto /etc/cron.monthly newexe "${FILESDIR}"/${PN}.cron ${PN} } pkg_postinst() { # 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}" readme.gentoo_print_elog elog "" elog "Courier Imap now run as user mail:mail." elog "" elog "This require you to enable read/write access to the caches:" elog "/var/lib/courier-imap/courierssl*cache (chown mail:mail)" elog "and read access to the certificates (e.g. /etc/courier-imap/pop3d.pem )" }