diff options
author | Rolf Eike Beer <eike@sf-mail.de> | 2020-01-25 11:31:00 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-02-25 21:29:22 +0000 |
commit | 264b28523b9afd79eac7b9a0a969693e800ad616 (patch) | |
tree | d74b2743339a338b3bd64e0e16e4ae70192469d5 /net-mail/vpopmail | |
parent | net-mail/vpopmail: fix broken symlink for USE=mysql (diff) | |
download | gentoo-264b28523b9afd79eac7b9a0a969693e800ad616.tar.gz gentoo-264b28523b9afd79eac7b9a0a969693e800ad616.tar.bz2 gentoo-264b28523b9afd79eac7b9a0a969693e800ad616.zip |
net-mail/vpopmail: enable onchange script
If there is no script put there by the user then this simply does nothing as
before.
This also drops the dependency on postgresql[server] as I see no reason that
this would not work with a remote server.
Closes: https://bugs.gentoo.org/516100
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
Closes: https://github.com/gentoo/gentoo/pull/14441
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'net-mail/vpopmail')
-rw-r--r-- | net-mail/vpopmail/vpopmail-5.4.33-r7.ebuild | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/net-mail/vpopmail/vpopmail-5.4.33-r7.ebuild b/net-mail/vpopmail/vpopmail-5.4.33-r7.ebuild new file mode 100644 index 000000000000..ceca711c4a4f --- /dev/null +++ b/net-mail/vpopmail/vpopmail-5.4.33-r7.ebuild @@ -0,0 +1,251 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools fixheadtails qmail + +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=" + acct-group/vpopmail + acct-user/vpopmail + virtual/qmail + maildrop? ( mail-filter/maildrop ) + mysql? ( dev-db/mysql-connector-c:0= ) + postgres? ( dev-db/postgresql:= ) + spamassassin? ( mail-filter/spamassassin )" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.9-access.violation.patch + "${FILESDIR}"/${PN}-lazy.patch + "${FILESDIR}"/${PN}-vpgsql.patch + "${FILESDIR}"/${PN}-double-free.patch + "${FILESDIR}"/${PN}-5.4.33-vdelivermail-add-static.patch + "${FILESDIR}"/${PN}-5.4.33-fix-those-vfork-instances-that-do-more-than-exec.patch + "${FILESDIR}"/${PN}-5.4.33-remove-unneeded-forward-declaration.patch + "${FILESDIR}"/${PN}-5.4.33-clean-up-calling-maildrop.patch + "${FILESDIR}"/${PN}-5.4.33-fix-S-tag-in-case-spamassassin-changed-the-file-size.patch + "${FILESDIR}"/${PN}-5.4.33-strncat.patch + "${FILESDIR}"/${PN}-5.4.33-unistd.patch + "${FILESDIR}"/${PN}-5.4.33-check-crypt-return-value-for-NULL.patch + "${FILESDIR}"/${PN}-5.4.33-use-proper-printf-format-strings.patch +) +DOCS=( + ChangeLog + doc/. +) +HTML_DOCS=( + doc_html/. + man_html/. +) + +VPOP_HOME="/var/vpopmail" + +pkg_setup() { + upgradewarning +} + +src_prepare() { + default + + echo 'install-recursive: install-exec-am' \ + >>"${S}"/Makefile.am || die + + # 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 "${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() { + local -a authopts + if use mysql; then + incdir=$(mysql_config --variable=pkgincludedir || die) + libdir=$(mysql_config --variable=pkglibdir || die) + authopts+=( "--enable-auth-module=mysql" + "--enable-incdir=${incdir}" + "--enable-libdir=${libdir}" + "--enable-sql-logging" + "--enable-valias" + "--disable-mysql-replication" + "--enable-mysql-limits" + ) + elif use postgres; then + libdir=$(pg_config --libdir || die) + incdir=$(pg_config --pkgincludedir || die) + authopts+=( "--enable-auth-module=pgsql" + "--enable-incdir=${incdir}" + "--enable-libdir=${libdir}" + "--enable-sql-logging" + "--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 \ + --enable-onchange-script \ + --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() { + 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 + + mv doc/doc_html/ doc/man_html/ . || die + einstalldocs + rm -r "${D}/${VPOP_HOME}"/doc || die + + # create /etc/vpopmail.conf + if use mysql; then + insinto /etc + newins "${D}${VPOP_HOME}"/etc/vpopmail.mysql vpopmail.conf + dosym ../../../etc/vpopmail.conf "${VPOP_HOME}"/etc/vpopmail.mysql + + sed 's/^[^#]/# &/' -i "${D}"/etc/vpopmail.conf || die + echo '# Read-only DB' >> "${D}"/etc/vpopmail.conf || die + echo 'localhost|0|vpopmail|secret|vpopmail' >> "${D}"/etc/vpopmail.conf || die + echo '# Write DB' >> "${D}"/etc/vpopmail.conf || die + echo 'localhost|0|vpopmail|secret|vpopmail' >> "${D}"/etc/vpopmail.conf || die + + # 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 || die + + einfo "Installing env.d entry" + 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 || die + chown root:vpopmail /etc/vpopmail.conf || die + fi + + upgradewarning +} + +pkg_postrm() { + elog "The vpopmail DATA will NOT be removed automatically." + elog "You can delete them manually by removing the ${VPOP_HOME} directory." +} + +upgradewarning() { + if has_version "<=net-mail/vpopmail-5.2.1-r8"; then + 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 + fi + + 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 + if has_version "<=net-mail/vpopmail-5.4.17"; then + elog + elog "If you are upgrading from 5.4.17 or older, you have to fix your" + elog "MySQL tables, please see the UPGRADE file in the documentation!" + elog + fi + 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 +} |