Magellan Linux

Contents of /trunk/extras/dovecot/dovecot-1.2.10-r3.smage2

Parent Directory Parent Directory | Revision Log 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)
-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