mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 20:57:16 +08:00
83 lines
2.8 KiB
Bash
83 lines
2.8 KiB
Bash
# Maintainer: Michael Haesel <michael[DOT]haesel[at]gmail[dot]com>
|
|
|
|
pkgname=imap
|
|
pkgver=2007f
|
|
pkgrel=4
|
|
pkgdesc="An IMAP/POP server"
|
|
arch=('x86_64')
|
|
license=('APACHE')
|
|
url="http://www.washington.edu/imap"
|
|
depends=('openssl' 'pam')
|
|
provides=('imap-server' 'pop3-server')
|
|
conflicts=('courier-mta' 'courier-imap')
|
|
source=("ftp://ftp.cac.washington.edu/imap/${pkgname}-${pkgver}.tar.gz"
|
|
'imap' 'ipop2' 'ipop3')
|
|
backup=(etc/xinetd.d/{imap,ipop2,ipop3} etc/ssl/certs/{imapd,ipop3d}.pem)
|
|
sha256sums=('53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28'
|
|
'7a498e4b3fec785676fc545b7c59c7751884103b4c6993119d30ffda2416e613'
|
|
'cbfbdf787f3380647f9a865b3cd552748520ddbffff2a70652558af22cdfac02'
|
|
'5ca57c0928c742a2918338cc9cce6f63a18b39362128f1e509b6efa5c3158801')
|
|
|
|
build() {
|
|
# fix Makefile
|
|
sed \
|
|
-e "s:-g -fno-omit-frame-pointer -O6:\${CFLAGS}:" \
|
|
-e "s:SSLDIR=/usr/local/ssl:SSLDIR=/usr:" \
|
|
-e "s:SSLCERTS=\$(SSLDIR)/certs:SSLCERTS=/etc/ssl/certs:" \
|
|
-i "${srcdir}/${pkgname}-${pkgver}/src/osdep/unix/Makefile"
|
|
|
|
cd "${srcdir}/${pkgname}-${pkgver}"
|
|
# NOTE: if you wish to enforce SSL, use SSLTYPE=unix.nopwd
|
|
|
|
if [ "$CARCH" == "x86_64" ]; then
|
|
yes "y" | make lnp SPECIALAUTHENTICATORS=ssl SSLTYPE=unix EXTRACFLAGS="${CFLAGS} -fPIC" || return 1
|
|
else yes "y" | make lnp SPECIALAUTHENTICATORS=ssl SSLTYPE=unix || return 1
|
|
fi
|
|
|
|
# create ssl certs for secure imap
|
|
for i in imapd ipop3d; do
|
|
PEM1="${srcdir}/pem1"
|
|
PEM2="${srcdir}/pem2"
|
|
/usr/bin/openssl req -newkey rsa:1024 -keyout ${PEM1} \
|
|
-nodes -x509 -days 365 -out ${PEM2} << EOF
|
|
--
|
|
SomeState
|
|
SomeCity
|
|
SomeOrganization
|
|
SomeOrganizationalUnit
|
|
localhost.localdomain
|
|
root@localhost.localdomain
|
|
EOF
|
|
|
|
cat ${PEM1} > ${i}.pem
|
|
echo "" >> ${i}.pem
|
|
cat ${PEM2} >> ${i}.pem
|
|
rm ${PEM1} ${PEM2}
|
|
umask 022
|
|
done
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/${pkgname}-${pkgver}"
|
|
|
|
install -d "${pkgdir}/usr/sbin"
|
|
install -D -m0755 imapd/imapd "${pkgdir}/usr/sbin/imapd"
|
|
install -D -m0755 ipopd/ipop2d "${pkgdir}/usr/sbin/ipop2d"
|
|
install -D -m0755 ipopd/ipop3d "${pkgdir}/usr/sbin/ipop3d"
|
|
for i in c-client mail imap4r1 rfc822 linkage misc smtp nntp \
|
|
osdep env_unix env fs ftl nl tcp sslio utf8 utf8aux; do
|
|
install -D -m0644 c-client/${i}.h "${pkgdir}/usr/include/imap/${i}.h"
|
|
done
|
|
install -D -m0644 c-client/c-client.a "${pkgdir}/usr/lib/c-client.a"
|
|
ln -sf c-client.a "${pkgdir}/usr/lib/libc-client.a"
|
|
|
|
# install certs
|
|
install -D -m0600 imapd.pem "${pkgdir}/etc/ssl/certs/imapd.pem"
|
|
install -D -m0600 ipop3d.pem "${pkgdir}/etc/ssl/certs/ipop3d.pem"
|
|
|
|
# install xinetd.d configs
|
|
install -D -m0644 ../imap "${pkgdir}/etc/xinetd.d/imap"
|
|
install -D -m0644 ../ipop2 "${pkgdir}/etc/xinetd.d/ipop2"
|
|
install -D -m0644 ../ipop3 "${pkgdir}/etc/xinetd.d/ipop3"
|
|
}
|