aports/main/dovecot/APKBUILD
2017-01-17 10:16:13 +00:00

226 lines
7.9 KiB
Plaintext

# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dovecot
pkgver=2.2.27
pkgrel=1
_pigeonholever=0.4.16
_pluginextdataver=39
_pkgvermajor=${pkgver%.*}
_pigeonholevermajor=${_pigeonholever%.*}
pkgdesc="IMAP and POP3 server"
url="http://www.dovecot.org/"
arch="all"
license="LGPL2+"
depends="libressl"
pkgusers="dovecot dovenull"
pkggroups="dovecot dovenull"
makedepends="libcap-dev zlib-dev libressl-dev bzip2-dev postgresql-dev
mariadb-dev sqlite-dev heimdal-dev openldap-dev linux-headers autoconf
automake libtool"
install="dovecot.pre-install dovecot.post-install"
subpackages="$pkgname-doc $pkgname-dev
$pkgname-sql $pkgname-pgsql $pkgname-mysql $pkgname-sqlite
$pkgname-gssapi $pkgname-ldap $pkgname-pigeonhole-plugin:pigeonhole
$pkgname-pigeonhole-plugin-extdata:pigeonhole_extdata
"
source="http://www.dovecot.org/releases/$_pkgvermajor/$pkgname-$pkgver.tar.gz
http://pigeonhole.dovecot.org/releases/$_pkgvermajor/$pkgname-$_pkgvermajor-pigeonhole-$_pigeonholever.tar.gz
http://hg.rename-it.nl/pigeonhole-${_pigeonholevermajor}-sieve-extdata/archive/$_pluginextdataver.tar.gz
dovecot.logrotate
dovecot.initd
extdata.conf
libressl.patch
"
options="libtool"
builddir="$srcdir"/$pkgname-$pkgver
_builddirpigeonhole="$srcdir"/$pkgname-${_pkgvermajor}-pigeonhole-$_pigeonholever
_builddirpluginextdata="$srcdir"/pigeonhole-${_pigeonholevermajor/./-}-sieve-extdata-$_pluginextdataver
build() {
cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--localstatedir=/var \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-gssapi=plugin \
--with-ldap=plugin \
--with-sql=plugin \
--with-mysql \
--with-sqlite \
--with-pgsql \
--with-ssl=openssl \
--with-ssldir=/etc/ssl/dovecot \
--with-rundir=/run/dovecot \
|| return 1
make || return 1
# Build pigeonhole plugin
cd "$_builddirpigeonhole"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--localstatedir=/var \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-dovecot="$builddir" \
--disable-static \
|| return 1
make || return 1
# Build the extdata plugin
cd "$_builddirpluginextdata"
./autogen.sh || return 1
./configure \
--prefix=/usr \
--localstatedir=/var \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-dovecot="$builddir" \
--with-pigeonhole="$_builddirpigeonhole" \
|| return 1
make || return 1
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install || return 1
install -d "$pkgdir"/etc/ssl/dovecot
install -Dm755 "$srcdir"/dovecot.initd "$pkgdir"/etc/init.d/dovecot
install -Dm644 "$srcdir"/dovecot.logrotate "$pkgdir"/etc/logrotate.d/dovecot
# default config
rm "$pkgdir"/etc/dovecot/*
rm "$pkgdir"/usr/share/doc/dovecot/mkcert.sh
mv "$pkgdir"/usr/share/doc/dovecot/dovecot-openssl.cnf "$pkgdir"/etc/dovecot/
mv "$pkgdir"/usr/share/doc/dovecot/example-config/dovecot* \
"$pkgdir"/usr/share/doc/dovecot/example-config/conf.d \
"$pkgdir"/etc/dovecot/ || return 1
rm -fr "$pkgdir"/usr/share/doc/dovecot/example-config
# fix ssl dirs in default config
sed -i -e 's,^ssl_cert =.*,ssl_cert = </etc/ssl/dovecot/server.pem,' \
-e 's,^ssl_key =.*,ssl_key = </etc/ssl/dovecot/server.key,' \
"$pkgdir"/etc/dovecot/conf.d/10-ssl.conf || return 1
# set default passdb to passwd and create appropriate 'users' file
install -m 640 -o dovecot -g mail /dev/null "$pkgdir"/etc/dovecot/users
sed -i -e 's,!include auth-system.conf.ext,!include auth-passwdfile.conf.ext,' \
-e 's,#!include auth-passwdfile.conf.ext,#!include auth-system.conf.ext,' \
"$pkgdir"/etc/dovecot/conf.d/10-auth.conf || return 1
# Installing pigeonhole plugin
cd "$_builddirpigeonhole"
make install DESTDIR="$pkgdir" || return 1
# Installing extdata plugin
cd "$_builddirpluginextdata"
make install DESTDIR="$pkgdir" || return 1
# Moving config in the correct place
mv "$pkgdir"/usr/share/doc/dovecot/example-config/conf.d/* \
"$pkgdir"/etc/dovecot/conf.d || return 1
}
_mv() {
local i
while [ $# -gt 0 ]; do
local dir=${1%/*}
mkdir -p "$subpkgdir"/$dir
mv "$pkgdir/$1" "$subpkgdir/$dir/"
[ "$(ls -A $pkgdir/$dir)" ] || rmdir "$pkgdir"/$dir
shift
done
}
dev() {
default_dev
mv "$pkgdir"/usr/lib/dovecot/dovecot-config \
"$subpkgdir"/usr/lib/dovecot/
}
pigeonhole() {
pkgdesc="Sieve plugin for dovecot"
depends="$pkgname"
_mv $(cd "$pkgdir" && find usr -name '*sieve_extprograms*')
_mv $(cd "$pkgdir" && find usr -name '*sieve_imapsieve*')
_mv $(cd "$pkgdir" && find usr -name '*pigeonhole*')
_mv $(cd "$pkgdir" && find etc/dovecot -name '*sieve*')
}
pigeonhole_extdata() {
pkgdesc="Pigeonhole Sieve Extdata Plugin"
depends="$pkgname-pigeonhole-plugin"
_mv $(cd "$pkgdir" && find usr -name '*sieve_extdata*')
install -Dm644 "$srcdir"/extdata.conf "$subpkgdir"/etc/dovecot/conf.d/90-sieve-extdata.conf
install -Dm644 /dev/null "$subpkgdir"/etc/dovecot/sieve-extdata.dict
}
pgsql() {
pkgdesc="postgresql driver for dovecot"
depends="$pkgname-sql"
_mv $(cd "$pkgdir" && find usr -name '*_pgsql*')
}
mysql() {
pkgdesc="mysql driver for dovecot"
depends="$pkgname-sql"
_mv $(cd "$pkgdir" && find usr -name '*_mysql*')
}
sqlite() {
pkgdesc="sqlite driver for dovecot"
depends="$pkgname-sql"
_mv $(cd "$pkgdir" && find usr -name '*_sqlite*')
}
gssapi() {
pkgdesc="GSSAPI auth plugin for dovecot"
depends="$pkgname"
_mv $(cd "$pkgdir" && find usr -name '*_gssapi*')
}
ldap() {
pkgdesc="LDAP auth plugin for dovecot"
depends="$pkgname"
_mv $(cd "$pkgdir" && find usr -name '*_ldap*')
_mv $(cd "$pkgdir" && find etc/dovecot -name '*-ldap.conf*')
}
sql() {
pkgdesc="SQL plugin for dovecot"
depends="$pkgname"
_mv $(cd "$pkgdir" && find usr -name '*-sql.*')
_mv $(cd "$pkgdir" && find etc/dovecot -name '*-sql.conf*')
}
md5sums="20133518f5bc0e64dd07ce55b83df2fb dovecot-2.2.27.tar.gz
e03eed707b39cffc4b2a82867de45d9c dovecot-2.2-pigeonhole-0.4.16.tar.gz
5d26d326856d00ce04c620b549d58f79 39.tar.gz
df6d43508a82903a97e3a2a5b8436d3d dovecot.logrotate
f0c227ab4e2593f6d410440b82103de1 dovecot.initd
e085d2bafae8c9d657c4a85a91eb35f6 extdata.conf
ca86aa10f8f963c7f08c50c12c2dbe45 libressl.patch"
sha256sums="897f92a87cda4b27b243f8149ce0ba7b7e71a2be8fb7994eb0a025e54cde18e9 dovecot-2.2.27.tar.gz
8f0b98f18062d6e241eef74ebe16cc167cd246361cbe6657d94f0ecc5d7d3234 dovecot-2.2-pigeonhole-0.4.16.tar.gz
da70fb0ce0424e9cad2c03834bd826a3685deb5a986ec5b87ae7c525055256d5 39.tar.gz
d0fef8cd8200549877d7594cf458d6b33f05b31f95f1fd9a8368e8471c082735 dovecot.logrotate
1a3c845c216bb6f9633d27a8c1c0d01b591942c463bddb5ae835f162bd7fb4bf dovecot.initd
1e7b6a42f07add59af8a031d24525bdda28a6d904acefa6e4f48b005d07213e6 extdata.conf
27ce75e878fbea1038417b2629626cb6c96e078e8af97cb76641489448c0e88f libressl.patch"
sha512sums="faab441bb2afa1e6de3e6ec6207c92a333773941bbc10c4761483ef6ccc193d3a4983de1acc73325122c22b197ea25c1e54886cccfb6b060ede90936a69b71f2 dovecot-2.2.27.tar.gz
5f59fb35dbe638f8ddd19c0fd0f3fbd6fec1fa238f3781b94c50a8f7ce72a53ac1381a6f8ad9bcc90df1edfa2b263a6dfba88521578e55ce4b3d840bed022b79 dovecot-2.2-pigeonhole-0.4.16.tar.gz
832a80264fb9bd3021c4e192eb7594c203100783df547aff35acf4dc4d8de5eddfd676fcc5a07a0691d9bb6eb884c9497a692b72a2af5bf9e9bb7a2d3f38923e 39.tar.gz
9f19698ab45969f1f94dc4bddf6de59317daee93c9421c81f2dbf8a7efe6acf89689f1d30f60f536737bb9526c315215d2bce694db27e7b8d7896036a59c31f0 dovecot.logrotate
6ec75a8396f4d826390e69aa8177593573eaf0e0ab537b2a4720573e04c92ff615f39e1559b48313b2cd2f03704cd977bb594a568ecc5dd22e38926c12f3c48c dovecot.initd
7aa66cbd2a520d863fc8ff2ec48520c6fe4629ec345545b362e16c3072843f5315c6e12513ed86200d66b7c55e17f5bb21c7a12d86721968a9e03cc595dc5bcd extdata.conf
c58abae05c69fa01f2547c4a10e1b49a8b04f7311b7f0397eb2be9bd574d711f6a75203c3764b67205fe4000dd018c2e7dfe4a23399e3d8a3e7b2f201b7c745e libressl.patch"