aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Kartel <valery.kartel@gmail.com>2015-12-09 14:05:53 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-12-09 14:18:30 +0000
commit2058670f942a288119ed6093d2c3cd410e029a20 (patch)
treef48bc3dc52c81e0a2b9c670c9d5da3b2010f5829
parent5d74af04f0fafd8bb11d5e9a53f119f294314356 (diff)
downloadalpine_aports-2058670f942a288119ed6093d2c3cd410e029a20.tar.bz2
alpine_aports-2058670f942a288119ed6093d2c3cd410e029a20.tar.xz
alpine_aports-2058670f942a288119ed6093d2c3cd410e029a20.zip
main/dovecot: fixups in APKBUILD and default configs
- sample-configs (conf.d) moved to main package because those are used by dovecot.conf - dovecot-sample-config subpackage and corresponding dovecot-sample-config.post-install are removed - configs related to ldap auth moved to dovecot-ldap subpackage - new subpackage dovecot-sql with sql-related configs - all sql drivers now depend on dovecot-sql - init-script: default basedir set to /run/dovecot. added creation of basedir
-rw-r--r--main/dovecot/APKBUILD110
-rw-r--r--main/dovecot/dovecot-sample-config.post-install10
-rw-r--r--main/dovecot/dovecot.initd4
-rw-r--r--main/dovecot/dovecot.pre-install4
4 files changed, 66 insertions, 62 deletions
diff --git a/main/dovecot/APKBUILD b/main/dovecot/APKBUILD
index 33ed577af5..16356b2476 100644
--- a/main/dovecot/APKBUILD
+++ b/main/dovecot/APKBUILD
@@ -1,9 +1,10 @@
1# Contributor: Valery Kartel <valery.kartel@gmail.com>
1# Contributor: Łukasz Jendrysik <scadu@yandex.com> 2# Contributor: Łukasz Jendrysik <scadu@yandex.com>
2# Contributor: Michael Mason <ms13sp@gmail.com> 3# Contributor: Michael Mason <ms13sp@gmail.com>
3# Maintainer: Natanael Copa <ncopa@alpinelinux.org> 4# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
4pkgname=dovecot 5pkgname=dovecot
5pkgver=2.2.20 6pkgver=2.2.20
6pkgrel=0 7pkgrel=1
7pkgdesc="IMAP and POP3 server" 8pkgdesc="IMAP and POP3 server"
8url="http://www.dovecot.org/" 9url="http://www.dovecot.org/"
9arch="all" 10arch="all"
@@ -14,31 +15,30 @@ pkggroups="dovecot dovenull"
14makedepends="libcap-dev zlib-dev openssl-dev bzip2-dev postgresql-dev 15makedepends="libcap-dev zlib-dev openssl-dev bzip2-dev postgresql-dev
15 mariadb-dev sqlite-dev heimdal-dev openldap-dev linux-headers" 16 mariadb-dev sqlite-dev heimdal-dev openldap-dev linux-headers"
16install="dovecot.pre-install dovecot.post-install" 17install="dovecot.pre-install dovecot.post-install"
17subpackages="$pkgname-sample-config:config $pkgname-doc $pkgname-dev 18subpackages="$pkgname-doc $pkgname-dev
18 $pkgname-pgsql $pkgname-mysql $pkgname-sqlite $pkgname-gssapi 19 $pkgname-sql $pkgname-pgsql $pkgname-mysql $pkgname-sqlite
19 $pkgname-ldap" 20 $pkgname-gssapi $pkgname-ldap
20patches="
21 hide-dl-errors.patch
22 " 21 "
23source="http://www.dovecot.org/releases/${pkgver%.*}/$pkgname-$pkgver.tar.gz 22source="http://www.dovecot.org/releases/${pkgver%.*}/$pkgname-$pkgver.tar.gz
24 $patches 23 hide-dl-errors.patch
25 dovecot.logrotate 24 dovecot.logrotate
26 dovecot.initd 25 dovecot.initd
27 dovecot-sample-config.post-install
28 " 26 "
29options="libtool" 27options="libtool"
30 28
29_builddir="$srcdir"/$pkgname-$pkgver
30
31prepare() { 31prepare() {
32 cd "$srcdir"/$pkgname-$pkgver 32 cd "$_builddir"
33 for i in $patches; do 33 for i in $source; do
34 msg $i 34 case $i in
35 patch -p1 -i "$srcdir"/$i || return 1 35 *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
36 esac
36 done 37 done
37} 38}
38 39
39build() { 40build() {
40 cd "$srcdir/$pkgname-$pkgver" 41 cd "$_builddir"
41
42 ./configure \ 42 ./configure \
43 --build=$CBUILD \ 43 --build=$CBUILD \
44 --host=$CHOST \ 44 --host=$CHOST \
@@ -54,35 +54,38 @@ build() {
54 --with-sqlite \ 54 --with-sqlite \
55 --with-pgsql \ 55 --with-pgsql \
56 --with-ssl=openssl \ 56 --with-ssl=openssl \
57 --with-ssldir=/etc/ssl/dovecot \
58 --with-rundir=/run/dovecot \
57 || return 1 59 || return 1
58
59 make || return 1 60 make || return 1
60} 61}
61 62
62package() { 63package() {
63 cd "$srcdir/$pkgname-$pkgver" 64 cd "$_builddir"
64 make DESTDIR="$pkgdir" install || return 1 65 make DESTDIR="$pkgdir" install || return 1
65 66
66 install -d "$pkgdir"/var/run/dovecot \ 67 install -d "$pkgdir"/etc/ssl/dovecot
67 "$pkgdir"/etc/ssl/dovecot 68 install -Dm755 "$srcdir"/dovecot.initd "$pkgdir"/etc/init.d/dovecot
68 install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname 69 install -Dm644 "$srcdir"/dovecot.logrotate "$pkgdir"/etc/logrotate.d/dovecot
69 install -D "$srcdir"/dovecot.logrotate "$pkgdir"/etc/logrotate.d/dovecot
70 70
71 # default config 71 # default config
72 install doc/dovecot-openssl.cnf "$pkgdir"/etc/dovecot/ 72 rm "$pkgdir"/etc/dovecot/*
73 cp "$pkgdir"/usr/share/doc/dovecot/example-config/dovecot.conf \ 73 rm "$pkgdir"/usr/share/doc/dovecot/mkcert.sh
74 "$pkgdir"/etc/dovecot/dovecot.conf || return 1 74 mv "$pkgdir"/usr/share/doc/dovecot/dovecot-openssl.cnf "$pkgdir"/etc/dovecot/
75 mkdir -p "$pkgdir"/etc/dovecot/conf.d 75 mv "$pkgdir"/usr/share/doc/dovecot/example-config/dovecot* \
76 76 "$pkgdir"/usr/share/doc/dovecot/example-config/conf.d \
77 # fix ssl dirs in default config and set defautl passdb to passwd 77 "$pkgdir"/etc/dovecot/ || return 1
78 rm -fr "$pkgdir"/usr/share/doc/dovecot/example-config
79
80 # fix ssl dirs in default config
78 sed -i -e 's,^ssl_cert =.*,ssl_cert = </etc/ssl/dovecot/server.pem,' \ 81 sed -i -e 's,^ssl_cert =.*,ssl_cert = </etc/ssl/dovecot/server.pem,' \
79 -e 's,^ssl_key =.*,ssl_key = </etc/ssl/dovecot/server.key,' \ 82 -e 's,^ssl_key =.*,ssl_key = </etc/ssl/dovecot/server.key,' \
80 "$pkgdir"/usr/share/doc/dovecot/example-config/conf.d/10-ssl.conf\ 83 "$pkgdir"/etc/dovecot/conf.d/10-ssl.conf || return 1
81 || return 1 84 # set default passdb to passwd and create appropriate 'users' file
82 85 install -m 640 -o dovecot -g mail /dev/null "$pkgdir"/etc/dovecot/users
83 # install ssl config by default 86 sed -i -e 's,!include auth-system.conf.ext,!include auth-passwdfile.conf.ext,' \
84 cp "$pkgdir"/usr/share/doc/dovecot/example-config/conf.d/10-ssl.conf\ 87 -e 's,#!include auth-passwdfile.conf.ext,#!include auth-system.conf.ext,' \
85 "$pkgdir"/etc/dovecot/conf.d/ || return 1 88 "$pkgdir"/etc/dovecot/conf.d/10-auth.conf || return 1
86} 89}
87 90
88_mv() { 91_mv() {
@@ -91,55 +94,64 @@ _mv() {
91 local dir=${1%/*} 94 local dir=${1%/*}
92 mkdir -p "$subpkgdir"/$dir 95 mkdir -p "$subpkgdir"/$dir
93 mv "$pkgdir/$1" "$subpkgdir/$dir/" 96 mv "$pkgdir/$1" "$subpkgdir/$dir/"
97 [ "$(ls -A $pkgdir/$dir)" ] || rmdir "$pkgdir"/$dir
94 shift 98 shift
95 done 99 done
96} 100}
97 101
102dev() {
103 default_dev
104 mv "$pkgdir"/usr/lib/dovecot/dovecot-config \
105 "$subpkgdir"/usr/lib/dovecot/
106}
98 107
99pgsql() { 108pgsql() {
100 pkgdesc="postgresql driver for dovecot" 109 pkgdesc="postgresql driver for dovecot"
101 _mv $(cd "$pkgdir" && find usr -name '*pgsql.so') 110 depends="$pkgname-sql"
111 _mv $(cd "$pkgdir" && find usr -name '*_pgsql*')
102} 112}
103 113
104mysql() { 114mysql() {
105 pkgdesc="mysql driver for dovecot" 115 pkgdesc="mysql driver for dovecot"
106 _mv $(cd "$pkgdir" && find usr -name '*mysql.so') 116 depends="$pkgname-sql"
117 _mv $(cd "$pkgdir" && find usr -name '*_mysql*')
107} 118}
108 119
109sqlite() { 120sqlite() {
110 pkgdesc="sqlite driver for dovecot" 121 pkgdesc="sqlite driver for dovecot"
111 _mv $(cd "$pkgdir" && find usr -name '*sqlite.so') 122 depends="$pkgname-sql"
123 _mv $(cd "$pkgdir" && find usr -name '*_sqlite*')
112} 124}
113 125
114gssapi() { 126gssapi() {
115 pkgdesc="GSSAPI auth plugin for dovecot" 127 pkgdesc="GSSAPI auth plugin for dovecot"
116 _mv $(cd "$pkgdir" && find usr -name '*gssapi.so') 128 depends="$pkgname"
129 _mv $(cd "$pkgdir" && find usr -name '*_gssapi*')
117} 130}
118 131
119ldap() { 132ldap() {
120 pkgdesc="LDAP plugin for dovecot" 133 pkgdesc="LDAP auth plugin for dovecot"
121 _mv $(cd "$pkgdir" && find usr -name '*ldap.so') 134 depends="$pkgname"
135 _mv $(cd "$pkgdir" && find usr -name '*_ldap*')
136 _mv $(cd "$pkgdir" && find etc/dovecot -name '*-ldap.conf*')
122} 137}
123 138
124config() { 139sql() {
125 pkgdesc="Sample configuration files for dovecot" 140 pkgdesc="SQL plugin for dovecot"
126 install="dovecot-sample-config.post-install" 141 depends="$pkgname"
127 _mv usr/share/doc/dovecot/example-config 142 _mv $(cd "$pkgdir" && find usr -name '*-sql.*')
128 mkdir -p "$subpkgdir"/etc/dovecot/conf.d 143 _mv $(cd "$pkgdir" && find etc/dovecot -name '*-sql.conf*')
129} 144}
130 145
131md5sums="2dbeff4385eff699caa6f6b81b838d0f dovecot-2.2.20.tar.gz 146md5sums="2dbeff4385eff699caa6f6b81b838d0f dovecot-2.2.20.tar.gz
13249f7a03284cc657857fe2ae22b8c82a0 hide-dl-errors.patch 14749f7a03284cc657857fe2ae22b8c82a0 hide-dl-errors.patch
1331a88280b65efb6cb7f70bc5a88bf264c dovecot.logrotate 1481a88280b65efb6cb7f70bc5a88bf264c dovecot.logrotate
134f730fd2f5e94cdb8ce0ff4df54ebb49b dovecot.initd 149ddd77573827e0662be21303fb795eef3 dovecot.initd"
13595cf57ecc835882228bbbb019ce3abf8 dovecot-sample-config.post-install"
136sha256sums="9d8fd10bfc0d4d78c38b55bab7d88398bd785ce401fcf2e7c2ffb9eae0152dcd dovecot-2.2.20.tar.gz 150sha256sums="9d8fd10bfc0d4d78c38b55bab7d88398bd785ce401fcf2e7c2ffb9eae0152dcd dovecot-2.2.20.tar.gz
137d6accdd6e271647c01ab8fa0a9491ee822486484961e2d5c252bf70e816d2bfa hide-dl-errors.patch 151d6accdd6e271647c01ab8fa0a9491ee822486484961e2d5c252bf70e816d2bfa hide-dl-errors.patch
1382ac04bb7b5c503cd87ba044482e651dbe5c9d84a4268891fb2aa9ba26e62f833 dovecot.logrotate 1522ac04bb7b5c503cd87ba044482e651dbe5c9d84a4268891fb2aa9ba26e62f833 dovecot.logrotate
1396cad7099764c04b6ed1a1c4fbc308d66657ad31db627dd058cbbde4e883ccc00 dovecot.initd 1533f74548051297cedc7f8d203f1d1d9dc904fe89004b54b52921d2050520daa6f dovecot.initd"
1407dab0591eca7fe1473ae7b39ed9ae0d7d51617ffea01252ace5c3aa68150693f dovecot-sample-config.post-install"
141sha512sums="ceb028d2481865d27eaeea82e8e16948b34437a4fd39ca64f762772d2cda42876f0eb4b69bd69f1307bff71817340a902a0e7ca89dfcab7b9f802b32be3ef1e8 dovecot-2.2.20.tar.gz 154sha512sums="ceb028d2481865d27eaeea82e8e16948b34437a4fd39ca64f762772d2cda42876f0eb4b69bd69f1307bff71817340a902a0e7ca89dfcab7b9f802b32be3ef1e8 dovecot-2.2.20.tar.gz
1421e9a1f2990019236546c7be581a4d6d0b430110d27a00bc3298f5c154ef9a4aadefa193d02a017912f826d771058fd5c6ef6cb454e14f0d15749fa8f3a68c64a hide-dl-errors.patch 1551e9a1f2990019236546c7be581a4d6d0b430110d27a00bc3298f5c154ef9a4aadefa193d02a017912f826d771058fd5c6ef6cb454e14f0d15749fa8f3a68c64a hide-dl-errors.patch
14358756fa06a063777ef7c4d1e67b63adbde5462264e14bd7a3187a318f498fff21ac2a8d53bb216f56fef4588206e14112da79542b6dfdf503988786f27bb6544 dovecot.logrotate 15658756fa06a063777ef7c4d1e67b63adbde5462264e14bd7a3187a318f498fff21ac2a8d53bb216f56fef4588206e14112da79542b6dfdf503988786f27bb6544 dovecot.logrotate
144f3f0dfce9713ee9fcb8e07f8b8f7f2c88906adee1a97e5272346c77ff7fc1099c7340c75271ba08972d32fb45b92a9272dec68d3fbbee8ee76eb0ea9c5630c10 dovecot.initd 157d7f67991e11979da91162eb64a0b924655d0ac155d97bcc42a40c758003d60b7c096945544e6b321aa8ecb3416fe17b14b5898f1dba5e5a4b3e4c9c21295c8cb dovecot.initd"
145c5665334b0664ae29f52c022a8ffc2e520cfc506e399d2e614464dd5770caade794eeaf3406fe8ded1d927b06672d0597e2fe53d32fbfaf9f4cf025bce792a5b dovecot-sample-config.post-install"
diff --git a/main/dovecot/dovecot-sample-config.post-install b/main/dovecot/dovecot-sample-config.post-install
deleted file mode 100644
index 7f1a204fab..0000000000
--- a/main/dovecot/dovecot-sample-config.post-install
+++ /dev/null
@@ -1,10 +0,0 @@
1#!/bin/sh
2
3cd /usr/share/doc/dovecot/example-config || exit 0
4
5for i in dovecot.conf conf.d/*; do
6 if ! [ -e /etc/dovecot/$i ]; then
7 cp $i /etc/dovecot/$i
8 fi
9done
10
diff --git a/main/dovecot/dovecot.initd b/main/dovecot/dovecot.initd
index fdfb5a9fd2..880a39f254 100644
--- a/main/dovecot/dovecot.initd
+++ b/main/dovecot/dovecot.initd
@@ -29,8 +29,10 @@ checkconfig() {
29 eerror "dovecot not executable" 29 eerror "dovecot not executable"
30 return 1 30 return 1
31 fi 31 fi
32 DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/var/run/dovecot} 32 DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/run/dovecot}
33 DOVECOT_PIDFILE=${DOVECOT_BASEDIR}/master.pid 33 DOVECOT_PIDFILE=${DOVECOT_BASEDIR}/master.pid
34 checkpath --directory --owner dovecot:dovecot --mode 0755 \
35 ${DOVECOT_BASEDIR}
34} 36}
35 37
36start() { 38start() {
diff --git a/main/dovecot/dovecot.pre-install b/main/dovecot/dovecot.pre-install
index a1b2d088e8..432a3b846d 100644
--- a/main/dovecot/dovecot.pre-install
+++ b/main/dovecot/dovecot.pre-install
@@ -1,5 +1,5 @@
1#!/bin/sh 1#!/bin/sh
2 2
3adduser -H -h /dev/null -s /sbin/nologin -D dovecot 2>/dev/null 3adduser -u 90 -H -h /dev/null -s /sbin/nologin -D dovecot 2>/dev/null
4adduser -H -h /dev/null -s /sbin/nologin -D dovenull 2>/dev/null 4adduser -u 91 -H -h /dev/null -s /sbin/nologin -D dovenull 2>/dev/null
5exit 0 5exit 0