diff options
author | GoliathLabs | 2018-10-27 14:29:55 +0200 |
---|---|---|
committer | GoliathLabs | 2018-10-27 14:29:55 +0200 |
commit | 809fef2cad042ea0a782d6a33f4d4ad2dbd91fcc (patch) | |
tree | 8843a5a5378dbd0a35a2c4728bd740d3ca857065 | |
download | aur-809fef2cad042ea0a782d6a33f4d4ad2dbd91fcc.tar.gz |
Testing: First release of the release 3 series
-rw-r--r-- | .SRCINFO | 33 | ||||
-rw-r--r-- | PKGBUILD | 86 | ||||
-rw-r--r-- | cyrus-imapd.install | 63 | ||||
-rw-r--r-- | cyrus-master-conf.d | 1 | ||||
-rw-r--r-- | cyrus-master.service | 11 |
5 files changed, 194 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..fd08b2c90c37 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,33 @@ +pkgbase = cyrus-imapd + pkgdesc = Cyrus IMAP mail server + pkgver = 3.0.8 + pkgrel = 1 + url = http://www.cyrusimap.org/ + install = cyrus-imapd.install + arch = i686 + arch = x86_64 + arch = armv6h + arch = armv7h + license = custom + depends = cyrus-sasl + depends = db + depends = libsasl + depends = perl + provides = imap-server + provides = pop3-server + conflicts = imap-server + conflicts = pop3-server + options = !makeflags + backup = etc/cyrus/cyrus.conf + backup = etc/cyrus/imapd.conf + source = https://www.cyrusimap.org/releases/cyrus-imapd-3.0.8.tar.gz + source = cyrus-master-conf.d + source = cyrus-imapd.install + source = cyrus-master.service + sha512sums = f4aa9877e62479439bee2ca29f452bd7e9daa091c19bf3567aa7f493f5163c98b44086b749c70981402212ff90e19d9125b508cfcc077088f8c705e533812960 + sha512sums = 881540a400670e86499db76af7cc41aa663a4492e3c512dbf0687f42b4a54dc5aca9df3ad315dd1c606d084feeec1a07670d50fae82fb9e71f30d5321d94327f + sha512sums = 80bfc8a2fca10cd2aa965449c426c987adf156017b111cebc37b889b3d41b7c5ba8a574e3b858166a72101a0e55f02c16411d06aa4dadc0b6410d40d68902386 + sha512sums = 6cc4bbed0d5342a28a69e4acfa4a89f7a8909c6271e2e819e8da855dca2873fdaa5cea6519cb09c169b507df273d030eff5677bb07c4bf6591939958dd8e1bfe + +pkgname = cyrus-imapd + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7d29d9ff4b7e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,86 @@ +# Maintainer: Carsten Feuls <archlinux@carstenfeuls.de> +# Previously:John Lane <archlinux at jelmail dot com> +# Previously:Fisher Duan <steamedfish@njuopen.com> Ryan Corder <ryanc@greengrey.org> + +pkgname=cyrus-imapd +pkgver=3.0.8 +pkgrel=1 +pkgdesc="Cyrus IMAP mail server" +arch=('i686' 'x86_64' 'armv6h' 'armv7h') +url="http://www.cyrusimap.org/" +license=('custom') +depends=('cyrus-sasl' 'db' 'libsasl' 'perl') +provides=('imap-server' 'pop3-server') +conflicts=('imap-server' 'pop3-server') +options=('!makeflags') +backup=(etc/cyrus/cyrus.conf etc/cyrus/imapd.conf) +install="$pkgname.install" +source=(https://www.cyrusimap.org/releases/$pkgname-$pkgver.tar.gz + 'cyrus-master-conf.d' + 'cyrus-imapd.install' + 'cyrus-master.service') +sha512sums=('f4aa9877e62479439bee2ca29f452bd7e9daa091c19bf3567aa7f493f5163c98b44086b749c70981402212ff90e19d9125b508cfcc077088f8c705e533812960' + '881540a400670e86499db76af7cc41aa663a4492e3c512dbf0687f42b4a54dc5aca9df3ad315dd1c606d084feeec1a07670d50fae82fb9e71f30d5321d94327f' + '80bfc8a2fca10cd2aa965449c426c987adf156017b111cebc37b889b3d41b7c5ba8a574e3b858166a72101a0e55f02c16411d06aa4dadc0b6410d40d68902386' + '6cc4bbed0d5342a28a69e4acfa4a89f7a8909c6271e2e819e8da855dca2873fdaa5cea6519cb09c169b507df273d030eff5677bb07c4bf6591939958dd8e1bfe') + +build() { + cd $srcdir/$pkgname-$pkgver + + CFLAGS=-fPIC ./configure \ + --prefix=/usr \ + --includedir=/usr/include/cyrus --mandir=/usr/share/man \ + --docdir=/usr/share/doc/cyrus \ + --datadir=/usr/share/cyrus --sysconfdir=/etc/cyrus \ + --localstatedir=/var/lib/cyrus \ + --sharedstatedir=/usr/share/cyrus \ + --enable-murder --enable-nntp --enable-replication \ + --enable-idled \ + --with-cyrus-user=cyrus --with-cyrus-group=mail \ + --with-pidfile=/var/run/cyrmaster.pid \ + --with-syslogfacility=MAIL \ + --with-cyrus-prefix=/usr/lib/cyrus \ + --without-libwrap \ + --exec-prefix=/usr --libexecdir=/usr/sbin + + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + + make DESTDIR="${pkgdir}" install + + # create required directories first + mkdir -m 0755 -p $pkgdir/usr/lib/systemd/system + mkdir -m 0755 -p $pkgdir/usr/include/cyrus + mkdir -m 0755 -p $pkgdir/etc/cyrus + mkdir -m 0755 -p $pkgdir/etc/conf.d + mkdir -m 0755 -p $pkgdir/etc/rc.d + mkdir -m 0755 -p $pkgdir/usr/bin + + install -m 755 ${srcdir}/$pkgname-$pkgver/tools/mkimap ${pkgdir}/usr/bin/ + + # rename master.8 so it doesn't conflict with master.8 from Postfix + mv $pkgdir/usr/share/man/man8/master.8 $pkgdir/usr/share/man/man8/cyrus-master.8 + + # move cyradm to standard location + mv $pkgdir/usr/bin/site_perl/cyradm $pkgdir/usr/bin/cyradm + rmdir $pkgdir/usr/bin/site_perl + + # install configs, rc scripts, etc + install -m 600 $srcdir/$pkgname-$pkgver/master/conf/normal.conf \ + $pkgdir/etc/cyrus/cyrus.conf + echo "# see imapd.conf(5) man page for correct setup of this file" >> \ + $pkgdir/etc/cyrus/imapd.conf + chmod 600 $pkgdir/etc/cyrus/imapd.conf + install -m 644 $srcdir/cyrus-master-conf.d $pkgdir/etc/conf.d/cyrus-master + install -m 644 $srcdir/cyrus-master.service \ + $pkgdir/usr/lib/systemd/system/cyrus-master.service + install -Dm 644 $srcdir/$pkgname-$pkgver/COPYING \ + $pkgdir/usr/share/licenses/$pkgname/COPYING + install -Dm 644 $srcdir/$pkgname-$pkgver/README \ + $pkgdir/usr/share/doc/$pkgname/README +} + + diff --git a/cyrus-imapd.install b/cyrus-imapd.install new file mode 100644 index 000000000000..5147157b5cae --- /dev/null +++ b/cyrus-imapd.install @@ -0,0 +1,63 @@ +# $Id: $ +# +# Description: post-install script for cyrus-imapd +# Contributor: Ryan Corder <ryanc@greengrey.org> +# + +# arg 1: new package version +post_install() { + # create cyrus user + if [ -z "`grep '^cyrus:' /etc/passwd`" ]; then + useradd -d /var/spool/imap -g mail -s /bin/false cyrus + else + usermod -s /bin/false cyrus + fi + + # all kinds of directories needed for the IMAP spool + for subdir in imap/{,db,log,msg,proc,socket,sieve} spool/imap/{,stage.}; do + if [ ! -d /var/${subdir} ]; then + mkdir -m 0750 -p "/var/${subdir}" + fi + done + for subdir in imap/{user,quota,sieve} spool/imap; do + for i in a b c d e f g h i j k l m n o p q r s t v u w x y z \ + A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \ + 0 1 2 3 4 5 6 7 8 9; do + if [ ! -d /var/${subdir}/${i} ]; then + mkdir -m 0750 -p "/var/${subdir}/${i}" + fi + done + done + chown -R cyrus:mail "/var/imap" + chown -R cyrus:mail "/var/spool/imap" + + # make /var/imap/user/* and /var/imap/quota/* synchronous + if df -T /var/imap | grep -q ' ext[234] '; then + chattr +S /var/imap/{user,quota}{,/*} + fi + # make /var/spool/imap/* synchronous + if df -T /var/spool/imap | grep -q ' ext[23] '; then + chattr +S /var/spool/imap{,/*} + fi + + # set more secure permissions on config files + chown -R cyrus:mail /etc/cyrus + chmod 600 /etc/cyrus/cyrus.conf + chmod 600 /etc/cyrus/imapd.conf +} + +# arg 1: new package version +# arg 2: old package version +post_upgrade() { + post_install $1 +} + +# arg 1: old package version +pre_remove() { + userdel cyrus &> /dev/null +} + +op=$1 +shift + +$op $* diff --git a/cyrus-master-conf.d b/cyrus-master-conf.d new file mode 100644 index 000000000000..8bc799e0b586 --- /dev/null +++ b/cyrus-master-conf.d @@ -0,0 +1 @@ +MASTER_OPTIONS="-d" diff --git a/cyrus-master.service b/cyrus-master.service new file mode 100644 index 000000000000..4e1f421063a0 --- /dev/null +++ b/cyrus-master.service @@ -0,0 +1,11 @@ +[Unit] +Description=Cyrus IMAP mail server +After=network.target + +[Service] +Type=forking +ExecStart=/usr/lib/cyrus/bin/master -d +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target |