diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /mail-mta/nullmailer | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'mail-mta/nullmailer')
-rw-r--r-- | mail-mta/nullmailer/Manifest | 2 | ||||
-rw-r--r-- | mail-mta/nullmailer/files/init.d-nullmailer-r4 | 51 | ||||
-rw-r--r-- | mail-mta/nullmailer/files/nullmailer-1.13-unistd.h.patch | 28 | ||||
-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/metadata.xml | 13 | ||||
-rw-r--r-- | mail-mta/nullmailer/nullmailer-1.13-r5.ebuild | 168 |
7 files changed, 308 insertions, 0 deletions
diff --git a/mail-mta/nullmailer/Manifest b/mail-mta/nullmailer/Manifest new file mode 100644 index 000000000000..dab1022b8864 --- /dev/null +++ b/mail-mta/nullmailer/Manifest @@ -0,0 +1,2 @@ +DIST nullmailer-1.13.tar.gz 205431 SHA256 3f8861ebb1b46cea0a1caf1e6236e1e0d2a5a91def19551b7cad12eab676277d SHA512 96dcb3ddecde77a73e5ca1afa5167d35f965d04999f02cc2ef60b54ea7eb7a006e5cf5678fc34a54d4be4f9fd71bd0f784a8671aca40c70dbc307666c548e1d7 WHIRLPOOL b041f7cc33a257fad11c5f4c9bf74f8d849d9c45f0dc19be28268462b9d029c07e1d5802698e647a4208d5f66cac2177a1d12e49a03caac51e0244c3f9a0599c +DIST nullmailer-patches-1.13.tar.xz 8384 SHA256 8685dfbf23e9dc15269b1a0d14f700c4ef990cf49d4e6e830c0217289e8f4733 SHA512 393531e39a92b0978bccbcdf123e05b2cdad1ec8e600825cc24177ba414c1f615995c0344291ebb664f42b384a160c0359fec5ba3308cc14cbc9ceb8577d799c WHIRLPOOL 84f523be7963ceb7fbafd3f5632571e7bc12085b1b4bce5bb5c63871fd6c7ed1367a49ddf5ed66acad7055e28856b23fb1dcb59e60158fed26447128edd0a4fa diff --git a/mail-mta/nullmailer/files/init.d-nullmailer-r4 b/mail-mta/nullmailer/files/init.d-nullmailer-r4 new file mode 100644 index 000000000000..a46948b5fccc --- /dev/null +++ b/mail-mta/nullmailer/files/init.d-nullmailer-r4 @@ -0,0 +1,51 @@ +#!/sbin/runscript +# Copyright 1999-2014 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/nullmailer --user nullmail:nullmail" + +required_dirs="/var/nullmailer" +pidfile="/run/nullmailer.pid" +command_background="true" +command_args="-s" + +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/files/nullmailer-1.13-unistd.h.patch b/mail-mta/nullmailer/files/nullmailer-1.13-unistd.h.patch new file mode 100644 index 000000000000..8199b9627f47 --- /dev/null +++ b/mail-mta/nullmailer/files/nullmailer-1.13-unistd.h.patch @@ -0,0 +1,28 @@ +From 5e9316c669e752fcd9058b28952919bccd967640 Mon Sep 17 00:00:00 2001 +From: "Anthony G. Basile" <blueness@gentoo.org> +Date: Sat, 31 Jan 2015 23:55:48 +0000 +Subject: [PATCH] lib/fdbuf/fdbuf.h: include <unistd.h> + +class fdobuf in lib/fdbuf/fdobuf.h makes use of uid_t and gid_t, +but these are defined in <unistd.h> according to POSIX. With libc's +that adhere strictly to standards, like musl, this breaks the build. + +We add <unistd.h> to fdbuf.h which is included by fdbuf.h. + +Signed-off-by: Anthony G. Basile <blueness@gentoo.org> +--- + lib/fdbuf/fdbuf.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/fdbuf/fdbuf.h b/lib/fdbuf/fdbuf.h +index 4b0e9cb..0054b01 100644 +--- a/lib/fdbuf/fdbuf.h ++++ b/lib/fdbuf/fdbuf.h +@@ -20,6 +20,7 @@ + #include "config.h" + #include <string.h> + #include <fcntl.h> ++#include <unistd.h> + + #ifdef _REENTRANT + #include <pthread.h> diff --git a/mail-mta/nullmailer/files/nullmailer.service b/mail-mta/nullmailer/files/nullmailer.service new file mode 100644 index 000000000000..8aae6c996d13 --- /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 -s +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 000000000000..34cc234a27e6 --- /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/metadata.xml b/mail-mta/nullmailer/metadata.xml new file mode 100644 index 000000000000..c20ce93ed716 --- /dev/null +++ b/mail-mta/nullmailer/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>net-mail</herd> + <maintainer> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> + <maintainer> + <email>jlec@gentoo.org</email> + <name>Justin Lecher</name> + </maintainer> +</pkgmetadata> diff --git a/mail-mta/nullmailer/nullmailer-1.13-r5.ebuild b/mail-mta/nullmailer/nullmailer-1.13-r5.ebuild new file mode 100644 index 000000000000..e2801de66824 --- /dev/null +++ b/mail-mta/nullmailer/nullmailer-1.13-r5.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 + http://dev.gentoo.org/~jlec/distfiles/${PN}-patches-${PV}.tar.xz" +# 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} + +pkg_setup() { + enewgroup nullmail 88 + enewuser nullmail 88 -1 /var/nullmailer nullmail +} + +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 + + # old debian patches from 1.11 + # DO NOT APPLY patch 0009... It breaks + epatch "${WORKDIR}"/patches/000{1..8}*patch + + epatch "${FILESDIR}"/${P}-unistd.h.patch + + sed -i.orig \ + -e '/^nullmailer_send_LDADD/s, =, = ../lib/cli++/libcli++.a,' \ + "${S}"/src/Makefile.am || die "Sed failed" + 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.in || die + sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.in || die + eautoreconf +} + +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 () { + emake DESTDIR="${D}" localstatedir=/var/nullmailer install + + 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 + 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 + + newinitd "${FILESDIR}"/init.d-nullmailer-r4 nullmailer + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_postinst() { + if [ ! -e "${ROOT}"/var/nullmailer/trigger ]; then + mkfifo "${ROOT}"/var/nullmailer/trigger + fi + chown nullmail:nullmail \ + "${ROOT}"/var/log/nullmailer "${ROOT}"/var/nullmailer/{tmp,queue,trigger} || die + chmod 770 "${ROOT}"/var/log/nullmailer "${ROOT}"/var/nullmailer/{tmp,queue} || die + chmod 660 "${ROOT}"/var/nullmailer/trigger || die + + # This contains passwords, so should be secure + chmod 0640 "${ROOT}"/etc/nullmailer/remotes || die + chown root:nullmail "${ROOT}"/etc/nullmailer/remotes || die + + 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_postrm() { + if [[ -e "${ROOT}"/var/nullmailer/trigger ]]; then + rm "${ROOT}"/var/nullmailer/trigger || die + fi +} + +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 +} |