diff options
author | Valery Kartel <valery.kartel@gmail.com> | 2015-12-09 14:05:53 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-12-09 14:18:30 +0000 |
commit | 2058670f942a288119ed6093d2c3cd410e029a20 (patch) | |
tree | f48bc3dc52c81e0a2b9c670c9d5da3b2010f5829 | |
parent | 5d74af04f0fafd8bb11d5e9a53f119f294314356 (diff) | |
download | alpine_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/APKBUILD | 110 | ||||
-rw-r--r-- | main/dovecot/dovecot-sample-config.post-install | 10 | ||||
-rw-r--r-- | main/dovecot/dovecot.initd | 4 | ||||
-rw-r--r-- | main/dovecot/dovecot.pre-install | 4 |
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> |
4 | pkgname=dovecot | 5 | pkgname=dovecot |
5 | pkgver=2.2.20 | 6 | pkgver=2.2.20 |
6 | pkgrel=0 | 7 | pkgrel=1 |
7 | pkgdesc="IMAP and POP3 server" | 8 | pkgdesc="IMAP and POP3 server" |
8 | url="http://www.dovecot.org/" | 9 | url="http://www.dovecot.org/" |
9 | arch="all" | 10 | arch="all" |
@@ -14,31 +15,30 @@ pkggroups="dovecot dovenull" | |||
14 | makedepends="libcap-dev zlib-dev openssl-dev bzip2-dev postgresql-dev | 15 | makedepends="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" |
16 | install="dovecot.pre-install dovecot.post-install" | 17 | install="dovecot.pre-install dovecot.post-install" |
17 | subpackages="$pkgname-sample-config:config $pkgname-doc $pkgname-dev | 18 | subpackages="$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 |
20 | patches=" | ||
21 | hide-dl-errors.patch | ||
22 | " | 21 | " |
23 | source="http://www.dovecot.org/releases/${pkgver%.*}/$pkgname-$pkgver.tar.gz | 22 | source="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 | " |
29 | options="libtool" | 27 | options="libtool" |
30 | 28 | ||
29 | _builddir="$srcdir"/$pkgname-$pkgver | ||
30 | |||
31 | prepare() { | 31 | prepare() { |
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 | ||
39 | build() { | 40 | build() { |
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 | ||
62 | package() { | 63 | package() { |
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 | ||
102 | dev() { | ||
103 | default_dev | ||
104 | mv "$pkgdir"/usr/lib/dovecot/dovecot-config \ | ||
105 | "$subpkgdir"/usr/lib/dovecot/ | ||
106 | } | ||
98 | 107 | ||
99 | pgsql() { | 108 | pgsql() { |
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 | ||
104 | mysql() { | 114 | mysql() { |
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 | ||
109 | sqlite() { | 120 | sqlite() { |
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 | ||
114 | gssapi() { | 126 | gssapi() { |
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 | ||
119 | ldap() { | 132 | ldap() { |
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 | ||
124 | config() { | 139 | sql() { |
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 | ||
131 | md5sums="2dbeff4385eff699caa6f6b81b838d0f dovecot-2.2.20.tar.gz | 146 | md5sums="2dbeff4385eff699caa6f6b81b838d0f dovecot-2.2.20.tar.gz |
132 | 49f7a03284cc657857fe2ae22b8c82a0 hide-dl-errors.patch | 147 | 49f7a03284cc657857fe2ae22b8c82a0 hide-dl-errors.patch |
133 | 1a88280b65efb6cb7f70bc5a88bf264c dovecot.logrotate | 148 | 1a88280b65efb6cb7f70bc5a88bf264c dovecot.logrotate |
134 | f730fd2f5e94cdb8ce0ff4df54ebb49b dovecot.initd | 149 | ddd77573827e0662be21303fb795eef3 dovecot.initd" |
135 | 95cf57ecc835882228bbbb019ce3abf8 dovecot-sample-config.post-install" | ||
136 | sha256sums="9d8fd10bfc0d4d78c38b55bab7d88398bd785ce401fcf2e7c2ffb9eae0152dcd dovecot-2.2.20.tar.gz | 150 | sha256sums="9d8fd10bfc0d4d78c38b55bab7d88398bd785ce401fcf2e7c2ffb9eae0152dcd dovecot-2.2.20.tar.gz |
137 | d6accdd6e271647c01ab8fa0a9491ee822486484961e2d5c252bf70e816d2bfa hide-dl-errors.patch | 151 | d6accdd6e271647c01ab8fa0a9491ee822486484961e2d5c252bf70e816d2bfa hide-dl-errors.patch |
138 | 2ac04bb7b5c503cd87ba044482e651dbe5c9d84a4268891fb2aa9ba26e62f833 dovecot.logrotate | 152 | 2ac04bb7b5c503cd87ba044482e651dbe5c9d84a4268891fb2aa9ba26e62f833 dovecot.logrotate |
139 | 6cad7099764c04b6ed1a1c4fbc308d66657ad31db627dd058cbbde4e883ccc00 dovecot.initd | 153 | 3f74548051297cedc7f8d203f1d1d9dc904fe89004b54b52921d2050520daa6f dovecot.initd" |
140 | 7dab0591eca7fe1473ae7b39ed9ae0d7d51617ffea01252ace5c3aa68150693f dovecot-sample-config.post-install" | ||
141 | sha512sums="ceb028d2481865d27eaeea82e8e16948b34437a4fd39ca64f762772d2cda42876f0eb4b69bd69f1307bff71817340a902a0e7ca89dfcab7b9f802b32be3ef1e8 dovecot-2.2.20.tar.gz | 154 | sha512sums="ceb028d2481865d27eaeea82e8e16948b34437a4fd39ca64f762772d2cda42876f0eb4b69bd69f1307bff71817340a902a0e7ca89dfcab7b9f802b32be3ef1e8 dovecot-2.2.20.tar.gz |
142 | 1e9a1f2990019236546c7be581a4d6d0b430110d27a00bc3298f5c154ef9a4aadefa193d02a017912f826d771058fd5c6ef6cb454e14f0d15749fa8f3a68c64a hide-dl-errors.patch | 155 | 1e9a1f2990019236546c7be581a4d6d0b430110d27a00bc3298f5c154ef9a4aadefa193d02a017912f826d771058fd5c6ef6cb454e14f0d15749fa8f3a68c64a hide-dl-errors.patch |
143 | 58756fa06a063777ef7c4d1e67b63adbde5462264e14bd7a3187a318f498fff21ac2a8d53bb216f56fef4588206e14112da79542b6dfdf503988786f27bb6544 dovecot.logrotate | 156 | 58756fa06a063777ef7c4d1e67b63adbde5462264e14bd7a3187a318f498fff21ac2a8d53bb216f56fef4588206e14112da79542b6dfdf503988786f27bb6544 dovecot.logrotate |
144 | f3f0dfce9713ee9fcb8e07f8b8f7f2c88906adee1a97e5272346c77ff7fc1099c7340c75271ba08972d32fb45b92a9272dec68d3fbbee8ee76eb0ea9c5630c10 dovecot.initd | 157 | d7f67991e11979da91162eb64a0b924655d0ac155d97bcc42a40c758003d60b7c096945544e6b321aa8ecb3416fe17b14b5898f1dba5e5a4b3e4c9c21295c8cb dovecot.initd" |
145 | c5665334b0664ae29f52c022a8ffc2e520cfc506e399d2e614464dd5770caade794eeaf3406fe8ded1d927b06672d0597e2fe53d32fbfaf9f4cf025bce792a5b 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 | |||
3 | cd /usr/share/doc/dovecot/example-config || exit 0 | ||
4 | |||
5 | for i in dovecot.conf conf.d/*; do | ||
6 | if ! [ -e /etc/dovecot/$i ]; then | ||
7 | cp $i /etc/dovecot/$i | ||
8 | fi | ||
9 | done | ||
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 | ||
36 | start() { | 38 | start() { |
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 | ||
3 | adduser -H -h /dev/null -s /sbin/nologin -D dovecot 2>/dev/null | 3 | adduser -u 90 -H -h /dev/null -s /sbin/nologin -D dovecot 2>/dev/null |
4 | adduser -H -h /dev/null -s /sbin/nologin -D dovenull 2>/dev/null | 4 | adduser -u 91 -H -h /dev/null -s /sbin/nologin -D dovenull 2>/dev/null |
5 | exit 0 | 5 | exit 0 |