blob: 5c06deb87e8c73be72201932c38790a3a36ad4a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-mail/courier-imap/courier-imap-1.6.1.ebuild,v 1.5 2003/03/11 21:11:46 seemant Exp $
DESCRIPTION="An IMAP daemon designed specifically for maildirs"
SRC_URI="http://twtelecom.dl.sourceforge.net/sourceforge/courier/${P}.tar.bz2"
HOMEPAGE="http://www.courier-mta.org/"
KEYWORDS="~x86 ~ppc ~sparc "
LICENSE="GPL-2"
SLOT="0"
IUSE="ipv6 gdbm tcltk ldap berkdb mysql pam"
PROVIDE="virtual/imapd"
RDEPEND="virtual/glibc
>=dev-libs/openssl-0.9.6
pam? ( >=sys-libs/pam-0.75 )
berkdb? ( >=sys-libs/db-3.2 )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
mysql? ( >=dev-db/mysql-3.23.36 )
ldap? ( >=net-nds/openldap-1.2.11 )
tcltk? ( >=dev-tcltk/expect-5.33.0 )"
DEPEND="${RDEPEND} dev-lang/perl sys-apps/procps"
# This package is complete if you just need basic IMAP functionality.
# Here are some things that still need fixing:
# o supervise support (of course)
# o tweaking of config files
# o We need to add an /etc/mail.conf.
src_compile() {
local myconf
use pam || myconf="${myconf} --without-authpam"
use ldap || myconf="${myconf} --without-authldap"
use mysql || myconf="${myconf} --without-authmysql"
use berkdb \
&& myconf="${myconf} --with-db=db" \
|| myconf="${myconf} --with-db=gdbm"
use ipv6 || myconf="${myconf} --without-ipv6"
if [ -f /var/vpopmail/etc/lib_deps ]; then
myconf="${myconf} --with-authvchkpw"
else
myconf="${myconf} --without-authvchkpw"
fi
myconf="${myconf} debug=true"
./configure \
--prefix=/usr \
--bindir=/usr/sbin \
--disable-root-check \
--mandir=/usr/share/man \
--sysconfdir=/etc/courier-imap \
--libexecdir=/usr/lib/courier-imap \
--localstatedir=/var/lib/courier-imap \
--enable-workarounds-for-imap-client-bugs \
--with-authdaemonvar=/var/lib/courier-imap/authdaemon \
--enable-unicode \
--host=${CHOST} ${myconf} || die "bad ./configure"
# change the pem file location..
cp imap/imapd-ssl.dist imap/imapd-ssl.dist.old
sed -e "s:^\(TLS_CERTFILE=\).*:\1/etc/courier-imap/imapd.pem:" \
imap/imapd-ssl.dist.old > imap/imapd-ssl.dist
cp imap/pop3d-ssl.dist imap/pop3d-ssl.dist.old
sed -e "s:^\(TLS_CERTFILE=\).*:\1/etc/courier-imap/pop3d.pem:" \
imap/pop3d-ssl.dist.old > imap/pop3d-ssl.dist
emake || die "compile problem"
}
src_install() {
dodir /var/lib/courier-imap /etc/pam.d
make install DESTDIR=${D} || die
# avoid name collisions in /usr/sbin wrt imapd and pop3d
cd ${D}/usr/sbin
for name in imapd pop3d
do
mv ${name} "courier-${name}"
done
# hack /usr/lib/courier-imap/foo.rc to use ${MAILDIR} instead of
# 'Maildir', and to use /usr/sbin/courier-foo names.
cd ${D}/usr/lib/courier-imap
local service
for service in imapd pop3d
do
local type
for type in "" "-ssl"
do
local file
file="${service}${type}.rc"
cp ${file} ${file}.orig
sed -e 's/Maildir/${MAILDIR}/' \
-e "s/\/usr\/sbin\/${service}/\/usr\/sbin\/courier-${service}/" \
${file}.orig > ${file}
done
done
cd ${D}/etc/courier-imap
local x
for x in pop3d pop3d-ssl imapd imapd-ssl authdaemonrc
do
mv ${x}.dist ${x}
done
insinto /etc/courier-imap
doins ${FILESDIR}/authdaemond.conf
# add a value for ${MAILDIR} to /etc/courier-imap/imapd
for service in imapd pop3d
do
echo -e '\n#Hardwire a value for ${MAILDIR}' >> ${service}
echo 'MAILDIR=.maildir' >> ${service}
done
cd ${D}/usr/sbin
for x in *
do
if [ -L ${x} ]
then
rm ${x}
fi
done
cd ../share
mv * ../sbin
mv ../sbin/man .
cd ..
rm -f ${D}/usr/sbin/mkimapdcert ${D}/usr/sbin/mkpop3dcert
exeinto /usr/sbin
doexe ${FILESDIR}/mkimapdcert ${FILESDIR}/mkpop3dcert
exeinto /etc/init.d
newexe ${FILESDIR}/authdaemond.rc6 authdaemond
newexe ${FILESDIR}/courier-imapd.rc6 courier-imapd
newexe ${FILESDIR}/courier-imapd-ssl.rc6 courier-imapd-ssl
newexe ${FILESDIR}/courier-pop3d.rc6 courier-pop3d
newexe ${FILESDIR}/courier-pop3d-ssl.rc6 courier-pop3d-ssl
exeinto /usr/lib/courier-imap
newexe ${FILESDIR}/gentoo-imapd-1.6.1.rc gentoo-imapd.rc
newexe ${FILESDIR}/gentoo-imapd-ssl-1.6.1.rc gentoo-imapd-ssl.rc
newexe ${FILESDIR}/gentoo-pop3d-1.6.1.rc gentoo-pop3d.rc
newexe ${FILESDIR}/gentoo-pop3d-ssl-1.6.1.rc gentoo-pop3d-ssl.rc
dodir /usr/bin
mv ${D}/usr/sbin/maildirmake ${D}/usr/bin/maildirmake
dodoc ${S}/imap/ChangeLog
}
pkg_postinst() {
# rebuild init deps to include deps on authdaemond
/etc/init.d/depscan.sh
echo
einfo "Courier-IMAP version 1.4.5-r1 and higher have new init scripts."
einfo "Please use courier-imapd instead of courier-imap."
einfo "This release also includes support for the included pop3 server."
einfo "If you choose not to switch your init files, you server will "
einfo "continue to function as it currently does."
echo
einfo "Make sure to change /etc/courier-imap/authdaemond.conf if"
einfo "you would like to use something other than the"
einfo "authdaemond.plain authenticator"
echo
}
|