public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-mta/nullmailer/files/, mail-mta/nullmailer/
Date: Sat, 26 Nov 2016 14:49:31 +0000 (UTC)	[thread overview]
Message-ID: <1480171758.3ba4e746c3e6ec10fbb8df1b385b4e9ca85978df.slyfox@gentoo> (raw)

commit:     3ba4e746c3e6ec10fbb8df1b385b4e9ca85978df
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 26 14:49:09 2016 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Nov 26 14:49:18 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ba4e746

mail-mta/nullmailer: remove '+=' bashism from init.d script

Noticed as a sourcing failure on a system with 'sh' ->/bin/dash:
    dash: 9: /etc/init.d/nullmailer: start_stop_daemon_args+= --stdout /var/log/nullmailer/nullmailer.log: not found
    dash: 10: /etc/init.d/nullmailer: start_stop_daemon_args+= --stderr /var/log/nullmailer/nullmailer.log: not found

Package-Manager: portage-2.3.2

 mail-mta/nullmailer/files/init.d-nullmailer-r6 |  52 ++++++++++
 mail-mta/nullmailer/nullmailer-2.0-r1.ebuild   | 138 +++++++++++++++++++++++++
 2 files changed, 190 insertions(+)

diff --git a/mail-mta/nullmailer/files/init.d-nullmailer-r6 b/mail-mta/nullmailer/files/init.d-nullmailer-r6
new file mode 100644
index 00000000..389329e
--- /dev/null
+++ b/mail-mta/nullmailer/files/init.d-nullmailer-r6
@@ -0,0 +1,52 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Id$
+
+command="/usr/sbin/nullmailer-send"
+
+start_stop_daemon_args="--chdir /var/spool/nullmailer --user nullmail:nullmail"
+start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/nullmailer/nullmailer.log"
+start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/nullmailer/nullmailer.log"
+
+required_dirs="/var/spool/nullmailer /var/log/nullmailer"
+pidfile="/run/nullmailer.pid"
+command_background="true"
+
+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_pre() {
+	checkconfig
+}
+
+stop_pre() {
+	checkconfig # to avoid init.d stopping svscan instance
+}

diff --git a/mail-mta/nullmailer/nullmailer-2.0-r1.ebuild b/mail-mta/nullmailer/nullmailer-2.0-r1.ebuild
new file mode 100644
index 00000000..4faea4c
--- /dev/null
+++ b/mail-mta/nullmailer/nullmailer-2.0-r1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils flag-o-matic multilib systemd user
+
+DESCRIPTION="Simple relay-only local mail transport agent"
+HOMEPAGE="http://untroubled.org/nullmailer/ https://github.com/bruceg/nullmailer"
+SRC_URI="http://untroubled.org/${PN}/archive/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="ssl"
+
+DEPEND="
+	sys-apps/groff
+	ssl? ( net-libs/gnutls:0= )"
+RDEPEND="
+	virtual/logger
+	virtual/shadow
+	ssl? ( net-libs/gnutls:0= )
+	!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"
+
+pkg_setup() {
+	enewgroup nullmail 88
+	enewuser nullmail 88 -1 /var/spool/nullmailer nullmail
+}
+
+src_prepare() {
+	default
+	sed -i.orig \
+		-e '/\$(localstatedir)\/trigger/d' \
+		"${S}"/Makefile.am || die "Sed failed"
+	sed \
+		-e "s:^AC_PROG_RANLIB:AC_CHECK_TOOL(AR, ar, false)\nAC_PROG_RANLIB:g" \
+		-i configure.ac || die
+	sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die
+	sed \
+		-e "s#/usr/lib#\0exec#" -e "s#/usr/local#/usr#" \
+		-e 's:/usr/etc/:/etc/:g' \
+		-i doc/nullmailer-send.8 || die
+	eautoreconf
+}
+
+src_configure() {
+	# https://github.com/bruceg/nullmailer/pull/31/commits
+	append-lfs-flags #471102
+	econf \
+		--localstatedir="${EPREFIX}"/var \
+		$(use_enable ssl tls)
+}
+
+src_install() {
+	default
+
+	# 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/spool/nullmailer/service{,/log}
+
+	insinto /var/spool/nullmailer/service
+	newins scripts/nullmailer.run run
+	fperms 700 /var/spool/nullmailer/service/run
+
+	insinto /var/spool/nullmailer/service/log
+	newins scripts/nullmailer-log.run run
+	fperms 700 /var/spool/nullmailer/service/log/run
+
+	# usability
+	dosym /usr/sbin/sendmail usr/$(get_libdir)/sendmail
+
+	# permissions stuff
+	keepdir /var/log/nullmailer /var/spool/nullmailer/{tmp,queue}
+	fperms 770 /var/log/nullmailer
+	fowners nullmail:nullmail /usr/sbin/nullmailer-queue /usr/bin/mailq
+	fperms 4711 /usr/sbin/nullmailer-queue /usr/bin/mailq
+
+	newinitd "${FILESDIR}"/init.d-nullmailer-r6 nullmailer
+	systemd_dounit scripts/${PN}.service
+}
+
+pkg_postinst() {
+	if [ ! -e "${EROOT}var/spool/nullmailer/trigger" ]; then
+		mkfifo "${EROOT}var/spool/nullmailer/trigger" || die
+	fi
+	chown nullmail:nullmail \
+		"${EROOT}"var/log/nullmailer \
+		"${EROOT}"var/spool/nullmailer/{tmp,queue,trigger} || die
+	chmod 770 \
+		"${EROOT}"var/log/nullmailer \
+		"${EROOT}"var/spool/nullmailer/{tmp,queue} || die
+	chmod 660 "${EROOT}"var/spool/nullmailer/trigger || die
+
+	# This contains passwords, so should be secure
+	chmod 0640 "${EROOT}"etc/nullmailer/remotes || die
+	chown root:nullmail "${EROOT}"etc/nullmailer/remotes || die
+
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
+		elog "To create an initial setup, please do:"
+		elog "emerge --config =${CATEGORY}/${PF}"
+	fi
+}
+
+pkg_postrm() {
+	if [[ -e "${EROOT}var/spool/nullmailer/trigger" ]]; then
+		rm "${EROOT}var/spool/nullmailer/trigger" || die
+	fi
+}
+
+pkg_config() {
+	if [ ! -s "${EROOT}etc/nullmailer/me" ]; then
+		einfo "Setting /etc/nullmailer/me"
+		hostname --fqdn > "${EROOT}etc/nullmailer/me"
+	fi
+	if [ ! -s "${EROOT}etc/nullmailer/defaultdomain" ]; then
+		einfo "Setting /etc/nullmailer/defaultdomain"
+		hostname --domain > "${EROOT}etc/nullmailer/defaultdomain"
+	fi
+}


             reply	other threads:[~2016-11-26 14:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-26 14:49 Sergei Trofimovich [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-10-01 12:40 [gentoo-commits] repo/gentoo:master commit in: mail-mta/nullmailer/files/, mail-mta/nullmailer/ Michael Haubenwallner
2021-06-15  6:02 Joonas Niilola

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1480171758.3ba4e746c3e6ec10fbb8df1b385b4e9ca85978df.slyfox@gentoo \
    --to=slyfox@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox