diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /mail-mta/qmail-ldap/qmail-ldap-1.03-r8.ebuild |
reinit the tree, so we can have metadata
Diffstat (limited to 'mail-mta/qmail-ldap/qmail-ldap-1.03-r8.ebuild')
-rw-r--r-- | mail-mta/qmail-ldap/qmail-ldap-1.03-r8.ebuild | 225 |
1 files changed, 225 insertions, 0 deletions
diff --git a/mail-mta/qmail-ldap/qmail-ldap-1.03-r8.ebuild b/mail-mta/qmail-ldap/qmail-ldap-1.03-r8.ebuild new file mode 100644 index 000000000000..a9126133a775 --- /dev/null +++ b/mail-mta/qmail-ldap/qmail-ldap-1.03-r8.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +GENQMAIL_PV=20080406 +QMAIL_SPP_PV=0.42 + +QMAIL_LDAP_PV=20060201 +QMAIL_LDAP_F=${P}-${QMAIL_LDAP_PV}.patch.gz + +QMAIL_LDAP_SPP_F=${P}-spp-${QMAIL_SPP_PV}.patch + +QMAIL_LDAP_CONTROLS_PV=20060401d +QMAIL_LDAP_CONTROLS_F=${P}-${QMAIL_LDAP_PV}-controls${QMAIL_LDAP_CONTROLS_PV}.patch + +inherit eutils qmail + +DESCRIPTION="qmail -- a secure, reliable, efficient, simple message transfer agent" +HOMEPAGE=" + http://www.qmail-ldap.org + http://cr.yp.to/qmail.html + http://qmail.org +" +SRC_URI="mirror://qmail/qmail-${PV}.tar.gz + https://dev.gentoo.org/~hollow/distfiles/${GENQMAIL_F} + http://www.nrg4u.com/qmail/${QMAIL_LDAP_F} + mirror://gentoo/${QMAIL_LDAP_CONTROLS_F} + mirror://gentoo/${P}-queue-custom-error.patch + !vanilla? ( + qmail-spp? ( + mirror://sourceforge/qmail-spp/${QMAIL_SPP_F} + mirror://gentoo/${QMAIL_LDAP_SPP_F} + ) + ) +" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="cluster debug gencertdaily highvolume qmail-spp rfc2307 rfc822 ssl vanilla zlib" +RESTRICT="test" + +DEPEND=" + !mail-mta/qmail + net-nds/openldap + net-mail/queue-repair + ssl? ( dev-libs/openssl ) +" +RDEPEND=" + !mail-mta/courier + !mail-mta/esmtp + !mail-mta/exim + !mail-mta/mini-qmail + !mail-mta/msmtp + !mail-mta/netqmail + !mail-mta/nullmailer + !mail-mta/postfix + !mail-mta/sendmail + !mail-mta/opensmtpd + !mail-mta/ssmtp + >=sys-apps/ucspi-tcp-0.88-r17 + ssl? ( >=sys-apps/ucspi-ssl-0.70-r1 ) + virtual/daemontools + >=net-mail/dot-forward-0.71-r3 + ${DEPEND} +" + +S="${WORKDIR}"/qmail-${PV} + +pkg_setup() { + if [[ -n "${QMAIL_PATCH_DIR}" ]]; then + eerror + eerror "The QMAIL_PATCH_DIR variable for custom patches" + eerror "has been removed from ${PN}. If you need custom patches" + eerror "you should create a copy of this ebuild in an overlay." + eerror + die "QMAIL_PATCH_DIR is not supported anymore" + fi + + qmail_create_users +} + +src_unpack() { + genqmail_src_unpack + use qmail-spp && qmail_spp_src_unpack + + unpack qmail-${PV}.tar.gz + + cd "${S}" + + # main ldap patch + # includes: netqmail-1.05, EXTTODO, BIGTODO, TLS/SMTPAUTH, 0.0.0.0 fix + epatch "${DISTDIR}"/${QMAIL_LDAP_F} + + # QmailLDAP/Controls patch + # includes: RFC2307/822 fixes + epatch "${DISTDIR}"/${QMAIL_LDAP_CONTROLS_F} + epatch "${FILESDIR}"/${PV}-warnings.patch + + # fix libraries for controls patch + sed -i -e 's|NEWLDAPPROGLIBS=.*|& str.a|' Makefile + + ht_fix_file Makefile* + + if ! use vanilla; then + # Add custom bounce messages to qmail-queue + epatch "${DISTDIR}"/${P}-queue-custom-error.patch + + # qmail-spp patch + use qmail-spp && epatch "${DISTDIR}"/${QMAIL_LDAP_SPP_F} + fi + + # makefile options + local INCLUDES="-I/usr/include" + local LDAPLIBS="-L/usr/lib -lldap -llber" + local LDAPFLAGS="-DALTQUEUE -DEXTERNAL_TODO -DDASH_EXT -DSMTPEXECCHECK" + local CONTROLDB="-DUSE_CONTROLDB -DQLDAP_BAILOUT" + local SECUREBIND= RFCFLAGS= + + use cluster && LDAPFLAGS="${LDAPFLAGS} -DQLDAP_CLUSTER" + use highvolume && LDAPFLAGS="${LDAPFLAGS} -DBIGTODO" + use zlib && LDAPFLAGS="${LDAPFLAGS} -DDATA_COMPRESS -D QMQP_COMPRESS" + + use rfc2307 && RFCFLAGS="${RFCFLAGS} -DUSE_RFC2307" + use rfc822 && RFCFLAGS="${RFCFLAGS} -DUSE_RFC822" + + use ssl && SECUREBIND="-DSECUREBIND_TLS -DSECUREBIND_SSL" + + # a lot of sed magic to get Makefile right + local EXP= + + EXP="${EXP} s|^#LDAPINCLUDES=.*|LDAPINCLUDES=${INCLUDES}|;" + EXP="${EXP} s|^#LDAPLIBS=.*|LDAPLIBS=${LDAPLIBS}|;" + EXP="${EXP} s|^#LDAPFLAGS=.*|LDAPFLAGS=${LDAPFLAGS}|;" + + EXP="${EXP} s|^#CONTROLDB=.*|CONTROLDB=${CONTROLDB}|;" + EXP="${EXP} s|^#RFCFLAGS=.*|RFCFLAGS=${RFCFLAGS}|;" + EXP="${EXP} s|^#SECUREBIND=.*|SECUREBIND=${SECUREBIND}|;" + + # TODO: do we even need this with LDAP? + EXP="${EXP} s|^#SHADOWLIBS=.*|SHADOWLIBS=-lcrypt|;" + + # automagic maildir creation + EXP="${EXP} s|^#\(MDIRMAKE=.*\)|\1|;" + EXP="${EXP} s|^#\(HDIRMAKE=.*\)|\1|;" + + use debug && EXP="${EXP} s|^#\(DEBUG=.*\)|\1|;" + use zlib && EXP="${EXP} s|^#ZLIB=.*|ZLIB=-lz|;" + + if use ssl; then + EXP="${EXP} s|^#\(TLS=.*\)|\1|;" + EXP="${EXP} s|^#TLSINCLUDES=.*|TLSINCLUDES=${INCLUDES}|;" + EXP="${EXP} s|^#TLSLIBS=.*|TLSLIBS=-L/usr/lib -lssl -lcrypto|;" + EXP="${EXP} s|^#OPENSSLBIN=.*|OPENSSLBIN=/usr/bin/openssl|;" + fi + + qmail_src_postunpack + + sed -i -e "${EXP}" Makefile || die "could not patch Makefile" +} + +src_compile() { + qmail_src_compile ldap + use qmail-spp && qmail_spp_src_compile +} + +qmail_full_install_hook() { + insinto ${QMAIL_HOME}/bin + insopts -o root -g qmail -m 0755 + doins auth_smtp condwrite digest dirmaker pbs{add,check,dbd} \ + qmail-{forward,group,quotawarn,reply,secretary,verify} + + insopts -o root -g root -m 0750 + doins qmail-ldaplookup + + insopts -o root -g qmail -m 0711 + doins qmail-todo + + insopts -o root -g qmail -m 0700 + doins auth_{imap,pop} qmail-cdb +} + +qmail_man_install_hook() { + dodoc EXTTODO POPBEFORESMTP QLDAP* "${FILESDIR}"/samples.ldif +} + +qmail_config_install_hook() { + einfo "Installing OpenLDAP schema" + insinto /etc/openldap/schema + doins qmail.schema qmail-ldap-control/qmailControl.schema +} + +src_install() { + qmail_src_install +} + +pkg_postinst() { + qmail_queue_setup + qmail_rootmail_fixup + qmail_tcprules_build + + qmail_config_notice + qmail_supervise_config_notice + elog + elog "If you are looking for documentation, check those links:" + elog "http://www.lifewithqmail.com/ldap/" + elog " -- Life with qmail-ldap" + elog + elog "For sample ldifs, please check /usr/share/doc/${PF}/" + elog +} + +pkg_preinst() { + qmail_tcprules_fixup +} + +pkg_config() { + # avoid some weird locale problems + export LC_ALL=C + + qmail_config_fast + qmail_tcprules_config + qmail_tcprules_build + + use ssl && qmail_ssl_generate +} |