diff options
author | Daniel Solano Gómez <gentoo@sattvik.com> | 2013-08-10 15:42:07 -0500 |
---|---|---|
committer | Daniel Solano Gómez <gentoo@sattvik.com> | 2013-08-10 15:46:22 -0500 |
commit | c7f7a307abb369aa6cc9d02a67692d7203972086 (patch) | |
tree | 6e2fc4f566cc1cb5ce2e99db1cfe545e46f3276c | |
parent | Add new masters directive (diff) | |
download | sattvik-c7f7a307abb369aa6cc9d02a67692d7203972086.tar.gz sattvik-c7f7a307abb369aa6cc9d02a67692d7203972086.tar.bz2 sattvik-c7f7a307abb369aa6cc9d02a67692d7203972086.zip |
Add nullmailer with corrected init script.
-rw-r--r-- | mail-mta/nullmailer/Manifest | 5 | ||||
-rw-r--r-- | mail-mta/nullmailer/files/init.d-nullmailer-r3 | 58 | ||||
-rw-r--r-- | mail-mta/nullmailer/files/nullmailer.service | 17 | ||||
-rw-r--r-- | mail-mta/nullmailer/files/remotes.sample-1.13 | 29 | ||||
-rw-r--r-- | mail-mta/nullmailer/nullmailer-1.13-r1.ebuild | 137 |
5 files changed, 246 insertions, 0 deletions
diff --git a/mail-mta/nullmailer/Manifest b/mail-mta/nullmailer/Manifest new file mode 100644 index 0000000..e7c0db7 --- /dev/null +++ b/mail-mta/nullmailer/Manifest @@ -0,0 +1,5 @@ +AUX init.d-nullmailer-r3 1318 SHA256 923ec20f88ffb991392ef4e7d2a8d6afb2ac21e8c2b4a27d1fc4ff69b91fa501 SHA512 e8559232d79ee4a7ce82e89bab4f567ebf272c0cf03207e110f4a2bae38d6e4a6818e29c10f9c87c11325cddc20f37cc8c3a38fa385703fa7b0d9706a26db6f1 WHIRLPOOL 88a4205837045b6d9d9c3c521163d04b1adc9bf6a75b3a765e4b1bc71dc244124cd6c5f604c7cddd5b22efc7b98f80b74a6e5c5f9f6281fb23df8fe6aeabf465 +AUX nullmailer.service 398 SHA256 a8083aa8c784fef00c6b0dab6733874edbbf1d01c2060bc512f83168eba8485a SHA512 09efea2dde679f5fda9afee376351c54a71742aff21457481ced5cffdcccd837e12c742c9f1cf65dfb63cbf73f2a7ddfa89d09dee1169a8a05daf47d0e5f73c9 WHIRLPOOL 2d6697dbf52f10ae3136828b018c7bd949e61e8d170001207aaa1d16f3ac60e3ec64d15e6ff73a32a40de1aaefa6dda4d55fa54e54f2735babe3241925310a19 +AUX remotes.sample-1.13 970 SHA256 56b9adc7762cfac88769ee6a87fa5057a42599a3d50a3cfd1c6d8d9327d02080 SHA512 8ff23a3f30e9f3b8bfca05f6e8bda44d8142b547c667d604e5e1f15b49342e0a098591578ef26c599a965d0b17e7237232e6713bb7b95b2af4e3bf6bde2604c6 WHIRLPOOL 39e87ec264d023c4d3852d1173bf9e87b8eb35fe3809c9ebfa3d2c9be81ad9a709fc1c873697be8ad80c01881566542cb8950a5e312ed9e06c65535c8cd4dac4 +DIST nullmailer-1.13.tar.gz 205431 SHA256 3f8861ebb1b46cea0a1caf1e6236e1e0d2a5a91def19551b7cad12eab676277d SHA512 96dcb3ddecde77a73e5ca1afa5167d35f965d04999f02cc2ef60b54ea7eb7a006e5cf5678fc34a54d4be4f9fd71bd0f784a8671aca40c70dbc307666c548e1d7 WHIRLPOOL b041f7cc33a257fad11c5f4c9bf74f8d849d9c45f0dc19be28268462b9d029c07e1d5802698e647a4208d5f66cac2177a1d12e49a03caac51e0244c3f9a0599c +EBUILD nullmailer-1.13-r1.ebuild 4292 SHA256 4b711f8133cd38a84524e89f4c5b345e9aefed4a6e36cd0c95667a1dd80676be SHA512 60f626a76589bbcf784e0d85653091703140b7f4acc41340b192fe75526354fa37306cdbbc61ba1f6bb697d873dec550cc87a92d7682171bc5a3f3bcb6b478d6 WHIRLPOOL b4ecd2b38886d10b78a7437b3124f30c816c95691d0b31b64a771238147c81aaf0448006f1920a132b964450c1a8066475c0003747783798473deb2c08e0deb1 diff --git a/mail-mta/nullmailer/files/init.d-nullmailer-r3 b/mail-mta/nullmailer/files/init.d-nullmailer-r3 new file mode 100644 index 0000000..b4cf629 --- /dev/null +++ b/mail-mta/nullmailer/files/init.d-nullmailer-r3 @@ -0,0 +1,58 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/mail-mta/nullmailer/files/init.d-nullmailer-r2,v 1.2 2013/01/08 12:44:00 eras Exp $ + +DAEMON="/usr/sbin/nullmailer-send" +ARGS="" +USER=nullmail +GROUP=nullmail +PIDFILE="/run/nullmailer.pid" + +depend() { + use net logger +} + +checkconfig() { + local error=0 + local f=/etc/nullmailer/me + if [ ! -s ${f} ]; then + eerror "${f} does not exist" + error=1 + fi + f=/etc/nullmailer/defaultdomain + if [ ! -s ${f} ]; then + eerror "${f} does not exist" + error=1 + fi + if [ ${error} -eq 1 ]; then + einfo "You need to run 'emerge --config nullmailer'!" + fi + if [ -e /service/nullmailer ]; then + eerror "Nullmailer is already running under svscan!" + error=2 + fi + if [ ${error} -ne 0 ]; then + return 1 + else + return 0 + fi +} + +start() { + checkconfig + ebegin "Starting nullmailer" + cd /var/nullmailer + start-stop-daemon --start --quiet --user ${USER}:${GROUP} \ + --background --pidfile ${PIDFILE} --make-pidfile \ + --exec ${DAEMON} -- ${ARGS} + eend $? +} + +stop() { + checkconfig # to avoid init.d stopping svscan instance + ebegin "Stopping nullmailer" + cd /var/nullmailer + start-stop-daemon --stop --user ${USER} --exec ${DAEMON} --pidfile ${PIDFILE} + eend $? +} diff --git a/mail-mta/nullmailer/files/nullmailer.service b/mail-mta/nullmailer/files/nullmailer.service new file mode 100644 index 0000000..a141cd0 --- /dev/null +++ b/mail-mta/nullmailer/files/nullmailer.service @@ -0,0 +1,17 @@ +[Unit] +Description=Nullmailer relay-only MTA +Requires=network.target +After=local-fs.target syslog.target +ConditionPathExists=/var/nullmailer/queue +ConditionPathExists=/etc/nullmailer/defaultdomain +ConditionPathExists=/etc/nullmailer/me + +[Service] +WorkingDirectory=/var/nullmailer +ExecStart=/usr/sbin/nullmailer-send +User=nullmail +Group=nullmail +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/mail-mta/nullmailer/files/remotes.sample-1.13 b/mail-mta/nullmailer/files/remotes.sample-1.13 new file mode 100644 index 0000000..34cc234 --- /dev/null +++ b/mail-mta/nullmailer/files/remotes.sample-1.13 @@ -0,0 +1,29 @@ +# Format is: HOST PROTOCOL [OPTIONS] +# HOST = IP or DNS +# PROTOCOL = smtp | qmtp +# OPTIONS = [--port=NUMBER] [--user] [--pass] [--starttls | --ssl [--insecure] ] +# +# Examples: +# A standard SMTP server: +# somesendmailserver.domain.com smtp +# +# A qmail server with QMQP setup: +# someqmailserver.domain.com qmqp +# +# A nonstandard SMTP server setup: +# someotherserver.domain.com smtp --port=2525 +# +# SMTP server supporting AUTH PLAIN +# mailserver smtp --user=<user> --pass=<pass> +# +# SMTP server supporting AUTH LOGIN +# mailserver smtp --user=<user> --pass=<pass> --auth-login +# +# SMTP server with smtps (legacy - use starttls instead) +# mailserver smtp --user=<user> --pass=<pass> --port=465 --ssl +# +# SMTP server on submission port with starttls +# mailserver smtp --user=<user> --pass=<pass> --port=587 --starttls +# +# SMTP server on submission port with starttls and self-signed certificate +# mailserver smtp --user=<user> --pass=<pass> --port=587 --starttls --insecure diff --git a/mail-mta/nullmailer/nullmailer-1.13-r1.ebuild b/mail-mta/nullmailer/nullmailer-1.13-r1.ebuild new file mode 100644 index 0000000..c04b883 --- /dev/null +++ b/mail-mta/nullmailer/nullmailer-1.13-r1.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-mta/nullmailer/nullmailer-1.13-r1.ebuild,v 1.2 2013/08/09 16:45:11 robbat2 Exp $ + +EAPI=5 + +inherit autotools eutils flag-o-matic multilib systemd user + +MY_P="${P/_rc/RC}" + +DEBIAN_PV=1.11 +DEBIAN_PR="2" +DEBIAN_P="${PN}-${DEBIAN_PV}" +DEBIAN_PF="${DEBIAN_P/-/_}-${DEBIAN_PR}" +DEBIAN_SRC="${DEBIAN_PF}.debian.tar.gz" + +DESCRIPTION="Simple relay-only local mail transport agent" +HOMEPAGE="http://untroubled.org/nullmailer/" +SRC_URI="http://untroubled.org/${PN}/archive/${MY_P}.tar.gz" +# mirror://debian/pool/main/n/${PN}/${DEBIAN_SRC}" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="ssl" + +DEPEND=" + sys-apps/groff + ssl? ( net-libs/gnutls )" +RDEPEND=" + virtual/logger + virtual/shadow + ssl? ( net-libs/gnutls ) + !mail-mta/courier + !mail-mta/esmtp + !mail-mta/exim + !mail-mta/mini-qmail + !mail-mta/msmtp + !mail-mta/netqmail + !mail-mta/postfix + !mail-mta/qmail-ldap + !mail-mta/sendmail + !mail-mta/opensmtpd + !mail-mta/ssmtp" + +S=${WORKDIR}/${MY_P} + +src_prepare() { +# sed -i -e 's/nullmailer-1.10/nullmailer-1.11/g' \ +# "${WORKDIR}"/debian/patches/*.diff || die +# EPATCH_OPTS="-d ${S} -p1" \ +# epatch "${DISTDIR}"/${DEBIAN_SRC} + # why revert? Ask Robin when he is back! +# EPATCH_OPTS="-d ${WORKDIR} -p0 -R" \ +# epatch "${WORKDIR}"/debian/patches/02_ipv6.diff + # this fixes the debian daemon/syslog to actually compile + sed -i.orig \ + -e '/^nullmailer_send_LDADD/s, =, = ../lib/cli++/libcli++.a,' \ + "${S}"/src/Makefile.am || die "Sed failed" + eautoreconf +} + +pkg_setup() { + enewgroup nullmail 88 + enewuser nullmail 88 -1 /var/nullmailer nullmail +} + +src_configure() { + # Note that we pass a different directory below due to bugs in the makefile! + econf \ + --localstatedir=/var \ + $(use_enable ssl tls) +} + +src_install () { + einstall localstatedir="${D}"/var/nullmailer + dodoc AUTHORS BUGS HOWTO INSTALL ChangeLog NEWS README TODO + # A small bit of sample config + insinto /etc/nullmailer + newins "${FILESDIR}"/remotes.sample-${PV} remotes + # This contains passwords, so should be secure + fperms 0640 /etc/nullmailer/remotes + fowners root:nullmail /etc/nullmailer/remotes + # daemontools stuff + dodir /var/nullmailer/service{,/log} + insinto /var/nullmailer/service + newins scripts/nullmailer.run run + fperms 700 /var/nullmailer/service/run + insinto /var/nullmailer/service/log + newins scripts/nullmailer-log.run run + fperms 700 /var/nullmailer/service/log/run + # usability + dodir /usr/$(get_libdir) + dosym /usr/sbin/sendmail usr/$(get_libdir)/sendmail + # permissions stuff + keepdir /var/log/nullmailer /var/nullmailer/{tmp,queue} + fperms 770 /var/log/nullmailer /var/nullmailer/{tmp,queue} + fowners nullmail:nullmail /usr/sbin/nullmailer-queue /usr/bin/mailq + fperms 4711 /usr/sbin/nullmailer-queue /usr/bin/mailq + fowners nullmail:nullmail /var/log/nullmailer /var/nullmailer/{tmp,queue,trigger} + fperms 660 /var/nullmailer/trigger + newinitd "${FILESDIR}"/init.d-nullmailer-r3 nullmailer + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_postinst() { + [ ! -e "${ROOT}"/var/nullmailer/trigger ] && mkfifo "${ROOT}"/var/nullmailer/trigger + chown nullmail:nullmail "${ROOT}"/var/log/nullmailer "${ROOT}"/var/nullmailer/{tmp,queue,trigger} + chmod 770 "${ROOT}"/var/log/nullmailer "${ROOT}"/var/nullmailer/{tmp,queue} + chmod 660 "${ROOT}"/var/nullmailer/trigger + + # This contains passwords, so should be secure + chmod 0640 /etc/nullmailer/remotes + chown root:nullmail /etc/nullmailer/remotes + + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "To create an initial setup, please do:" + elog "emerge --config =${CATEGORY}/${PF}" + fi + #echo + #elog "To start nullmailer at boot you may use either the nullmailer init.d" + #elog "script, or emerge sys-process/supervise-scripts, enable the" + #elog "svscan init.d script and create the following link:" + #elog "ln -fs /var/nullmailer/service /service/nullmailer" + #echo +} + +pkg_config() { + if [ ! -s "${ROOT}"/etc/nullmailer/me ]; then + einfo "Setting /etc/nullmailer/me" + /bin/hostname --fqdn > "${ROOT}"/etc/nullmailer/me + fi + if [ ! -s "${ROOT}"/etc/nullmailer/defaultdomain ]; then + einfo "Setting /etc/nullmailer/defaultdomain" + /bin/hostname --domain > "${ROOT}"/etc/nullmailer/defaultdomain + fi +} |