version bump to courier-0.6...
Bernd Wurst authored 14 years ago
|
1) # Copyright 1999-2009 Gentoo Foundation
2) # Distributed under the terms of the GNU General Public License v2
|
courier ebuild sync mit por...
Hanno Böck authored 14 years ago
|
3) # $Header: /var/cvsroot/gentoo-x86/mail-mta/courier/courier-0.63.0.ebuild,v 1.1 2009/12/07 14:21:52 hanno Exp $
|
version bump to courier-0.6...
Bernd Wurst authored 14 years ago
|
4)
5) inherit eutils flag-o-matic
6)
7) DESCRIPTION="An MTA designed specifically for maildirs"
8) SRC_URI="mirror://sourceforge/courier/${P}.tar.bz2"
9) HOMEPAGE="http://www.courier-mta.org/"
10) SLOT="0"
11) LICENSE="GPL-2"
12) # not in keywords due to missing dependencies: ~arm ~s390 ~ppc64 ~mips
13) KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~sparc ~x86"
14) IUSE="postgres ldap mysql pam nls ipv6 spell fax crypt norewrite mailwrapper \
15) fam web webmail"
16)
17) PROVIDE="virtual/mta
18) virtual/mda
19) virtual/imapd"
20)
21) DEPEND="
22) >=net-libs/courier-authlib-0.61.0
23) >=dev-libs/openssl-0.9.6
24) >=sys-libs/gdbm-1.8.0
25) dev-libs/libpcre
26) app-misc/mime-types
27) fax? ( >=media-libs/netpbm-9.12 virtual/ghostscript >=net-dialup/mgetty-1.1.28 )
28) pam? ( virtual/pam )
29) mysql? ( virtual/mysql )
30) ldap? ( >=net-nds/openldap-1.2.11 )
31) postgres? ( virtual/postgresql-base )
32) spell? ( virtual/aspell-dict )
33) fam? ( virtual/fam )
34) !mailwrapper? ( !virtual/mta )
35) !virtual/imapd
36) !mail-filter/maildrop"
37)
38) RDEPEND="${DEPEND}
39) dev-lang/perl
40) sys-process/procps"
41)
42) PDEPEND="mailwrapper? ( >=net-mail/mailwrapper-0.2 )
43) pam? ( net-mail/mailbase )
44) crypt? ( >=app-crypt/gnupg-1.0.4 )"
45)
46) src_unpack() {
47) unpack ${A}
48) cd "${S}"
49) use norewrite && epatch "${FILESDIR}/norewrite.patch"
50) epatch "${FILESDIR}/shorter-tarpit.patch"
51) }
52)
53) src_compile() {
54) filter-flags '-fomit-frame-pointer'
55)
56) local myconf
|
courier ebuild sync mit por...
Hanno Böck authored 14 years ago
|
57) myconf=""
|
version bump to courier-0.6...
Bernd Wurst authored 14 years ago
|
58)
59) use ldap && myconf="${myconf} --with-ldapconfig=/etc/courier/maildropldap.conf"
60)
|
courier ebuild sync mit por...
Hanno Böck authored 14 years ago
|
61) econf ${myconf} \
62) $(use_with fam) \
63) $(use_with ipv6) \
64) $(use_with spell ispell) \
65) $(use_with ldap ldapaliasd) \
66) $(use_enable ldap maildroldap) \
67) --enable-mimetypes=/etc/mime.types \
|
version bump to courier-0.6...
Bernd Wurst authored 14 years ago
|
68) --prefix=/usr \
69) --disable-root-check \
70) --mandir=/usr/share/man \
71) --sysconfdir=/etc/courier \
72) --libexecdir=/usr/$(get_libdir)/courier \
73) --datadir=/usr/share/courier \
74) --sharedstatedir=/var/lib/courier/com \
75) --localstatedir=/var/lib/courier \
76) --with-piddir=/var/run/courier \
77) --with-authdaemonvar=/var/lib/courier/authdaemon \
78) --with-mailuser=mail \
79) --with-mailgroup=mail \
80) --with-paranoid-smtpext \
81) --with-db=gdbm \
82) --disable-autorenamesent \
83) --cache-file="${S}/configuring.cache" \
|
courier ebuild sync mit por...
Hanno Böck authored 14 years ago
|
84) --host="${CHOST}" debug=true || die "./configure"
|
version bump to courier-0.6...
Bernd Wurst authored 14 years ago
|
85) sed -e'/^install-perms-local:/a\ sed -e\"s|^|'"${D}"'|g\" -i permissions.dat' -i Makefile
86) emake || die "Compile problem"
87) }
88)
89) etc_courier() {
90) # Import existing /etc/courier/file if it exists.
91) # Add option only if it was not already set or even commented out
92) file="${1}" ; word="`echo \"${2}\" | sed -e\"s|=.*$||\" -e\"s|^.*opt ||\"`"
93) [ ! -e "${D}/etc/courier/${file}" ] && [ -e "/etc/courier/${file}" ] && \
94) cp "/etc/courier/${file}" "${D}/etc/courier/${file}"
95) grep -q "${word}" "${D}/etc/courier/${file}" || \
96) echo "${2}" >> "${D}/etc/courier/${file}"
97) }
98)
99) etc_courier_chg() {
100) file="${1}" ; key="${2}" ; value="${3}" ; section="${4}"
101) [ -z "${section}" ] && section="${2}"
102) grep -q "${key}" "${file}" && elog "Changing ${file}: ${key} to ${value}"
103) sed -i -e"/\#\#NAME: ${section}/,+30 s|${key}=.*|${key}=\"${value}\"|g" ${file}
104) }
105)
106) src_install() {
107) local f
108) diropts -o mail -g mail
109) keepdir /var/run/courier
110) keepdir /var/lib/courier/tmp
111) keepdir /var/lib/courier/msgs
112) make install DESTDIR="${D}" || die "install"
113) make install-configure || die "install-configure"
114)
115) # Get rid of files we dont want
116) if ! use webmail ; then
117) cd "${D}"
118) cat "${FILESDIR}/webmail_files" | xargs rm -rf
119) fi
120)
121) if ! use web ; then
122) cd "${D}"
123) cat "${FILESDIR}/webadmin_files" | xargs rm -rf
124) fi
125)
126) for dir2keep in $(cd "${D}" && find ./var/lib/courier -type d) ; do
127) keepdir "$dir2keep" || die "failed running keepdir: $dir2keep"
128) done
129)
130) newinitd "${FILESDIR}/courier-init-r2" "courier"
131) use fam || sed -i -e's|^.*use famd$||g' "${D}/etc/init.d/courier"
132)
133) cd "${D}/etc/courier"
134) if use webmail ; then
135) insinto /etc/courier
136) newins "${FILESDIR}/apache-sqwebmail.inc" apache-sqwebmail.inc
137) fi
138)
139) for f in *.dist ; do cp "${f}" "${f%%.dist}" ; done
140) if use ldap ; then
141) [ -e ldapaliasrc ] && ( chown root:0 ldapaliasrc ; chmod 400 ldapaliasrc )
142) else
143) rm -f ldapaliasrc
144) fi
145)
146) ( [ -e /etc/courier/sizelimit ] && cat /etc/courier/sizelimit || echo 0 ) \
147) > "${D}/etc/courier/sizelimit"
148) etc_courier maildroprc ""
149) etc_courier esmtproutes ""
150) etc_courier backuprelay ""
151) etc_courier locallowercase ""
152) etc_courier bofh "opt BOFHBADMIME=accept"
153) etc_courier bofh "opt BOFHSPFTRUSTME=1"
154) etc_courier bofh "opt BOFHSPFHELO=pass,neutral,unknown,none,error,softfail,fail"
155) etc_courier bofh "opt BOFHSPFHELO=pass,neutral,unknown,none"
156) etc_courier bofh "opt BOFHSPFFROM=all"
157) etc_courier bofh "opt BOFHSPFMAILFROM=all"
158) etc_courier bofh "#opt BOFHSPFHARDERROR=fail"
159) etc_courier esmtpd "BOFHBADMIME=accept"
160) etc_courier esmtpd-ssl "BOFHBADMIME=accept"
161) etc_courier esmtpd-msa "BOFHBADMIME=accept"
162)
163) use fam && etc_courier_chg imapd IMAP_CAPABILITY "IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
164) use fam || etc_courier_chg imapd IMAP_CAPABILITY "IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256"
165)
166) # Fix for a sandbox violation on subsequential merges
167) # - ticho@gentoo.org, 2005-07-10
168) rm "${D}"/usr/sbin/{pop3d,imapd}{,-ssl}
169) dosym /usr/share/courier/pop3d /usr/sbin/courier-pop3d
170) dosym /usr/share/courier/pop3d-ssl /usr/sbin/courier-pop3d-ssl
171) dosym /usr/share/courier/imapd /usr/sbin/courier-imapd
172) dosym /usr/share/courier/imapd-ssl /usr/sbin/courier-imapd-ssl
173)
174) cd "${S}"
175) cp imap/README README.imap
176) use nls && cp unicode/README README.unicode
177) dodoc AUTHORS BENCHMARKS COPYING* ChangeLog* INSTALL NEWS README* TODO courier/doc/*.txt
178) dodoc tcpd/README.couriertls
179) mv "${D}/usr/share/courier/htmldoc" "${D}/usr/share/doc/${P}/html"
180)
181) if use webmail ; then
182) insinto /usr/$(get_libdir)/courier/courier
183) insopts -m 755 -o mail -g mail
184) doins "${S}/courier/webmaild"
185) fi
186)
187) if use web ; then
188) insinto /etc/courier/webadmin
189) insopts -m 400 -o mail -g mail
190) doins "${FILESDIR}/password.dist"
191) fi
192)
193) # avoid name collisions in /usr/sbin, make webadmin match
194) cd "${D}/usr/sbin"
195) for f in imapd imapd-ssl pop3d pop3d-ssl ; do mv "${f}" "courier-${f}" ; done
196) if use web ; then
197) sed -i -e 's:\$sbindir\/imapd:\$sbindir\/courier-imapd:g' \
198) -e 's:\$sbindir\/imapd-ssl:\$sbindir\/courier-imapd-ssl:g' \
199) "${D}/usr/share/courier/courierwebadmin/admin-40imap.pl" \
200) || ewarn "failed to fix webadmin"
201) sed -i -e 's:\$sbindir\/pop3d:\$sbindir\/courier-pop3d:g' \
202) -e 's:\$sbindir\/pop3d-ssl:\$sbindir\/courier-pop3d-ssl:g' \
203) "${D}/usr/share/courier/courierwebadmin/admin-45pop3.pl" \
204) || ewarn "failed to fix webadmin"
205) fi
206)
207) # users should be able to send mail. Could be restricted with suictl.
208) chmod u+s "${D}/usr/bin/sendmail"
209)
210) if use mailwrapper ; then
211) mv "${D}/usr/bin/sendmail" "${D}/usr/bin/sendmail.courier"
212) mv "${D}/usr/bin/rmail" "${D}/usr/bin/rmail.courier"
213) mv "${D}/usr/bin/mailq" "${D}/usr/bin/mailq.courier"
214)
215) mv "${D}/usr/share/man/man1/sendmail.1" \
216) "${D}/usr/share/man/man1/sendmail-courier.1"
217) mv "${D}/usr/share/man/man1/mailq.1" \
218) "${D}/usr/share/man/man1/mailq-courier.1"
219) mv "${D}/usr/share/man/man1/rmail.1" \
220) "${D}/usr/share/man/man1/rmail-courier.1"
221)
222) insopts -m 444 -o mail -g mail
223) insinto /etc/mail
224) doins "${FILESDIR}/mailer.conf"
225) else
226) dosym /usr/bin/sendmail /usr/sbin/sendmail
227) fi
228) }
229)
230) src_test() {
|
courier ebuild sync mit por...
Hanno Böck authored 14 years ago
|
231) if [ `whoami` != 'root' ]; then
232) emake -j1 check || die "Make check failed."
|
version bump to courier-0.6...
Bernd Wurst authored 14 years ago
|
233) else
|
courier ebuild sync mit por...
Hanno Böck authored 14 years ago
|
234) einfo "make check skipped, can't run as root."
235) einfo "You can enable it with FEATURES=\"userpriv\""
|