summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGoliathLabs2018-10-27 14:29:55 +0200
committerGoliathLabs2018-10-27 14:29:55 +0200
commit809fef2cad042ea0a782d6a33f4d4ad2dbd91fcc (patch)
tree8843a5a5378dbd0a35a2c4728bd740d3ca857065
downloadaur-809fef2cad042ea0a782d6a33f4d4ad2dbd91fcc.tar.gz
Testing: First release of the release 3 series
-rw-r--r--.SRCINFO33
-rw-r--r--PKGBUILD86
-rw-r--r--cyrus-imapd.install63
-rw-r--r--cyrus-master-conf.d1
-rw-r--r--cyrus-master.service11
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