summaryrefslogtreecommitdiff
path: root/community/opensmtpd
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
committerroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
commit8fbc0076a4827ddc6af92e0b9daa4c4c31450808 (patch)
tree03fd0e2921ebd53228d9a93e32ed3976b636cbea /community/opensmtpd
parente445a313723389ba9ee1fded025c567dae5b21ea (diff)
Fri Jul 19 01:09:18 PDT 2013
Diffstat (limited to 'community/opensmtpd')
-rw-r--r--community/opensmtpd/PKGBUILD72
-rw-r--r--community/opensmtpd/opensmtpd.install29
-rw-r--r--community/opensmtpd/smtpd.service10
-rw-r--r--community/opensmtpd/smtpd.socket8
4 files changed, 119 insertions, 0 deletions
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