blob: 09bdd6145c202e864a9f77ecc263443fd566d2af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dovecot
pkgver=2.1.12
pkgrel=0
pkgdesc="IMAP and POP3 server"
url="http://www.dovecot.org/"
arch="all"
license="LGPL-2.1"
depends="openssl logrotate"
pkgusers="dovecot dovenull"
pkggroups="dovecot dovenull"
makedepends="libcap-dev zlib-dev openssl-dev bzip2-dev postgresql-dev
mysql-dev sqlite-dev heimdal-dev openldap-dev"
install="dovecot.pre-install dovecot.post-install"
subpackages="$pkgname-sample-config:config $pkgname-doc $pkgname-dev
$pkgname-pgsql $pkgname-mysql $pkgname-sqlite $pkgname-gssapi
$pkgname-ldap"
patches="
hide-dl-errors.patch
"
source="http://www.dovecot.org/releases/${pkgver%.*}/$pkgname-$pkgver.tar.gz
$patches
dovecot.logrotate
dovecot.initd
dovecot-sample-config.post-install
"
prepare() {
cd "$srcdir"/$pkgname-$pkgver
for i in $patches; do
msg $i
patch -p1 -i "$srcdir"/$i || return 1
done
}
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --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 || return 1
make || return 1
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install || return 1
rm "$pkgdir"/usr/lib/dovecot/*.la \
"$pkgdir"/usr/lib/dovecot/*/*.la || return 1
install -d "$pkgdir"/var/run/dovecot \
"$pkgdir"/etc/ssl/dovecot
install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
install -D "$srcdir"/dovecot.logrotate "$pkgdir"/etc/logrotate.d/dovecot
# default config
install doc/dovecot-openssl.cnf "$pkgdir"/etc/dovecot/
cp "$pkgdir"/usr/share/doc/dovecot/example-config/dovecot.conf \
"$pkgdir"/etc/dovecot/dovecot.conf || return 1
mkdir -p "$pkgdir"/etc/dovecot/conf.d
# fix ssl dirs in default config and set defautl passdb to passwd
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"/usr/share/doc/dovecot/example-config/conf.d/10-ssl.conf\
|| return 1
# install ssl config by default
cp "$pkgdir"/usr/share/doc/dovecot/example-config/conf.d/10-ssl.conf\
"$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/"
shift
done
}
pgsql() {
pkgdesc="postgresql driver for dovecot"
_mv $(cd "$pkgdir" && find usr -name '*pgsql.so')
}
mysql() {
pkgdesc="mysql driver for dovecot"
_mv $(cd "$pkgdir" && find usr -name '*mysql.so')
}
sqlite() {
pkgdesc="sqlite driver for dovecot"
_mv $(cd "$pkgdir" && find usr -name '*sqlite.so')
}
gssapi() {
pkgdesc="GSSAPI auth plugin for dovecot"
_mv $(cd "$pkgdir" && find usr -name '*gssapi.so')
}
ldap() {
pkgdesc="LDAP plugin for dovecot"
_mv $(cd "$pkgdir" && find usr -name '*ldap.so')
}
config() {
pkgdesc="Sample configuration files for dovecot"
install="dovecot-sample-config.post-install"
_mv usr/share/doc/dovecot/example-config
mkdir -p "$subpkgdir"/etc/dovecot/conf.d
}
md5sums="b575dfb5db954132f41e7c390e7e11ff dovecot-2.1.12.tar.gz
49f7a03284cc657857fe2ae22b8c82a0 hide-dl-errors.patch
aec5cc797ab2acf72ce3b6bb1030345f dovecot.logrotate
59f210c712284a82e3a65b4126ddd99c dovecot.initd
95cf57ecc835882228bbbb019ce3abf8 dovecot-sample-config.post-install"
|