From 8fbc0076a4827ddc6af92e0b9daa4c4c31450808 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 19 Jul 2013 01:10:32 -0700 Subject: Fri Jul 19 01:09:18 PDT 2013 --- community/opensmtpd/PKGBUILD | 72 +++++++++++++++++++++++++++++++++++ community/opensmtpd/opensmtpd.install | 29 ++++++++++++++ community/opensmtpd/smtpd.service | 10 +++++ community/opensmtpd/smtpd.socket | 8 ++++ 4 files changed, 119 insertions(+) create mode 100644 community/opensmtpd/PKGBUILD create mode 100644 community/opensmtpd/opensmtpd.install create mode 100644 community/opensmtpd/smtpd.service create mode 100644 community/opensmtpd/smtpd.socket (limited to 'community/opensmtpd') diff --git a/community/opensmtpd/PKGBUILD b/community/opensmtpd/PKGBUILD new file mode 100644 index 000000000..e56eebe63 --- /dev/null +++ b/community/opensmtpd/PKGBUILD @@ -0,0 +1,72 @@ +# $Id: PKGBUILD 93322 2013-07-01 22:20:09Z seblu $ +# Maintainer: Sébastien Luttringer + +pkgname=opensmtpd +pkgver=5.3.3p1 +pkgrel=1 +pkgdesc='Free implementation of the server-side SMTP protocol' +arch=('i686' 'x86_64') +url='http://www.opensmtpd.org/' +license=('custom') +depends=('libevent') +provides=('smtp-server' 'smtp-forwarder') +conflicts=('smtp-server' 'smtp-forwarder') +backup=('etc/smtpd/smtpd.conf' 'etc/smtpd/aliases') +install=opensmtpd.install +source=("http://www.opensmtpd.org/archives/$pkgname-$pkgver.tar.gz" + 'smtpd.service' + 'smtpd.socket') +md5sums=('795982f9b0b45c7645f897ba2ead0024' + 'a278f272d97a9fe5a8aac784a7c98d67' + 'c2c01e9ca78df3f65efe40a7c0e17ee0') + +prepare() { + cd $pkgname-$pkgver + sed -i 's,etc/aliases,etc/smtpd/aliases,' smtpd/smtpd.conf + # regen configure. don't use bootstrap script (doesn't support automake 1.14) + libtoolize --copy --force + aclocal -I m4 + autoconf + autoheader + automake --foreign --add-missing --copy +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc/smtpd \ + --sbindir=/usr/bin \ + --libexecdir=/usr/bin \ + --with-maildir=/var/spool/mail \ + --with-privsep-path=/var/empty \ + --with-sock-dir=/run \ + --with-privsep-user=smtpd \ + --with-lookup-user=smtpd \ + --with-queue-user=smtpq \ + --with-filter-user=smtpf \ + --with-pam + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install + # license + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + # working directory + cd "$pkgdir" + install -dm711 var/spool/smtpd + install -Dm644 "$srcdir/smtpd.service" usr/lib/systemd/system/smtpd.service + install -Dm644 "$srcdir/smtpd.socket" usr/lib/systemd/system/smtpd.socket + # remove duplicate hardlink into a subfolder + rm -vr usr/bin/opensmtpd + # empty aliases file (used by default config) + install -Dm644 /dev/null "$pkgdir/etc/smtpd/aliases" + # fake sendmail binary (used to be smtp-forwarder) + # use hardlink as upstream does + cd "$pkgdir/usr/bin" + ln smtpctl "$pkgdir/usr/bin/sendmail" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/opensmtpd/opensmtpd.install b/community/opensmtpd/opensmtpd.install new file mode 100644 index 000000000..48366c15c --- /dev/null +++ b/community/opensmtpd/opensmtpd.install @@ -0,0 +1,29 @@ +# arg 1: the new package version +post_install() { + # create users + getent passwd smtpd >/dev/null || useradd -d / -u 91 -g 1 smtpd + getent passwd smtpq >/dev/null || useradd -d /var/spool/smtpd -u 92 -g 1 smtpq + getent passwd smtpf >/dev/null || useradd -d / -u 93 -g 1 smtpf + # initialise aliase db + #[[ -e /etc/smtpd/aliases.db ]] || makemap -t aliases /etc/smtpd/aliases + true +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install "$1" + if (( $(vercmp $2 5.3.3p1-1) < 0 )); then + echo 'Configuration files have been moved to /etc/smtpd.' + echo 'New users have been added.' + echo 'Check your configuration!' + fi +} + +# arg 1: the old package version +post_remove() { + for _u in smtpd smtpq smtpf; do userdel -f "$_u"; done + true +} + +# vim:set ts=2 sw=2 et: diff --git a/community/opensmtpd/smtpd.service b/community/opensmtpd/smtpd.service new file mode 100644 index 000000000..0ad21825c --- /dev/null +++ b/community/opensmtpd/smtpd.service @@ -0,0 +1,10 @@ +[Unit] +Description=OpenSMTPD +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/smtpd + +[Install] +WantedBy=multi-user.target diff --git a/community/opensmtpd/smtpd.socket b/community/opensmtpd/smtpd.socket new file mode 100644 index 000000000..5d1d105cb --- /dev/null +++ b/community/opensmtpd/smtpd.socket @@ -0,0 +1,8 @@ +[Unit] +Description=OpenSMTPD Socket + +[Socket] +ListenStream=/run/smtpd.sock + +[Install] +WantedBy=sockets.target -- cgit v1.2.3-54-g00ecf