--- ./vpopmail-5.4.13.ebuild 2005-11-17 01:07:05.000000000 +0100 +++ vpopmail-5.4.13-r1.ebuild 2005-11-28 15:59:32.000000000 +0100 @@ -4,7 +4,7 @@ inherit eutils gnuconfig fixheadtails -# TODO: all ldap, sybase support +# TODO: sybase support #MY_PV=${PV/_/-} #MY_P=${PN}-${MY_PV} HOMEPAGE="http://www.inter7.com/index.php?page=vpopmail" @@ -14,13 +14,15 @@ LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86 ~sparc ~amd64 ~ppc" -IUSE="mysql ipalias clearpasswd" +IUSE="mysql ipalias clearpasswd ldap" + # vpopmail will NOT build if non-root. RESTRICT="nouserpriv" DEPEND_COMMON="mail-mta/qmail mysql? ( >=dev-db/mysql-3.23 )" DEPEND="sys-apps/sed sys-apps/ucspi-tcp + ldap? ( >=net-nds/openldap-2.1 ) ${DEPEND_COMMON}" RDEPEND="${DEPEND_COMMON} virtual/cron" @@ -52,12 +54,12 @@ } src_unpack() { - # cd ${WORKDIR} - # unpack ${MY_P}.tar.gz unpack ${A} cd ${S} epatch ${FILESDIR}/${PN}-5.4.9-access.violation.patch || die "failed to patch." + + epatch ${FILESDIR}/${PN}-5.4.13-ldap.patch || die "failed to patch." sed -i \ 's|Maildir|.maildir|g' \ @@ -78,12 +80,22 @@ src_compile() { vpopmail_set_homedir + if use mysql && use ldap + then + ewarn "Vpopmail only supports either the MySQL or LDAP." + ewarn "Presently this ebuild defaults to mysql. If you would like to" + ewarn "change the default behaviour, merge Vpopmail with;" + ewarn "USE=\"-mysql ldap\" emerge vpopmail" + epause 5 + fi + use ipalias \ && myopts="${myopts} --enable-ip-alias-domains=y" \ || myopts="${myopts} --enable-ip-alias-domains=n" - use mysql \ - && myopts="${myopts} --enable-auth-module=mysql \ + if use mysql + then + myopts="${myopts} --enable-auth-module=mysql \ --enable-libs=/usr/include/mysql \ --enable-libdir=/usr/lib/mysql \ --enable-sql-logging=y \ @@ -91,7 +103,10 @@ --enable-valias=y \ --enable-mysql-replication=n \ --enable-mysql-limits" - + elif use ldap + then + myopts="${myopts} --enable-auth-module=ldap" + fi # Bug 20127 use clearpasswd \ && myopts="${myopts} --enable-clear-passwd=y" \ @@ -147,7 +162,8 @@ dosym /usr/share/doc/${PF}/ ${VPOP_HOME}/doc # Create /etc/vpopmail.conf - if use mysql ; then + if use mysql + then einfo "Installing vpopmail mysql configuration file" dodir /etc #config file position @@ -159,10 +175,16 @@ echo '# Write DB' >>${D}/etc/vpopmail.conf echo 'localhost|0|vpopmail|secret|vpopmail' >>${D}/etc/vpopmail.conf # lock down perms - fperms 640 /etc/vpopmail.conf - fowners root:vpopmail /etc/vpopmail.conf + fperms 640 ${D}/etc/vpopmail.conf + fowners root:vpopmail ${D}/etc/vpopmail.conf + elif use ldap + then + einfo "Copying example ldap configuration to /var/vpopmail/etc" + dodir /etc + cp ${FILESDIR}/vpopmail.ldap ${D}/var/vpopmail/etc/vpopmail.ldap + fperms 640 ${D}/var/vpopmail/etc/vpopmail.ldap + fowners root:vpopmail ${D}/var/vpopmail/etc/vpopmail.ldap fi - # Install a proper cronjob instead of the old nastiness #einfo "Installing cronjob" #dodir /etc/cron.hourly @@ -203,7 +225,8 @@ pkg_postinst() { einfo "Performing post-installation routines for ${P}." - if use mysql ; then + if use mysql + then echo einfo "You have 'mysql' turned on in your USE" einfo "Vpopmail needs a VALID MySQL USER. Let's call it 'vpopmail'" @@ -215,17 +238,19 @@ einfo "> grant select, insert, update, delete, create, drop on vpopmail.* to" einfo " vpopmail@localhost identified by 'your password';" einfo "> flush privileges;" - echo - einfo "If you have problems with vpopmail not accepting mail properly," - einfo "please ensure that /etc/vpopmail.conf is chmod 640 and" - einfo "owned by root:vpopmail" - fi - # do this for good measure - if [ -e /etc/vpopmail.conf ] ; then - chmod 640 /etc/vpopmail.conf - chown root:vpopmail /etc/vpopmail.conf + elif use ldap + then + einfo + einfo "You have 'ldap' turned on in your USE" + einfo "The config file resides in /var/vpopmail/etc" fi + echo + einfo "If you have problems with vpopmail not accepting mail properly," + einfo "please ensure that /etc/vpopmail.conf is chmod 640 and" + einfo "owned by root:vpopmail" + einfo + upgradewarning }