Contents of /trunk/extras/dovecot/dovecot-1.2.10-r3.smage2
Parent Directory | Revision Log
Revision 5091 -
(show annotations)
(download)
Thu Mar 4 18:52:09 2010 UTC (14 years, 2 months ago) by niro
File size: 5826 byte(s)
Thu Mar 4 18:52:09 2010 UTC (14 years, 2 months ago) by niro
File size: 5826 byte(s)
-rev bump to -r3; fixed libexecdir, split_package support!, try to build without hardcoded ldap support (very experimental!)
1 | # $Id$ |
2 | |
3 | PNAME="dovecot" |
4 | PVER="1.2.10" |
5 | PBUILD="r3" |
6 | |
7 | PCATEGORIE="net-mail" |
8 | STATE="unstable" |
9 | |
10 | #DESCRIPTION="Dovecot is an IMAP and POP3 server written with security primarily in mind." |
11 | HOMEPAGE="http://dovecot.org/" |
12 | |
13 | SDEPEND=">= net-mail/mail-base-files-0.1 |
14 | >= sys-libs/pam-1.1 |
15 | >= sys-libs/libcap-2.17 |
16 | >= dev-libs/openssl-0.9.8k |
17 | >= net-nds/openldap-2.4 |
18 | >= dev-db/mysql5-5.1 |
19 | >= dev-db/sqlite-3.6 |
20 | >= dev-db/db-4.8" |
21 | |
22 | |
23 | SRCFILE="${PNAME}-${PVER}.tar.gz" |
24 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
25 | |
26 | # disable hardcorded ldap, to make ldap a split-package too |
27 | NO_HARDCODED_LDAP=yes |
28 | RC_CVS_REV=1.2 |
29 | |
30 | SPLIT_PACKAGES="${PNAME} ${PNAME}-mysql ${PNAME}-sqlite" |
31 | [[ ${NO_HARDCODED_LDAP} = yes ]] && SPLIT_PACKAGES+=" ${PNAME}-ldap" |
32 | |
33 | sminclude mtools cleanutils |
34 | |
35 | SRC_URI=( |
36 | http://dovecot.org/releases/${PVER%.*}/${SRCFILE} |
37 | mirror://${PNAME}/${SRCFILE} |
38 | mirror://${PNAME}/dovecot.rc-${RC_CVS_REV} |
39 | mirror://${PNAME}/${PNAME}-${PVER}-magellan-defaults.patch |
40 | mirror://${PNAME}/${PNAME}-${PVER}-magellan-defaults-maildir.patch |
41 | mirror://${PNAME}/${PNAME}-${PVER}-magellan-defaults-pam.patch |
42 | mirror://${PNAME}/${PNAME}-${PVER}-magellan-defaults-ipv4a6.patch |
43 | mirror://${PNAME}/${PNAME}-${PVER}-config-install.patch |
44 | ) |
45 | |
46 | UP2DATE="updatecmd ${HOMEPAGE}/download.html | grep -A3 'Stable' | grep 'Download' | sed 's:.*v\(.*\)\ sources.*:\1:'" |
47 | |
48 | split_info_dovecot() |
49 | { |
50 | DESCRIPTION="Dovecot is an IMAP and POP3 server written with security primarily in mind." |
51 | DEPEND=">= net-mail/mail-base-files-0.1 |
52 | >= sys-libs/pam-1.1 |
53 | >= sys-libs/libcap-2.17 |
54 | >= dev-libs/openssl-0.9.8k |
55 | >= dev-db/db-4.8" |
56 | |
57 | if [[ ${NO_HARDCODED_LDAP} != yes ]] |
58 | then |
59 | DEPEND="${DEPEND} |
60 | >= net-nds/openldap-2.4" |
61 | fi |
62 | |
63 | preinstall() |
64 | { |
65 | # adding proftpd user |
66 | ${MLIBDIR}/mgroupadd -o "-g 97" dovecot |
67 | ${MLIBDIR}/museradd -o "-u 97 -g dovecot -d /dev/null -s /bin/false" dovecot |
68 | } |
69 | |
70 | postinstall() |
71 | { |
72 | # generate a self-signed ssl-cert |
73 | if [[ ! -f /etc/ssl/certs/dovecot.pem ]] |
74 | then |
75 | echo |
76 | echo "You need to generate a certificate to run this daemon." |
77 | echo "Just run: 'openssl-make-certs dovecot'." |
78 | echo |
79 | fi |
80 | |
81 | mstartservice dovecot |
82 | } |
83 | |
84 | postremove() |
85 | { |
86 | mstopservice dovecot |
87 | } |
88 | } |
89 | |
90 | split_info_dovecot-mysql() |
91 | { |
92 | DESCRIPTION="Plugin to add MySQL support to the Dovecot Mail server." |
93 | DEPEND="== net-mail/dovecot-${PVER} |
94 | >= dev-db/mysql5-5.1" |
95 | } |
96 | |
97 | split_info_dovecot-sqlite() |
98 | { |
99 | DESCRIPTION="Plugin to add SQLite support to the Dovecot Mail server." |
100 | DEPEND="== net-mail/dovecot-${PVER} |
101 | >= dev-db/sqlite-3.6" |
102 | } |
103 | |
104 | if [[ ${NO_HARDCODED_LDAP} = yes ]] |
105 | then |
106 | split_info_dovecot-ldap() |
107 | { |
108 | DESCRIPTION="Plugin to add LDAP support to the Dovecot Mail server." |
109 | DEPEND="== net-mail/dovecot-${PVER} |
110 | >= net-nds/openldap-2.4" |
111 | } |
112 | fi |
113 | |
114 | src_prepare() |
115 | { |
116 | munpack ${SRCFILE} || die |
117 | cd ${SRCDIR} |
118 | |
119 | # apply our default settings |
120 | mpatch ${PNAME}-${PVER}-magellan-defaults.patch || die |
121 | |
122 | # enable maildir as default |
123 | mpatch ${PNAME}-${PVER}-magellan-defaults-maildir.patch || die |
124 | |
125 | # we're using pam files (imap and pop3) provided by mailbase |
126 | mpatch ${PNAME}-${PVER}-magellan-defaults-pam.patch || die |
127 | |
128 | # use ipv4 and ipv6 support |
129 | mpatch ${PNAME}-${PVER}-magellan-defaults-ipv4a6.patch || die |
130 | |
131 | # install only devcot.conf and not any examples to /etc/dovecot |
132 | mpatch ${PNAME}-${PVER}-config-install.patch || die |
133 | } |
134 | |
135 | src_compile() |
136 | { |
137 | cd ${SRCDIR} |
138 | |
139 | mconfigure \ |
140 | --sysconfdir=/etc/dovecot \ |
141 | --libexecdir=/usr/$(mlibdir)/dovecot \ |
142 | --with-moduledir=/usr/$(mlibdir)/dovecot \ |
143 | --localstatedir=/var \ |
144 | --enable-header-install \ |
145 | --enable-ipv6 \ |
146 | --disable-debug \ |
147 | --disable-static \ |
148 | --with-ioloop=best \ |
149 | --with-poll=best \ |
150 | --with-libcap \ |
151 | --with-ssl=openssl \ |
152 | --with-ssldir=/etc/ssl \ |
153 | --with-ldap=plugin \ |
154 | --with-sql=plugin \ |
155 | --with-sql-drivers \ |
156 | --with-mysql \ |
157 | --with-sqlite \ |
158 | --with-db \ |
159 | --with-pam \ |
160 | || die |
161 | |
162 | # build dovecot normally |
163 | mmake || die |
164 | |
165 | if [[ ${NO_HARDCODED_LDAP} = yes ]] |
166 | then |
167 | # save all ldap plugins linked against -lldap |
168 | cp src/auth/.libs/libauthdb_ldap.so libauthdb_ldap.so.no-ldap || die |
169 | |
170 | # then rebuild dovecot without hardcoded ldap |
171 | make clean || die |
172 | mmake LIBS='-lrt' LDAP_LIBS='' || die |
173 | fi |
174 | } |
175 | |
176 | src_install_dovecot() |
177 | { |
178 | cd ${SRCDIR} |
179 | mmake DESTDIR=${BINDIR} install || die |
180 | |
181 | # install our initscript |
182 | minstallrc dovecot.rc-${RC_CVS_REV} dovecot || die |
183 | |
184 | # remove unwanted docs |
185 | rm -rf ${BINDIR}/usr/share/doc/dovecot || die |
186 | |
187 | # needed directories |
188 | mkeepdir /var/run/dovecot/login || die |
189 | mchmod 0700 /var/run/dovecot/login || die |
190 | |
191 | minstalldocs AUTHORS ChangeLog COPYING* NEWS README TODO || die |
192 | minstalldocs dovecot-example.conf || die |
193 | minstalldocs docs/dovecot-db-example.conf || die |
194 | minstalldocs docs/dovecot-sql-example.conf || die |
195 | minstalldocs docs/dovecot-ldap-example.conf || die |
196 | } |
197 | |
198 | src_install_dovecot-mysql() |
199 | { |
200 | cd ${SRCDIR} |
201 | mmake DESTDIR=${BINDIR} install || die |
202 | |
203 | # first keep the whole modulesdir |
204 | zapmost ${BINDIR} usr/$(mlibdir)/dovecot || die |
205 | # now seperate all modules |
206 | zapmost ${BINDIR}/usr/$(mlibdir)/dovecot auth/libdriver_mysql.* dict/libdriver_mysql.* sql/libdriver_mysql.* || die |
207 | } |
208 | |
209 | src_install_dovecot-sqlite() |
210 | { |
211 | cd ${SRCDIR} |
212 | mmake DESTDIR=${BINDIR} install || die |
213 | |
214 | # first keep the whole modulesdir |
215 | zapmost ${BINDIR} usr/$(mlibdir)/dovecot || die |
216 | # now seperate all modules |
217 | zapmost ${BINDIR}/usr/$(mlibdir)/dovecot auth/libdriver_sqlite.* dict/libdriver_sqlite.* sql/libdriver_sqlite.* || die |
218 | } |
219 | |
220 | if [[ ${NO_HARDCODED_LDAP} = yes ]] |
221 | then |
222 | src_install_dovecot-ldap() |
223 | { |
224 | cd ${SRCDIR} |
225 | mmake DESTDIR=${BINDIR} install || die |
226 | |
227 | # first keep the whole modulesdir |
228 | zapmost ${BINDIR} usr/$(mlibdir)/dovecot || die |
229 | # now seperate all modules |
230 | zapmost ${BINDIR}/usr/$(mlibdir)/dovecot auth/libauthdb_ldap.* || die |
231 | |
232 | # install saved ldap plugins linked against -lldap |
233 | minstallexec libauthdb_ldap.so.no-ldap /usr/$(mlibdir)/dovecot/auth/libauthdb_ldap.so || die |
234 | } |
235 | fi |
Properties
Name | Value |
---|---|
svn:keywords | Id |