summaryrefslogtreecommitdiff
path: root/net-mail/vpopmail
diff options
context:
space:
mode:
Diffstat (limited to 'net-mail/vpopmail')
-rw-r--r--net-mail/vpopmail/Manifest1
-rw-r--r--net-mail/vpopmail/vpopmail-5.4.33-r1.ebuild255
2 files changed, 256 insertions, 0 deletions
diff --git a/net-mail/vpopmail/Manifest b/net-mail/vpopmail/Manifest
index c810487dbf2e..fe76205f227e 100644
--- a/net-mail/vpopmail/Manifest
+++ b/net-mail/vpopmail/Manifest
@@ -5,6 +5,7 @@ AUX vpopmail-double-free.patch 395 BLAKE2B e17be028bf2ef0b4770c78bbfbeb6f8024db7
AUX vpopmail-lazy.patch 324 BLAKE2B 171579db62d8582612c4b5a1bccdb57b4f08317b0c37ac66298717b1c175204de358c1299e380c191603538d3e6d795dbacde25ef672c6809d85bf7a055c7630 SHA512 42f1e24ee850b9e858a271d734246981c506d74556a62d0124ebe8e842553e32e57603975545d8f49d76e3cca832a73ef61ef191a0a1cf07f9343fe609ecc0c5
AUX vpopmail-vpgsql.patch 2666 BLAKE2B cad5f0152a3d0a1bc83972aaea7dacf55f1e9f2f2e76e16da9a4cda0f7e9cc609c2d53edc91241566c68cb653910947c74387d23e6d59cd26f8322695c5bc9b8 SHA512 a8067aabfac181637f1366be0215c885ad380e44bbae1a69f9b0438b0a99cd194c2ce2068acf25142c9bfe6623ca8a77b1a9b82790f7faeb6e921c20cd1c1e20
DIST vpopmail-5.4.33.tar.gz 612271 BLAKE2B 1dacc512c5d64e8f73a0630209407161afd87ebec510cdf57cb8aaa8be9b911141612d69892981a2545fc263e798f6e7dc9d5a283e1177e223f4a2e1fac80017 SHA512 abd5060d709c661d95ca442c6f77c4c27cf30a3c6790fc36d76ccf379ed2e08c1f0af697b2bcc57176a2cdb2cb67f6c27236d7b3fa69a135fa87f45a5df208ab
+EBUILD vpopmail-5.4.33-r1.ebuild 8059 BLAKE2B f8933d6e46ae839bc4280f21013145c0d2d59dad9121028e0e7f2d331c2fa26eeb236f8491554e52ca7f7d8b82cef2a233c775dea853a29a51f508dd373cccba SHA512 4b922cfade81bb7fbc0d5123346d657873dc49dade23882a75faff2a4b81e220d16b661175f06524320ab78297f8066770a7a9201e235dc34ec021d174fe1408
EBUILD vpopmail-5.4.33-r3.ebuild 9026 BLAKE2B 1abd3e4d464d12002f64b73a5b7339a202b2ebc4cfaa6df101054deed4fcec1308f20c9225c592dc77ba117fed5672d5dba125e699d59f038b41de6b0f33ab36 SHA512 63ad190248e31c47a1e872a3fc4b108ff6ff3c1c2124360e314c4b153ddf5aed1f46f1bc1d3a61077502b8ba9d2adbfd02d3371ff6f811b2b384e675a6378604
EBUILD vpopmail-5.4.33.ebuild 7658 BLAKE2B 0c3d9c5736e549d84be9604ece0a11fb064b4966f600fea5c1456ac92ddc25a4488c0fe328b53d12869a229426d98f333170b703484286804db1962e1c72f358 SHA512 8ad7fed94d1cf598ff019c04363ad4d3262716c4d460597c3886826d12b746f1b4151813526c7923225adc29165ba91db2d98bc988b8545bc659df0f5fcee0f6
MISC metadata.xml 603 BLAKE2B 65783ada89c16e0186dc1af9532d0dff0366beb62bcc935895cbeb174d8c7ebb3b4203fc2f2287390d764f9e26b53aac10b78cfbbd38f0d757613638e2d07efc SHA512 fbb42f6bb68c08a378846f9007cdbffe52b0f2fd042bcbe083ea307a2419b2036a0bb085573294d83a464a4aeea97012a966b3135d282912fae71fcc47c4a325
diff --git a/net-mail/vpopmail/vpopmail-5.4.33-r1.ebuild b/net-mail/vpopmail/vpopmail-5.4.33-r1.ebuild
new file mode 100644
index 000000000000..78bc92f714ee
--- /dev/null
+++ b/net-mail/vpopmail/vpopmail-5.4.33-r1.ebuild
@@ -0,0 +1,255 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools eutils fixheadtails qmail user
+
+HOMEPAGE="http://www.inter7.com/index.php?page=vpopmail"
+DESCRIPTION="Collection of programs to manage virtual email on Qmail servers"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="clearpasswd ipalias maildrop mysql postgres spamassassin"
+REQUIRED_USE="mysql? ( !postgres )"
+
+DEPEND="virtual/qmail
+ maildrop? ( mail-filter/maildrop )
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql:=[server] )
+ spamassassin? ( mail-filter/spamassassin )"
+RDEPEND="${DEPEND}"
+
+# This makes sure the variable is set, and that it isn't null.
+VPOP_DEFAULT_HOME="/var/vpopmail"
+
+vpopmail_set_homedir() {
+ VPOP_HOME=$(egethome vpopmail)
+ if [[ -z "${VPOP_HOME}" ]]; then
+ eerror "vpopmail's home directory is null in passwd data!"
+ eerror "You probably want to check that out."
+ eerror "Continuing with default."
+ VPOP_HOME="${VPOP_DEFAULT_HOME}"
+ else
+ einfo "Setting VPOP_HOME to: $VPOP_HOME"
+ fi
+}
+
+pkg_setup() {
+ enewgroup vpopmail 89
+ enewuser vpopmail 89 -1 ${VPOP_DEFAULT_HOME} vpopmail
+ upgradewarning
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-5.4.9-access.violation.patch
+ epatch "${FILESDIR}"/${PN}-lazy.patch
+ epatch "${FILESDIR}"/${PN}-double-free.patch
+ epatch "${FILESDIR}"/${PN}-vpgsql.patch
+
+ echo 'install-recursive: install-exec-am' \
+ >>"${S}"/Makefile.am
+
+ # fix maildir paths
+ sed -i -e 's|Maildir|.maildir|g' \
+ vchkpw.c vconvert.c vdelivermail.c \
+ vpopbull.c vpopmail.c vqmaillocal.c \
+ vuserinfo.c maildirquota.c || die
+
+ # remove vpopmail advertisement
+ sed -i -e '/printf.*vpopmail/s:vpopmail (:(:' \
+ vdelivermail.c vpopbull.c vqmaillocal.c || die
+
+ # automake/autoconf
+ mv -f "${S}"/configure.{in,ac} || die
+ sed -i -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' \
+ configure.ac || die
+
+ # _FORTIFY_SOURCE
+ sed -i \
+ -e 's/\(snprintf(\s*\(LI->[a-zA-Z_]\+\),\s*\)[a-zA-Z_]\+,/\1 sizeof(\2),/' \
+ vlistlib.c || die
+
+ eautoreconf
+ ht_fix_file cdb/Makefile
+}
+
+src_configure() {
+ vpopmail_set_homedir
+
+ local authopts
+ if use mysql; then
+ incdir=$(mysql_config --variable=pkgincludedir)
+ libdir=$(mysql_config --variable=pkglibdir)
+ authopts+=" --enable-auth-module=mysql"
+ authopts+=" --enable-incdir=${incdir}"
+ authopts+=" --enable-libdir=${libdir}"
+ authopts+=" --enable-sql-logging"
+ authopts+=" --enable-valias"
+ authopts+=" --disable-mysql-replication"
+ authopts+=" --enable-mysql-limits"
+ elif use postgres; then
+ pglibdir=$(pg_config --libdir)
+ authopts+=" --enable-auth-module=pgsql"
+ authopts+=" --enable-libdir=${pglibdir}"
+ authopts+=" --enable-sql-logging"
+ authopts+=" --enable-valias"
+ else
+ authopts+=" --enable-auth-module=cdb"
+ fi
+
+ econf ${authopts} \
+ --sysconfdir=${VPOP_HOME}/etc \
+ --enable-non-root-build \
+ --enable-qmaildir=${QMAIL_HOME} \
+ --enable-qmail-newu=${QMAIL_HOME}/bin/qmail-newu \
+ --enable-qmail-inject=${QMAIL_HOME}/bin/qmail-inject \
+ --enable-qmail-newmrh=${QMAIL_HOME}/bin/qmail-newmrh \
+ --enable-vpopuser=vpopmail \
+ --enable-vpopgroup=vpopmail \
+ --enable-many-domains \
+ --enable-file-locking \
+ --enable-file-sync \
+ --enable-md5-passwords \
+ --enable-logging \
+ --enable-auth-logging \
+ --enable-log-name=vpopmail \
+ --enable-qmail-ext \
+ --disable-tcpserver-file \
+ --disable-roaming-users \
+ $(use_enable ipalias ip-alias-domains) \
+ $(use_enable clearpasswd clear-passwd) \
+ $(use_enable maildrop) \
+ $(use_enable maildrop maildrop-prog /usr/bin/maildrop) \
+ $(use_enable spamassassin)
+}
+
+src_install() {
+ vpopmail_set_homedir
+
+ emake DESTDIR="${D}" install
+ keepdir "${VPOP_HOME}"/domains
+
+ # install helper script for maildir conversion
+ into "${VPOP_HOME}"
+ dobin "${FILESDIR}"/vpopmail-Maildir-dotmaildir-fix.sh
+ into /usr
+
+ dodoc doc/AUTHORS ChangeLog doc/FAQ doc/INSTALL doc/README*
+ dohtml doc/doc_html/* doc/man_html/*
+ rm -rf "${D}/${VPOP_HOME}"/doc
+ dosym \
+ $(realpath --relative-to "${D}/${VPOP_HOME}"/ "${D}"/usr/share/doc/${PF}/) \
+ "${VPOP_HOME}"/doc
+
+ # create /etc/vpopmail.conf
+ if use mysql; then
+ dodir /etc
+ mv "${D}${VPOP_HOME}"/etc/vpopmail.mysql "${D}"/etc/vpopmail.conf
+ dosym \
+ $(realpath --relative-to "${D}/${VPOP_HOME}"/etc/ "${D}"/etc/vpopmail.conf) \
+ "${VPOP_HOME}"/etc/vpopmail.mysql
+
+ sed -e '12d' -i "${D}"/etc/vpopmail.conf
+ echo '# Read-only DB' >> "${D}"/etc/vpopmail.conf
+ echo 'localhost|0|vpopmail|secret|vpopmail' >> "${D}"/etc/vpopmail.conf
+ 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
+ fi
+
+ insinto "${VPOP_HOME}"/etc
+ doins vusagec.conf
+ dosym "${VPOP_HOME}"/etc/vusagec.conf /etc/vusagec.conf
+ sed -i 's/Disable = False;/Disable = True;/g' "${D}${VPOP_HOME}"/etc/vusagec.conf
+
+ einfo "Installing env.d entry"
+ dodir /etc/env.d
+ doenvd "${FILESDIR}"/99vpopmail
+
+ einfo "Locking down vpopmail permissions"
+ fowners -R root:0 "${VPOP_HOME}"/{bin,etc,include}
+ fowners root:vpopmail "${VPOP_HOME}"/bin/vchkpw
+ fperms 4711 "${VPOP_HOME}"/bin/vchkpw
+}
+
+pkg_postinst() {
+ if use mysql ; then
+ elog
+ elog "You have 'mysql' turned on in your USE"
+ elog "Vpopmail needs a VALID MySQL USER. Let's call it 'vpopmail'"
+ elog "You MUST add it and then specify its passwd in the /etc/vpopmail.conf file"
+ elog
+ elog "First log into mysql as your mysql root user and pass. Then:"
+ elog "> create database vpopmail;"
+ elog "> use mysql;"
+ elog "> grant select, insert, update, delete, create, drop on vpopmail.* to"
+ elog " vpopmail@localhost identified by 'your password';"
+ elog "> flush privileges;"
+ elog
+ elog "If you have problems with vpopmail not accepting mail properly,"
+ elog "please ensure that /etc/vpopmail.conf is chmod 640 and"
+ elog "owned by root:vpopmail"
+ elog
+ fi
+
+ # do this for good measure
+ if [[ -e /etc/vpopmail.conf ]]; then
+ chmod 640 /etc/vpopmail.conf
+ chown root:vpopmail /etc/vpopmail.conf
+ fi
+
+ upgradewarning
+}
+
+pkg_postrm() {
+ vpopmail_set_homedir
+
+ elog "The vpopmail DATA will NOT be removed automatically."
+ elog "You can delete them manually by removing the ${VPOP_HOME} directory."
+}
+
+upgradewarning() {
+ ewarn
+ ewarn "Massive important warning if you are upgrading to 5.2.1-r8 or older"
+ ewarn "The internal structure of the mail storage has changed for"
+ ewarn "consistancy with the rest of Gentoo! Please review and utilize the "
+ ewarn "script at ${VPOP_HOME}/bin/vpopmail-Maildir-dotmaildir-fix.sh"
+ ewarn "to upgrade your system! (It can do conversions both ways)."
+ ewarn "You should be able to run it right away without any changes."
+ ewarn
+
+ elog
+ elog "Use of vpopmail's tcp.smtp[.cdb] is also deprecated now, consider"
+ elog "using net-mail/relay-ctrl instead."
+ elog
+
+ if use mysql; then
+ elog
+ elog "If you are upgrading from 5.4.17 or older, you have to fix your"
+ elog "MySQL tables:"
+ elog
+ elog 'ALTER TABLE `dir_control` CHANGE `domain` `domain` CHAR(96) NOT NULL;'
+ elog 'ALTER TABLE `ip_alias_map` CHANGE domain domain CHAR(96) NOT NULL;'
+ elog 'ALTER TABLE `lastauth` CHANGE domain domain CHAR(96) NOT NULL;'
+ elog 'ALTER TABLE `valias` CHANGE domain domain CHAR(96) NOT NULL;'
+ elog 'ALTER TABLE `vlog` CHANGE domain domain CHAR(96) NOT NULL;'
+ elog 'ALTER TABLE `vpopmail` CHANGE domain domain CHAR(96) NOT NULL;'
+ elog 'ALTER TABLE `limits` CHANGE domain domain CHAR(96) NOT NULL,'
+ elog ' ADD `disable_spamassassin` TINYINT(1) DEFAULT '0' NOT NULL AFTER `disable_smtp`,'
+ elog ' ADD `delete_spam` TINYINT(1) DEFAULT '0' NOT NULL AFTER `disable_spamassassin`;'
+ elog
+ fi
+
+ ewarn
+ ewarn "Newer versions of vpopmail contain a quota daemon called vusaged."
+ ewarn "This ebuild DOES NOT INSTALL vusaged and has therefore disabled"
+ ewarn "its usage in ${VPOP_HOME}/etc/vusagec.conf. DO NOT ENABLE!"
+ ewarn "Otherwise mail delivery WILL BREAK"
+ ewarn
+}