summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------courier-authlib0
-rw-r--r--courier-authlib/PKGBUILD89
-rw-r--r--courier-authlib/authdaemond.service15
-rw-r--r--courier-authlib/courier-authlib.install23
-rw-r--r--courier-authlib/courier-authlib.tmpfiles2
-rw-r--r--courier-authlib/courier.conf3
m---------courier-mta0
-rw-r--r--courier-mta/PKGBUILD132
-rw-r--r--courier-mta/courier-courierfilter.service11
-rw-r--r--courier-mta/courier-esmtpd-msa.service13
-rw-r--r--courier-mta/courier-esmtpd-ssl.service13
-rw-r--r--courier-mta/courier-esmtpd.service13
-rw-r--r--courier-mta/courier-imapd-ssl.service13
-rw-r--r--courier-mta/courier-imapd.service13
-rw-r--r--courier-mta/courier-mkdhparams.service6
-rw-r--r--courier-mta/courier-mkdhparams.timer11
-rw-r--r--courier-mta/courier-mta.conf2
-rw-r--r--courier-mta/courier-mta.install35
-rw-r--r--courier-mta/courier-pop3d-ssl.service13
-rw-r--r--courier-mta/courier-pop3d.service13
-rw-r--r--courier-mta/courier.service12
-rw-r--r--courier-mta/webmaild.service13
m---------courier-unicode0
-rw-r--r--courier-unicode/PKGBUILD28
24 files changed, 473 insertions, 0 deletions
diff --git a/courier-authlib b/courier-authlib
deleted file mode 160000
-Subproject 10cba903f9e9d7ef4202b7316298a505bce0f04
diff --git a/courier-authlib/PKGBUILD b/courier-authlib/PKGBUILD
new file mode 100644
index 000000000..f970c76e6
--- /dev/null
+++ b/courier-authlib/PKGBUILD
@@ -0,0 +1,89 @@
+# Maintainer: Erich Eckner <arch at eckner dot net>
+# Contributor: Runnytu < runnytu at gmail dot com >
+# Old Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Old Maintainer: Jonas Heinrich <onny@project-insanity.org>
+# Contributor: tobias <tobias@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+# Contributor: Neil Romig <neilromig@gmail.com>
+
+pkgname=courier-authlib
+pkgver=0.69.0
+pkgrel=1
+pkgdesc="Authentication library for the Courier mailserver(s)"
+arch=(i686 x86_64)
+license=('GPL2')
+url="https://courier-mta.org/authlib/"
+backup=('etc/authlib/authdaemonrc' 'etc/authlib/authldaprc' \
+ 'etc/authlib/authmysqlrc' 'etc/authlib/authpgsqlrc')
+depends=('openssl' 'gdbm' 'perl' 'libtool' 'expect' 'courier-unicode>=2.1')
+makedepends=('expect' 'pam' 'libldap' 'libmariadbclient' 'postgresql-libs>=8.3.0')
+optdepends=('sqlite: With support for the authsqlite authentication module'
+ 'libmariadbclient: With support for the authmysql authentication module'
+ 'libldap: With support for the authldap authentication module'
+ 'postgresql-libs: With support for the authpgsql authentication module'
+ 'pam: With support for the authpam authentication module')
+options=(!libtool !staticlibs emptydirs)
+install=${pkgname}.install
+source=(https://downloads.sourceforge.net/project/courier/authlib/${pkgver}/${pkgname}-${pkgver}.tar.bz2
+ courier-authlib.tmpfiles
+ authdaemond.service
+ courier.conf)
+sha512sums=('c3806aa50d7ff13f75536064ec46028db3d5e1f4ef64692b5ece64810b4042ae0840bb346c73ae9d36f6113173f0e5e922356a178c10815640a26caa921e1614'
+'5047fea9990cd2cd415e11c81fbd8ff83b70dadf0fc178b2398b2c9930843a4669abb3c6801f2953c1ebfdae73c1f82d0ee8c24e900f3876ee6b3aa689363b62'
+'ee258f996dc929371f76681a27b174588b3bb30afb1aa474a58be9e596d35aa43f9c0fa50a1a57a30ccf9bdb3caa975ce928991fca44351959cc806591a05ef0'
+'997f755516a64f38abb626790e22e0ad6c3d9fbd7d3e76199cc335ce60f9d5e94dfa083deb637cc36fe039b5b1aa713224e2175b65b1980bf3b304499e3e96e6')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --with-db=gdbm \
+ --with-mailuser=courier \
+ --with-mailgroup=courier \
+ --with-authpam \
+ --with-authpwd \
+ --with-authshadow \
+ --with-authldap \
+ --with-authmysql \
+ --with-authpgsql \
+ --with-authuserdb \
+ --with-authcram \
+ --with-authdaemon \
+ --with-authdaemonvar=/run/authdaemon
+ #--with-authsqlite --with-sqlite-libs
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ for _distfile in "${pkgdir}/etc/authlib/"*.dist; do
+ # change ownership - this is usually done by the Makefile where it is assumed the user & group already exist
+ chown 72:72 "${_distfile}"
+ # remove the .dist suffix - mimics the install-configure step of a standard Courier installation
+ mv "${_distfile}" "${pkgdir}/etc/authlib/"`basename "${_distfile}" .dist`
+ done
+
+ # copy the .schema; mostly refered to as courier.schema -> rename it
+ install -Dm 444 authldap.schema "${pkgdir}/etc/openldap/schema/courier.schema"
+
+ chown 72:72 "${pkgdir}/usr/lib/courier-authlib"
+
+ # Install systemd sysuser file
+ install -Dm 644 "$srcdir/courier.conf" "${pkgdir}/usr/lib/sysusers.d/courier.conf"
+
+ # Install service file
+ install -Dm 644 "${srcdir}/authdaemond.service" "${pkgdir}/usr/lib/systemd/system/authdaemond.service"
+
+ # Install systemd configuration file
+ install -Dm 644 "$srcdir/courier-authlib.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/courier-authlib.conf"
+
+ mkdir -p "$pkgdir/var/spool/courier"
+}
+
diff --git a/courier-authlib/authdaemond.service b/courier-authlib/authdaemond.service
new file mode 100644
index 000000000..ac7074e81
--- /dev/null
+++ b/courier-authlib/authdaemond.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Courier Authentification Daemon
+
+[Service]
+Type=forking
+User=courier
+Group=courier
+ExecStart=/usr/bin/authdaemond start
+ExecStop=/usr/bin/authdaemond stop
+PIDFile=/var/run/authdaemon/pid
+AmbientCapabilities=CAP_DAC_OVERRIDE
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/courier-authlib/courier-authlib.install b/courier-authlib/courier-authlib.install
new file mode 100644
index 000000000..ad5c6471f
--- /dev/null
+++ b/courier-authlib/courier-authlib.install
@@ -0,0 +1,23 @@
+# arg 1: the new package version
+post_install() {
+ if ! (grep -q '^courier:.*:72:72:' /etc/passwd); then echo courier user has incorrect uid:gid - please fix!; fi;
+ # set correct ownership & permissions on /run/authdaemon
+ systemd-tmpfiles --create /usr/lib/tmpfiles.d/courier-authlib.conf
+ # make sure the system can see authlib libraries
+ echo /usr/lib/courier-authlib > /etc/ld.so.conf.d/courier-authlib.conf
+ ldconfig
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ systemd-tmpfiles --remove /usr/lib/tmpfiles.d/courier-authlib.conf
+ rm -f /etc/ld.so.conf.d/courier-authlib.conf
+ ldconfig
+} >/dev/null 2>&1
+
diff --git a/courier-authlib/courier-authlib.tmpfiles b/courier-authlib/courier-authlib.tmpfiles
new file mode 100644
index 000000000..f723fa614
--- /dev/null
+++ b/courier-authlib/courier-authlib.tmpfiles
@@ -0,0 +1,2 @@
+D /run/authdaemon 0755 courier courier
+
diff --git a/courier-authlib/courier.conf b/courier-authlib/courier.conf
new file mode 100644
index 000000000..2efcad095
--- /dev/null
+++ b/courier-authlib/courier.conf
@@ -0,0 +1,3 @@
+u courier 72 "Courier user" /var/spool/courier
+g courier 72
+
diff --git a/courier-mta b/courier-mta
deleted file mode 160000
-Subproject dfac836d5adbd9c84ef031f0a881742492870e2
diff --git a/courier-mta/PKGBUILD b/courier-mta/PKGBUILD
new file mode 100644
index 000000000..39ceecac7
--- /dev/null
+++ b/courier-mta/PKGBUILD
@@ -0,0 +1,132 @@
+# Maintainer: Erich Eckner <arch at eckner dot net>
+# Contributor: Neil Romig <neilromig@gmail.com>
+# Contributor: Bernd PrĂ¼nster <aur@berndpruenster.org>
+# Contributor: tobias <tobias@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+# ----------- NOTE TO ALL USERS ------------
+
+# Go read http://www.courier-mta.org/install.html b4 running or building courier
+
+# If upgrading, you must read the guidance at http://www.courier-mta.org/maildirmake.html on "Converting pre-unicode format maildirs"
+
+pkgname=courier-mta
+pkgver=1.0.3
+pkgrel=1
+pkgdesc="IMAP(s)/POP3(s) and SMTP Server with ML-manager, webmail and webconfig"
+arch=(i686 x86_64)
+license=('GPL2')
+url="https://courier-mta.org"
+depends=('courier-authlib>=0.68' 'courier-unicode>=2.1' 'gamin' 'gcc-libs' 'gdbm' 'pcre' 'mime-types' 'ca-certificates')
+optdepends=('libldap')
+makedepends=('pam' 'expect' 'gnupg' 'libldap' 'gamin')
+provides=('smtp-server' 'smtp-forwarder' 'imap-server' 'pop3-server' 'courier-imap' 'courier-maildrop')
+conflicts=('courier-imap' 'smtp-forwarder' 'smtp-server' 'imap-server' 'courier-maildrop' 'ucspi-tcp')
+options=(!libtool !staticlibs)
+# Specify some package files to backup that aren't managed by sysconftool during an upgrade
+backup=('etc/courier/aliases/system' 'etc/courier/smtpaccess/default' 'etc/courier/webadmin/password' 'etc/courier/imapd.cnf' 'etc/courier/esmtpd.cnf' 'etc/courier/pop3d.cnf' 'etc/courier/esmtpauthclient')
+install=courier-mta.install
+source=(https://downloads.sourceforge.net/project/courier/courier/${pkgver}/courier-${pkgver}.tar.bz2
+ courier-imapd.service
+ courier-imapd-ssl.service
+ courier-pop3d.service
+ courier-pop3d-ssl.service
+ courier-esmtpd.service
+ courier-esmtpd-ssl.service
+ courier-esmtpd-msa.service
+ courier.service
+ courier-mkdhparams.service
+ courier-mkdhparams.timer
+ webmaild.service
+ courier-courierfilter.service
+ courier-mta.conf)
+sha1sums=('0c475c9241b27d1725d5d2053d05e22188b5db76'
+ '9feaa269795a85c1464c104d9268fb266ad1a666'
+ '0344ac948b189cae73d86f4565e40847c44772c9'
+ '920bd35afc0bf6e6ba5cf7b309210be4d2c76e18'
+ '47c289e743d1d513b7181e04bc8cb222ba7d7119'
+ '0c57caa214c3e4da976162e08fd4f575f2976d94'
+ '6cb5d9a472ff374089b0046362db899ffa4379a2'
+ '86a07e4deddca5c1b3d17d2bd59074781a93711a'
+ '20e07d4995d6028ef0a99333b31cc53d202ee6e9'
+ 'feb094c689a0c37c68f3b0c7e2b88eb5d572209f'
+ '7c6e687d1cefe3139274b39c659351a503a3adb3'
+ 'ecd2a51d62c038cff16558e6377c09f94f201146'
+ '24d07f37ba5150b08f68dc73c0a5e53ae50ee9d5'
+ 'ba376789c8c5db6a709d2c4657b5bcf090417221')
+
+build() {
+ cd "${srcdir}/courier-${pkgver}"
+
+ LDFLAGS+=",-L /usr/lib/courier-authlib -lcourierauth"
+
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc/courier \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var/spool/courier \
+ --enable-unicode \
+ --enable-workarounds-for-imap-client-bugs \
+ --enable-mimetypes=/etc/mime.types \
+ --with-piddir=/run/courier \
+ --with-trashquota \
+ --with-db=gdbm \
+ --with-random=/dev/urandom \
+ --without-ispell \
+ --with-mailuser=courier \
+ --with-mailgroup=courier \
+ --with-certdb=/etc/ssl/certs/ \
+ --with-notice=unicode
+ make
+}
+
+package() {
+ cd "${srcdir}/courier-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # install the perftest-script for testings
+ install -Dm 755 courier/perftest1 "${pkgdir}/usr/lib/courier/perftest1"
+
+ # install sysconftool to perform the install-configure step after installation
+ install -Dm 755 sysconftool "${pkgdir}/usr/lib/courier/sysconftool"
+
+ # install pam files according to the layout used in Arch linux
+ for _pamfile in "${pkgdir}"/etc/courier/*.authpam; do
+ sed -i 's|/lib/security/pam_pwdb\.so|pam_unix.so|' "${_pamfile}"
+ install -Dm 644 "${_pamfile}" "${pkgdir}"/etc/pam.d/$(basename "${_pamfile}" .authpam | sed "s/d$//")
+ rm -f "${_pamfile}"
+ done
+
+ # Install systemd service files
+
+ install -Dm 644 "${srcdir}/courier-imapd.service" "${pkgdir}/usr/lib/systemd/system/courier-imapd.service"
+ install -Dm 644 "${srcdir}/courier-imapd-ssl.service" "${pkgdir}/usr/lib/systemd/system/courier-imapd-ssl.service"
+ install -Dm 644 "${srcdir}/courier-pop3d.service" "${pkgdir}/usr/lib/systemd/system/courier-pop3d.service"
+ install -Dm 644 "${srcdir}/courier-pop3d-ssl.service" "${pkgdir}/usr/lib/systemd/system/courier-pop3d-ssl.service"
+ install -Dm 644 "${srcdir}/courier-esmtpd.service" "${pkgdir}/usr/lib/systemd/system/courier-esmtpd.service"
+ install -Dm 644 "${srcdir}/courier-esmtpd-ssl.service" "${pkgdir}/usr/lib/systemd/system/courier-esmtpd-ssl.service"
+ install -Dm 644 "${srcdir}/courier-esmtpd-msa.service" "${pkgdir}/usr/lib/systemd/system/courier-esmtpd-msa.service"
+ install -Dm 644 "${srcdir}/courier.service" "${pkgdir}/usr/lib/systemd/system/courier.service"
+ install -Dm 644 "${srcdir}/courier-courierfilter.service" "${pkgdir}/usr/lib/systemd/system/courier-courierfilter.service"
+ install -Dm 644 "${srcdir}/webmaild.service" "${pkgdir}/usr/lib/systemd/system/webmaild.service"
+ install -Dm 644 "${srcdir}/courier-mkdhparams.service" "${pkgdir}/usr/lib/systemd/system/courier-mkdhparams.service"
+ install -Dm 644 "${srcdir}/courier-mkdhparams.timer" "${pkgdir}/usr/lib/systemd/system/courier-mkdhparams.timer"
+
+ # Install systemd configuration file which will set up empty /run/courier directory (and clean up after uninstall)
+
+ install -Dm 644 "$srcdir/courier-mta.conf" "$pkgdir/usr/lib/tmpfiles.d/courier-mta.conf"
+
+ # create password file for webadmin -> standard archwebadmin
+
+ echo archwebadmin > "${pkgdir}/etc/courier/webadmin/password"
+ chown courier:courier "${pkgdir}/etc/courier/webadmin/password"
+ chmod 400 "${pkgdir}/etc/courier/webadmin/password"
+
+ # install the imapd binary as /usr/lib/courier/courierimapd and modify usr/share scripts.
+ # courier-mta by default installs usr/bin/imapd as the binary, usr/share/imapd as script file and usr/sbin/imapd as link to /usr/share/imapd
+ # hence the binary gets overwritten by the link because Arch bin and sbin are same location
+ install -m 755 "${srcdir}/courier-${pkgver}/courier/imapd" "${pkgdir}/usr/lib/courier/courierimapd"
+ sed -i 's/\/usr\/bin\/imapd/\/usr\/lib\/courier\/courierimapd/' "${pkgdir}/usr/share/imapd" "${pkgdir}/usr/share/imapd-ssl"
+}
diff --git a/courier-mta/courier-courierfilter.service b/courier-mta/courier-courierfilter.service
new file mode 100644
index 000000000..44dda8483
--- /dev/null
+++ b/courier-mta/courier-courierfilter.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Courier filter Daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/courierfilter start
+ExecStop=/usr/sbin/courierfilter stop
+PIDFile=/run/courier/courierfilter.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/courier-esmtpd-msa.service b/courier-mta/courier-esmtpd-msa.service
new file mode 100644
index 000000000..46206c3b8
--- /dev/null
+++ b/courier-mta/courier-esmtpd-msa.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Courier ESMTP-MSA Daemon
+Requires=authdaemond.service
+After=authdaemond.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/esmtpd-msa start
+ExecStop=/usr/sbin/esmtpd-msa stop
+PIDFile=/run/courier/esmtpd-msa.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/courier-esmtpd-ssl.service b/courier-mta/courier-esmtpd-ssl.service
new file mode 100644
index 000000000..6f43f2377
--- /dev/null
+++ b/courier-mta/courier-esmtpd-ssl.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Courier ESMTP Daemon
+Requires=authdaemond.service
+After=authdaemond.service courier-courierfilter.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/esmtpd-ssl start
+ExecStop=/usr/sbin/esmtpd-ssl stop
+PIDFile=/run/courier/esmtpd-ssl.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/courier-esmtpd.service b/courier-mta/courier-esmtpd.service
new file mode 100644
index 000000000..812a8cc30
--- /dev/null
+++ b/courier-mta/courier-esmtpd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Courier ESMTP Daemon
+Requires=authdaemond.service
+After=authdaemond.service courier-courierfilter.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/esmtpd start
+ExecStop=/usr/sbin/esmtpd stop
+PIDFile=/run/courier/esmtpd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/courier-imapd-ssl.service b/courier-mta/courier-imapd-ssl.service
new file mode 100644
index 000000000..f6f219c40
--- /dev/null
+++ b/courier-mta/courier-imapd-ssl.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Courier IMAP Daemon (SSL)
+Requires=authdaemond.service
+After=authdaemond.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/imapd-ssl start
+ExecStop=/usr/sbin/imapd-ssl stop
+PIDFile=/run/courier/imapd-ssl.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/courier-imapd.service b/courier-mta/courier-imapd.service
new file mode 100644
index 000000000..d132b987d
--- /dev/null
+++ b/courier-mta/courier-imapd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Courier IMAP Daemon
+Requires=authdaemond.service
+After=authdaemond.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/imapd start
+ExecStop=/usr/sbin/imapd stop
+PIDFile=/run/courier/imapd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/courier-mkdhparams.service b/courier-mta/courier-mkdhparams.service
new file mode 100644
index 000000000..1f5e72d2c
--- /dev/null
+++ b/courier-mta/courier-mkdhparams.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=Generate Diffie Hellman parameters for Courier MTA
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/mkdhparams
diff --git a/courier-mta/courier-mkdhparams.timer b/courier-mta/courier-mkdhparams.timer
new file mode 100644
index 000000000..c44ccb7cd
--- /dev/null
+++ b/courier-mta/courier-mkdhparams.timer
@@ -0,0 +1,11 @@
+[Unit]
+Description=Generate Diffie Hellman parameters for Courier MTA
+
+[Timer]
+OnCalendar=monthly
+RandomizedDelaySec=3h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
+
diff --git a/courier-mta/courier-mta.conf b/courier-mta/courier-mta.conf
new file mode 100644
index 000000000..d8f859a17
--- /dev/null
+++ b/courier-mta/courier-mta.conf
@@ -0,0 +1,2 @@
+D /run/courier 0755 courier courier
+R /run/courier
diff --git a/courier-mta/courier-mta.install b/courier-mta/courier-mta.install
new file mode 100644
index 000000000..3254de08b
--- /dev/null
+++ b/courier-mta/courier-mta.install
@@ -0,0 +1,35 @@
+post_install() {
+ #set up the /var/run directory
+ systemd-tmpfiles --create /usr/lib/tmpfiles.d/courier-mta.conf
+
+ # perform all the tasks required of a standard Courier install
+ echo Performing install-configure...
+ /usr/lib/courier/sysconftool /etc/courier/*.dist > /etc/courier/install-configure-$1.log
+ echo "...output saved to /etc/courier/install-configure-$1.log"
+ echo "Don't forget to configure an account to receive postmaster mail"
+ makealiases
+ makesmtpaccess
+ /usr/bin/mkdhparams
+}
+
+pre_upgrade() {
+ # the file courier-imapd.conf is renamed to courier-mta.conf from version 0.77.0-2
+ [ -f /usr/lib/tmpfiles.d/courier-imapd.conf ] && rm -f /usr/lib/tmpfiles.d/courier-imapd.conf
+ [ "${1%%.*}" = "1" ] && [ "${2%%.*}" != "1" ] && echo "Please make sure you have read the guidance on pre-unicode maildir names."
+}
+
+post_upgrade() {
+ echo Performing install-configure...
+ /usr/lib/courier/sysconftool /etc/courier/*.dist > /etc/courier/install-configure-$1.log
+}
+
+pre_remove() {
+ # there may be many files not part of the original installation that would be useful to save
+ # so save the whole configuration directory rather than try to list all possibilities
+ # in backup().
+ mv -f /etc/courier /etc/courier-$1
+ echo "/etc/courier has been saved as /etc/courier-$1 - you may remove this folder if you wish."
+
+ # clean up temporary storage
+ rm -rf /run/courier /var/spool/courier
+}
diff --git a/courier-mta/courier-pop3d-ssl.service b/courier-mta/courier-pop3d-ssl.service
new file mode 100644
index 000000000..b1915304a
--- /dev/null
+++ b/courier-mta/courier-pop3d-ssl.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Courier POP3 (SSL) Daemon
+Requires=authdaemond.service
+After=authdaemond.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/pop3d-ssl start
+ExecStop=/usr/sbin/pop3d-ssl stop
+PIDFile=/run/courier/pop3d-ssl.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/courier-pop3d.service b/courier-mta/courier-pop3d.service
new file mode 100644
index 000000000..28f0b9bf4
--- /dev/null
+++ b/courier-mta/courier-pop3d.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Courier POP3 Daemon
+Requires=authdaemond.service
+After=authdaemond.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/pop3d start
+ExecStop=/usr/sbin/pop3d stop
+PIDFile=/run/courier/pop3d.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/courier.service b/courier-mta/courier.service
new file mode 100644
index 000000000..5df43a68c
--- /dev/null
+++ b/courier-mta/courier.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Courier Daemon
+Requires=authdaemond.service
+After=authdaemond.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/courier start
+ExecStop=/usr/sbin/courier stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-mta/webmaild.service b/courier-mta/webmaild.service
new file mode 100644
index 000000000..9412e4d92
--- /dev/null
+++ b/courier-mta/webmaild.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Courier Webmail Daemon
+Requires=authdaemond.service
+After=authdaemond.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/webmaild start
+ExecStop=/usr/sbin/webmaild stop
+PIDFile=/run/courier/webmaild.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/courier-unicode b/courier-unicode
deleted file mode 160000
-Subproject 951a49a09011316c0debd841c94ba21ad1d5917
diff --git a/courier-unicode/PKGBUILD b/courier-unicode/PKGBUILD
new file mode 100644
index 000000000..9f8e20ab8
--- /dev/null
+++ b/courier-unicode/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Erich Eckner <arch at eckner dot net>
+# Contributor: Robert Knauer <robert@capsaicin-dev.de>
+
+pkgname=courier-unicode
+pkgver=2.1
+pkgrel=1
+pkgdesc="Courier Unicode Library"
+arch=("i686" "x86_64")
+url="https://www.courier-mta.org/unicode/"
+license=('GPL3')
+depends=('gcc-libs')
+source=(
+ "https://sourceforge.net/projects/courier/files/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2"
+)
+sha256sums=(
+ '684cba7fe722b084ae1ffb0a7f71999756409d5ad4c84bce0efeb8887943ea21'
+)
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}/" install
+}