summaryrefslogtreecommitdiffstats
path: root/main/dovecot/APKBUILD
blob: 1b11953721c7489a9395bd1e30b434ea1ecf48f9 (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
132
133
134
135
136
137
138
139
140
141
# Contributor: Michael Mason <ms13sp@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dovecot
pkgver=2.1.16
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="72abf618cfa678194f9338f6c0aeb47d  dovecot-2.1.16.tar.gz
49f7a03284cc657857fe2ae22b8c82a0  hide-dl-errors.patch
aec5cc797ab2acf72ce3b6bb1030345f  dovecot.logrotate
59f210c712284a82e3a65b4126ddd99c  dovecot.initd
95cf57ecc835882228bbbb019ce3abf8  dovecot-sample-config.post-install"
sha256sums="a61d5fa774615849f6e754232c41a7a87dd0de619f1089627c3682180fa9b447  dovecot-2.1.16.tar.gz
d6accdd6e271647c01ab8fa0a9491ee822486484961e2d5c252bf70e816d2bfa  hide-dl-errors.patch
3ac8a0b2b078f84e598266c047937f4e63265ff646866a944d9b4f03b6fe4896  dovecot.logrotate
47fc6193dc843c1422771c4914f2d2c2246130cb8fbb85041b5bd86896e79f2f  dovecot.initd
7dab0591eca7fe1473ae7b39ed9ae0d7d51617ffea01252ace5c3aa68150693f  dovecot-sample-config.post-install"
sha512sums="634600ae99db8d29766aa05d21df06f4f5e9c2bb3b8378e6a92fcdc0eb3e2ae2e8383c7d516623d774dc13bae72a47a79587ec5b527c7bb47fdb5da704c4047b  dovecot-2.1.16.tar.gz
1e9a1f2990019236546c7be581a4d6d0b430110d27a00bc3298f5c154ef9a4aadefa193d02a017912f826d771058fd5c6ef6cb454e14f0d15749fa8f3a68c64a  hide-dl-errors.patch
cd7c0feb5ad620175692be2f9ca821fbccd970647c5bf5b597dc02d48ab128cc2f7aa7657804e984197e590c8804ac7f7491fa40c6efb03f5209e127fa00583f  dovecot.logrotate
30ccbedee68567548d530b48852df7695c889f70733833968aac6d94593636a55c404b9b7331e994ccf4ae165ea1e1813802ef378b5e0c241fb8b819b88af574  dovecot.initd
c5665334b0664ae29f52c022a8ffc2e520cfc506e399d2e614464dd5770caade794eeaf3406fe8ded1d927b06672d0597e2fe53d32fbfaf9f4cf025bce792a5b  dovecot-sample-config.post-install"