diff options
author | obache <obache@pkgsrc.org> | 2010-02-11 08:27:09 +0000 |
---|---|---|
committer | obache <obache@pkgsrc.org> | 2010-02-11 08:27:09 +0000 |
commit | d38d71baafc591b82799599a0c8b8c7c5e8b25ad (patch) | |
tree | 6e2c87e260567e2dfe3bdd8748bbf7e95e86bb82 /mail/cyrus-imapd23 | |
parent | c797597e6aa7d219aecced56574b27b75db3b973 (diff) | |
download | pkgsrc-d38d71baafc591b82799599a0c8b8c7c5e8b25ad.tar.gz |
Import cyrus-imapd-2.3.16 as mail/cyrus-imapd23.
IMAP (Internet Message Access Protocol) is an Internet standards-track
protocol for accessing messages (mail, bboards, news, etc). The Cyrus
IMAP server differs from other IMAP server implementations in that it
is generally intended to be run on "sealed" servers, where normal users
are not permitted to log in. The mailbox database is stored in parts of
the filesystem that are private to the Cyrus IMAP system. All user
access to mail is through the IMAP, POP3, or KPOP protocols.
Diffstat (limited to 'mail/cyrus-imapd23')
24 files changed, 883 insertions, 0 deletions
diff --git a/mail/cyrus-imapd23/DEINSTALL b/mail/cyrus-imapd23/DEINSTALL new file mode 100644 index 00000000000..1cc436e409a --- /dev/null +++ b/mail/cyrus-imapd23/DEINSTALL @@ -0,0 +1,38 @@ +# $NetBSD: DEINSTALL,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +IMAPDCONF=@IMAPDCONF@ + +case ${STAGE} in +DEINSTALL) + if [ -f ${IMAPDCONF} ]; then + IMAPDIRS=` + ${AWK} '/configdirectory:/ { print $2 }; \ + /partition-.*:/ { print $2 }; \ + /sievedir:/ { print $2 }' \ + ${IMAPDCONF} | ${SORT} -ur` + _IMAPDIRS= + for dir in ${IMAPDIRS}; do + ${RMDIR} -p ${dir} 2>/dev/null || ${TRUE} + if [ -d ${dir} ]; then + _IMAPDIRS="${_IMAPDIRS} ${dir}" + fi + done + if [ -n "${_IMAPDIRS}" ]; then + ${CAT} << EOF +=========================================================================== +If you won't be using ${PKGNAME} any longer, you may want to remove +the following directories: + +EOF + for dir in ${_IMAPDIRS}; do + if [ -d "${dir}" ]; then + ${ECHO} " ${dir}" + fi + done + ${CAT} << EOF +=========================================================================== +EOF + fi + fi + ;; +esac diff --git a/mail/cyrus-imapd23/DESCR b/mail/cyrus-imapd23/DESCR new file mode 100644 index 00000000000..e742d558a95 --- /dev/null +++ b/mail/cyrus-imapd23/DESCR @@ -0,0 +1,7 @@ +IMAP (Internet Message Access Protocol) is an Internet standards-track +protocol for accessing messages (mail, bboards, news, etc). The Cyrus +IMAP server differs from other IMAP server implementations in that it +is generally intended to be run on "sealed" servers, where normal users +are not permitted to log in. The mailbox database is stored in parts of +the filesystem that are private to the Cyrus IMAP system. All user +access to mail is through the IMAP, POP3, or KPOP protocols. diff --git a/mail/cyrus-imapd23/MESSAGE b/mail/cyrus-imapd23/MESSAGE new file mode 100644 index 00000000000..aadfe6131a0 --- /dev/null +++ b/mail/cyrus-imapd23/MESSAGE @@ -0,0 +1,17 @@ +=========================================================================== +$NetBSD: MESSAGE,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +Please refer to: + + ${PREFIX}/share/doc/html/cyrus-imapd/install.html + +for more detailed instructions on setting up the environment before +starting the Cyrus IMAP server. In particular, several services may +need to be added to /etc/services. + +Anyone upgrading from an earlier version of the Cyrus IMAP server should +read: + + ${PREFIX}/share/doc/html/cyrus-imapd/install-upgrade.html + +=========================================================================== diff --git a/mail/cyrus-imapd23/Makefile b/mail/cyrus-imapd23/Makefile new file mode 100644 index 00000000000..397c55f9a04 --- /dev/null +++ b/mail/cyrus-imapd23/Makefile @@ -0,0 +1,148 @@ +# $NetBSD: Makefile,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +DISTNAME= cyrus-imapd-2.3.16 +CATEGORIES= mail +MASTER_SITES= ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ \ + ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/OLD-VERSIONS/imap/ \ + http://www.t.ring.gr.jp/archives/net/mail/cyrus-mail/ \ + ftp://ftp.t.ring.gr.jp/pub/net/mail/cyrus-mail/ + +MAINTAINER= obache@NetBSD.org +HOMEPAGE= http://cyrusimap.web.cmu.edu/imapd/ +COMMENT= Cyrus IMAP server + +PKG_DESTDIR_SUPPORT= user-destdir + +USE_TOOLS+= perl +USE_PKGLOCALEDIR= yes +GNU_CONFIGURE= yes +PERL5_CONFIGURE= no + +BUILD_DEFS+= VARBASE + +CHECK_PORTABILITY_SKIP= configure.lineno + +.include "../../mk/bsd.prefs.mk" + +# CYRUS_USER username of the Cyrus administrator +# CYRUS_GROUP group of the Cyrus administrator +# +CYRUS_USER?= cyrus +CYRUS_GROUP?= mail + +BUILD_DEFS+= CYRUS_USER CYRUS_GROUP +FILES_SUBST+= CYRUS_USER=${CYRUS_USER} +FILES_SUBST+= CYRUS_GROUP=${CYRUS_GROUP} + +CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} +CONFIGURE_ARGS+= --with-cyrus-user=${CYRUS_USER} +CONFIGURE_ARGS+= --with-cyrus-group=${CYRUS_GROUP} +CONFIGURE_ARGS+= --with-cyrus-prefix=${PREFIX}/cyrus +CONFIGURE_ARGS+= --with-pidfile=${VARBASE}/run/cyrus-master.pid +CONFIGURE_ARGS+= --with-openssl=${SSLBASE:Q} +CONFIGURE_ARGS+= --with-sasl=${BUILDLINK_PREFIX.cyrus-sasl} +CONFIGURE_ARGS+= --with-perl=${PERL5:Q} +CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers} +CONFIGURE_ENV+= ac_cv_lib_wrap_request_init=yes + +CONFIGURE_ARGS+= --enable-idled +CONFIGURE_ARGS+= --enable-listext +CONFIGURE_ARGS+= --enable-murder +CONFIGURE_ARGS+= --enable-nntp +CONFIGURE_ARGS+= --enable-replication + +.include "options.mk" + +.if exists(/usr/bin/compile_et) +COMERRBASE?= /usr +.endif +.if defined(COMERRBASE) +. if exists(${COMERRBASE}/include/krb5/com_err.h) +CPPFLAGS+= -I${COMERRBASE}/include/krb5 +. endif +CONFIGURE_ENV+= COMPILE_ET=${COMERRBASE}/bin/compile_et +.else +CONFIGURE_ARGS+= --with-com-err=yes +.endif + +MAKE_ENV+= PERL=${PERL5:Q} + +HTMLDIR= ${PREFIX}/share/doc/cyrus-imapd +EGDIR= ${PREFIX}/share/examples/cyrus-imapd +CONF_FILES= ${EGDIR}/imapd.conf ${PKG_SYSCONFDIR}/imapd.conf +CONF_FILES+= ${EGDIR}/normal.conf ${PKG_SYSCONFDIR}/cyrus.conf +RCD_SCRIPTS= cyrus +FILES_SUBST+= IMAPDCONF=${PKG_SYSCONFDIR}/imapd.conf + +PERL5_PACKLIST= \ + auto/Cyrus/IMAP/.packlist \ + auto/Cyrus/SIEVE/managesieve/.packlist + +.include "../../lang/perl5/module.mk" +BUILDLINK_API_DEPENDS.cyrus-sasl+= cyrus-sasl>=2.1.17 +.include "../../security/cyrus-sasl/buildlink3.mk" +.include "../../security/openssl/buildlink3.mk" + +# NetBSD's libssl is built without bn/bn_const.c (PR#37505) +.if !empty(MACHINE_PLATFORM:MNetBSD-4.*-*) +#. if !empty(USE_BUILTIN.openssl:M[yY][eE][sS]) +CFLAGS+= -DOPENSSL_LACK_BN_CONST +#. endif +.endif + +.include "../../security/tcp_wrappers/buildlink3.mk" +.include "../../mk/bdb.buildlink3.mk" + +# Only imap/mupdate needs to be build with pthreads support, so selectively +# enable it via patches for just that one program. +# +.include "../../mk/pthread.buildlink3.mk" + +# Change references of some manpages from foo.8 to cyrus-foo.8 to avoid +# manpage conflicts with other packages. Also change references to +# "/etc/{cyrus,imapd}.conf" into "${PKG_SYSCONFDIR}/{cyrus,imapd}.conf". +# +post-patch: + cd ${WRKSRC}/man; \ + set -- deliver 8 fetchnews 8 idled 8 imapd 8 lmtpd 8 master 8 \ + nntpd 8 notifyd 8 pop3d 8 quota 8; \ + while [ $$# -gt 0 ]; do \ + man=$$1.$$2; \ + for file in Makefile.in *.[0-9]; do \ + sed -e "s|\(\$$(srcdir)/\)\($$man\)|\1cyrus-\2|g" \ + -e "s|\(\\\fB\)\($$1($$2)\\\fR\)|\1cyrus-\2|g" \ + $$file > $$file.fixed; \ + mv -f $$file.fixed $$file; \ + done; \ + if [ -f $$man ]; then \ + mv $$man cyrus-$$man; \ + fi; \ + shift 2; \ + done + find ${WRKSRC} -type f -print | \ + xargs -n 1 ${GREP} -l -e /etc/imapd\.conf -e /etc/cyrus\.conf | \ + while read file; do \ + sed -e "s|/etc/\(cyrus\.conf\)|${PKG_SYSCONFDIR}/\1|g" \ + -e "s|/etc/\(imapd\.conf\)|${PKG_SYSCONFDIR}/\1|g" \ + $${file} > $${file}.fixed; \ + mv -f $${file}.fixed $${file}; \ + done + +post-install: + ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec ${DESTDIR}${PREFIX}/cyrus/bin + ${INSTALL_SCRIPT} ${WRKSRC}/tools/migrate-metadata ${DESTDIR}${PREFIX}/cyrus/bin + ${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap ${DESTDIR}${PREFIX}/cyrus/bin + ${INSTALL_SCRIPT} ${WRKSRC}/tools/mknewsgroups ${DESTDIR}${PREFIX}/cyrus/bin + ${INSTALL_SCRIPT} ${WRKSRC}/tools/translatesieve ${DESTDIR}${PREFIX}/cyrus/bin + ${INSTALL_SCRIPT} ${WRKSRC}/tools/rehash ${DESTDIR}${PREFIX}/cyrus/bin + ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR} + ${INSTALL_DATA} ${FILESDIR}/imapd.conf ${DESTDIR}${EGDIR} + cd ${WRKSRC}/master/conf; for file in *.conf; do \ + ${INSTALL_DATA} $${file} ${DESTDIR}${EGDIR}; \ + done + ${INSTALL_DATA_DIR} ${DESTDIR}${HTMLDIR} + cd ${WRKSRC}/doc; for file in *.html cyrusv2.mc; do \ + ${INSTALL_DATA} $${file} ${DESTDIR}${HTMLDIR}; \ + done + +.include "../../mk/bsd.pkg.mk" diff --git a/mail/cyrus-imapd23/PLIST b/mail/cyrus-imapd23/PLIST new file mode 100644 index 00000000000..33243c45feb --- /dev/null +++ b/mail/cyrus-imapd23/PLIST @@ -0,0 +1,190 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ +bin/imtest +bin/installsieve +bin/lmtptest +bin/mupdatetest +bin/nntptest +bin/pop3test +bin/sieveshell +bin/sivtest +bin/smtptest +bin/synctest +cyrus/bin/arbitron +cyrus/bin/chk_cyrus +cyrus/bin/ctl_cyrusdb +cyrus/bin/ctl_deliver +cyrus/bin/ctl_mboxlist +cyrus/bin/cvt_cyrusdb +cyrus/bin/cyr_dbtool +cyrus/bin/cyr_df +cyrus/bin/cyr_expire +cyrus/bin/cyr_synclog +cyrus/bin/cyrdump +cyrus/bin/deliver +cyrus/bin/fetchnews +cyrus/bin/fud +cyrus/bin/idled +cyrus/bin/imapd +cyrus/bin/ipurge +cyrus/bin/lmtpd +cyrus/bin/lmtpproxyd +cyrus/bin/make_md5 +cyrus/bin/make_sha1 +cyrus/bin/masssievec +cyrus/bin/master +cyrus/bin/mbexamine +cyrus/bin/mbpath +cyrus/bin/migrate-metadata +cyrus/bin/mkimap +cyrus/bin/mknewsgroups +cyrus/bin/mupdate +cyrus/bin/nntpd +cyrus/bin/notifyd +cyrus/bin/pop3d +cyrus/bin/pop3proxyd +cyrus/bin/proxyd +${PLIST.ldap}cyrus/bin/ptdump +${PLIST.ldap}cyrus/bin/ptexpire +${PLIST.ldap}cyrus/bin/ptloader +cyrus/bin/quota +cyrus/bin/reconstruct +cyrus/bin/rehash +cyrus/bin/sievec +cyrus/bin/sieved +cyrus/bin/smmapd +cyrus/bin/squatter +cyrus/bin/sync_client +cyrus/bin/sync_reset +cyrus/bin/sync_server +cyrus/bin/timsieved +cyrus/bin/tls_prune +cyrus/bin/translatesieve +cyrus/bin/unexpunge +include/cyrus/acl.h +include/cyrus/assert.h +include/cyrus/auth.h +include/cyrus/bsearch.h +include/cyrus/byteorder64.h +include/cyrus/charset.h +include/cyrus/cyrusdb.h +include/cyrus/glob.h +include/cyrus/gmtoff.h +include/cyrus/hash.h +include/cyrus/hmac-md5.h +include/cyrus/imapopts.h +include/cyrus/imapurl.h +include/cyrus/imclient.h +include/cyrus/imparse.h +include/cyrus/iptostring.h +include/cyrus/libconfig.h +include/cyrus/libcyr_cfg.h +include/cyrus/lock.h +include/cyrus/lsort.h +include/cyrus/map.h +include/cyrus/md5.h +include/cyrus/mkgmtime.h +include/cyrus/mpool.h +include/cyrus/nonblock.h +include/cyrus/parseaddr.h +include/cyrus/prot.h +include/cyrus/retry.h +include/cyrus/rfc822date.h +include/cyrus/strhash.h +include/cyrus/stristr.h +include/cyrus/sysexits.h +include/cyrus/util.h +include/cyrus/xmalloc.h +include/cyrus/xstrlcat.h +include/cyrus/xstrlcpy.h +lib/libcyrus.a +lib/libcyrus_min.a +man/man1/imtest.1 +man/man1/installsieve.1 +man/man1/lmtptest.1 +man/man1/mupdatetest.1 +man/man1/nntptest.1 +man/man1/pop3test.1 +man/man1/sieveshell.1 +man/man1/sivtest.1 +man/man1/smtptest.1 +man/man3/imclient.3 +man/man5/cyrus.conf.5 +man/man5/imapd.conf.5 +man/man5/krb.equiv.5 +man/man8/arbitron.8 +man/man8/chk_cyrus.8 +man/man8/ctl_cyrusdb.8 +man/man8/ctl_deliver.8 +man/man8/ctl_mboxlist.8 +man/man8/cvt_cyrusdb.8 +man/man8/cyr_dbtool.8 +man/man8/cyr_df.8 +man/man8/cyr_expire.8 +man/man8/cyr_synclog.8 +man/man8/cyrus-deliver.8 +man/man8/cyrus-fetchnews.8 +man/man8/cyrus-idled.8 +man/man8/cyrus-imapd.8 +man/man8/cyrus-lmtpd.8 +man/man8/cyrus-master.8 +man/man8/cyrus-nntpd.8 +man/man8/cyrus-notifyd.8 +man/man8/cyrus-pop3d.8 +man/man8/cyrus-quota.8 +man/man8/fud.8 +man/man8/ipurge.8 +man/man8/make_md5.8 +man/man8/make_sha1.8 +man/man8/mbexamine.8 +man/man8/mbpath.8 +man/man8/reconstruct.8 +man/man8/rmnews.8 +man/man8/smmapd.8 +man/man8/squatter.8 +man/man8/sync_client.8 +man/man8/sync_reset.8 +man/man8/sync_server.8 +man/man8/syncnews.8 +man/man8/timsieved.8 +man/man8/tls_prune.8 +man/man8/unexpunge.8 +share/doc/cyrus-imapd/altnamespace.html +share/doc/cyrus-imapd/anoncvs.html +share/doc/cyrus-imapd/bugs.html +share/doc/cyrus-imapd/changes.html +share/doc/cyrus-imapd/cyrusv2.mc +share/doc/cyrus-imapd/faq.html +share/doc/cyrus-imapd/feedback.html +share/doc/cyrus-imapd/index.html +share/doc/cyrus-imapd/install-admin-mb.html +share/doc/cyrus-imapd/install-auth.html +share/doc/cyrus-imapd/install-compile.html +share/doc/cyrus-imapd/install-configure.html +share/doc/cyrus-imapd/install-murder.html +share/doc/cyrus-imapd/install-netnews.html +share/doc/cyrus-imapd/install-perf.html +share/doc/cyrus-imapd/install-prereq.html +share/doc/cyrus-imapd/install-replication.html +share/doc/cyrus-imapd/install-sieve.html +share/doc/cyrus-imapd/install-snmpmon.html +share/doc/cyrus-imapd/install-testing.html +share/doc/cyrus-imapd/install-upgrade.html +share/doc/cyrus-imapd/install-virtdomains.html +share/doc/cyrus-imapd/install.html +share/doc/cyrus-imapd/mailing-list.html +share/doc/cyrus-imapd/man.html +share/doc/cyrus-imapd/notes.html +share/doc/cyrus-imapd/os.html +share/doc/cyrus-imapd/overview.html +share/doc/cyrus-imapd/questions.html +share/doc/cyrus-imapd/readme.html +share/doc/cyrus-imapd/sieve-protocol.html +share/doc/cyrus-imapd/sieve.html +share/doc/cyrus-imapd/specs.html +share/examples/cyrus-imapd/cmu-backend.conf +share/examples/cyrus-imapd/cmu-frontend.conf +share/examples/cyrus-imapd/imapd.conf +share/examples/cyrus-imapd/normal.conf +share/examples/cyrus-imapd/prefork.conf +share/examples/cyrus-imapd/small.conf +share/examples/rc.d/cyrus diff --git a/mail/cyrus-imapd23/distinfo b/mail/cyrus-imapd23/distinfo new file mode 100644 index 00000000000..2580752a921 --- /dev/null +++ b/mail/cyrus-imapd23/distinfo @@ -0,0 +1,20 @@ +$NetBSD: distinfo,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +SHA1 (cyrus-imapd-2.3.16.tar.gz) = decc87045bfedb449d0af3512aa228090e558036 +RMD160 (cyrus-imapd-2.3.16.tar.gz) = fa9d1462a7d7e839da9a11f52cddfd2ab854f2be +Size (cyrus-imapd-2.3.16.tar.gz) = 2359349 bytes +SHA1 (patch-aa) = 38605d33284292bc3a3a1665bce1e63203b407f4 +SHA1 (patch-ab) = 6dee8c0b449f77b576e319cf78dc430f9a4e371a +SHA1 (patch-ac) = 28143b2306866ec8fb6357f7fa70f1c8baaa4c2d +SHA1 (patch-ad) = b9a68c7a1ab9b36e1c9bfa6d06dbc4f13bb2c99a +SHA1 (patch-ae) = f72486e0e3cf941eabbe6da31b107e8aabecb112 +SHA1 (patch-af) = f007c8d861e003f75260f0544a24ef71f8062494 +SHA1 (patch-ag) = dd38d0c6aa45736ef142cdb4ad95f11e4c23cb03 +SHA1 (patch-ah) = 6daa97e516a5db87579dabd11a7a6f9b83366e27 +SHA1 (patch-ai) = 6cc1c87972cb0fa4b170e76869817b1de1ff7aa6 +SHA1 (patch-aj) = a2d3aba6b2bf4383740f0b1bd48cb6d4027a6d70 +SHA1 (patch-ak) = de75847f1ace85591109096fb3a33d78763cd479 +SHA1 (patch-al) = 70b17f045298492978e3756d4a211f35e90b9bb9 +SHA1 (patch-am) = d06b62f9ea153560d84ec013861839071e4ab700 +SHA1 (patch-an) = b3ac809f2807a1766197958e807eb99cb42847f0 +SHA1 (patch-ao) = 784363a1802cbaf08e62bbbd2020fe592be0a126 diff --git a/mail/cyrus-imapd23/files/cyrus.sh b/mail/cyrus-imapd23/files/cyrus.sh new file mode 100644 index 00000000000..e9bbb206d6e --- /dev/null +++ b/mail/cyrus-imapd23/files/cyrus.sh @@ -0,0 +1,78 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: cyrus.sh,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ +# +# PROVIDE: cyrus +# REQUIRE: DAEMON +# BEFORE: mail +# +# To start cyrus-imapd at startup, copy this script to /etc/rc.d and set +# cyrus=YES in /etc/rc.conf. + +if [ -f /etc/rc.subr ]; then + . /etc/rc.subr +fi + +rcd_dir=`@DIRNAME@ $0` + +name="cyrus" +rcvar=$name +command="@PREFIX@/cyrus/bin/master" +command_args="-d" +pidfile="@VARBASE@/run/cyrus-master.pid" +required_files="@PKG_SYSCONFDIR@/cyrus.conf @IMAPDCONF@" +extra_commands="mkimap reload" + +mkimap_cmd="cyrus_mkimap" +start_precmd="cyrus_prestart" + +cyrus_prestart() +{ + # Check to see if "configdirectory" is present before we start + # the Cyrus IMAP server. Otherwise, we run mkimap to generate + # the necessary directories. + # + if [ -f @IMAPDCONF@ ]; then + configdir=` \ + @AWK@ '/^configdirectory:/ { print $2; exit };' \ + @IMAPDCONF@ \ + ` + if [ -z "$configdir" ]; then + @ECHO@ "@IMAPDCONF@ missing 'configdirectory' setting" + exit 1 + fi + if [ ! -d "$configdir" ]; then + $rcd_dir/cyrus mkimap + fi + fi +} + +cyrus_mkimap() +{ + # Generate the prerequisite directory structure for Cyrus IMAP. + if [ -f @IMAPDCONF@ ]; then + @AWK@ '/^configdirectory:/ { print $2 }; \ + /^partition-.*:/ { print $2 }; \ + /^sievedir:/ { print $2 }' \ + @IMAPDCONF@ | \ + while read dir; do + if [ ! -d "$dir" ]; then + @MKDIR@ "$dir" + @CHMOD@ 750 "$dir" + @CHOWN@ @CYRUS_USER@ "$dir" + @CHGRP@ @CYRUS_GROUP@ "$dir" + fi + done + @SU@ -m @CYRUS_USER@ -c "@PREFIX@/cyrus/bin/mkimap" + fi +} + +if [ -f /etc/rc.subr -a -f /etc/rc.conf \ + -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then + load_rc_config $name + run_rc_command "$1" +else + @ECHO@ -n " ${name}" + eval ${start_precmd} + ${command} ${cyrus_flags} ${command_args} +fi diff --git a/mail/cyrus-imapd23/files/imapd.conf b/mail/cyrus-imapd23/files/imapd.conf new file mode 100644 index 00000000000..80d473a3be0 --- /dev/null +++ b/mail/cyrus-imapd23/files/imapd.conf @@ -0,0 +1,25 @@ +# $NetBSD: imapd.conf,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ +# +# Cyrus IMAP server configuration file. Refer to imapd.conf(5) for +# more options. + +configdirectory: /var/imap +partition-default: /var/spool/imap +sieveusehomedir: false +sievedir: /var/sieve +hashimapspool: false + +admins: cyrus + +# If use the saslauthd daemon to verify plaintext passwords, please ensure that +# the saslauthd daemon is running before trying to authenticate. +# +#sasl_pwcheck_method: saslauthd +sasl_pwcheck_method: auxprop + +# The server certificate and key files must be specified for the +# server to repond to IMAPS or POP3S requests. See imapd.conf(5) for +# a complete listing of tls_* options. +# +#tls_cert_file: /var/imap/server.pem +#tls_key_file: /var/imap/server.pem diff --git a/mail/cyrus-imapd23/options.mk b/mail/cyrus-imapd23/options.mk new file mode 100644 index 00000000000..e98b02e8da3 --- /dev/null +++ b/mail/cyrus-imapd23/options.mk @@ -0,0 +1,89 @@ +# $NetBSD: options.mk,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ +# + +PKG_OPTIONS_VAR= PKG_OPTIONS.cyrus-imapd +PKG_SUPPORTED_OPTIONS= gssapi kerberos kerberos4 ldap snmp +PKG_SUPPORTED_OPTIONS+= bdb mysql pgsql sqlite +PKG_SUGGESTED_OPTIONS= bdb + +.include "../../mk/bsd.options.mk" + +PLIST_VARS+= ldap + +.if !empty(PKG_OPTIONS:Mkerberos) +. if empty(PKG_OPTIONS:Mgssapi) +PKG_OPTIONS+= gssapi +. endif +.endif + +.if !empty(PKG_OPTIONS:Mkerberos4) +. if exists(/usr/include/kerberosIV/krb.h) +PKG_USE_KERBEROS= yes +CONFIGURE_ARGS+= --with-krb=/usr +. endif +.elif !empty(PKG_OPTIONS:Mgssapi) +. include "../../mk/krb5.buildlink3.mk" +CONFIGURE_ARGS+= --enable-gssapi=${KRB5BASE} +CONFIGURE_ARGS+= --with-gss_impl=${GSSIMPL.${KRB5_TYPE}} +GSSIMPL.heimdal= heimdal +GSSIMPL.mit-krb5= mit +CONFIGURE_ENV+= COMPILE_ET=${KRB5BASE}/bin/compile_et +COMERRBASE= ${KRB5BASE} +.else +CONFIGURE_ARGS+= --without-krb +CONFIGURE_ARGS+= --disable-gssapi +.endif + +.if !empty(PKG_OPTIONS:Mldap) +. include "../../databases/openldap-client/buildlink3.mk" +CONFIGURE_ARGS+= --with-ldap=${BUILDLINK_PREFIX.openldap-client} +PLIST.ldap= yes +.else +CONFIGURE_ARGS+= --without-ldap +.endif + +.if !empty(PKG_OPTIONS:Msnmp) +. include "../../net/net-snmp/buildlink3.mk" +CONFIGURE_ARGS+= --with-snmp=${BUILDLINK_PREFIX.net-snmp} +USE_TOOLS+= perl:run +.else +CONFIGURE_ARGS+= --without-snmp +.endif + +.if !empty(PKG_OPTIONS:Mzephyr) +. include "../../chat/zephyr/buildlink3.mk" +CONFIGURE_ARGS+= --with-zephyr=${BUILDLINK_PREFIX.zephyr} +.else +CONFIGURE_ARGS+= --without-zephyr +.endif + +.if !empty(PKG_OPTIONS:Mbdb) +BDB_ACCEPTED= db4 db3 +. include "../../mk/bdb.buildlink3.mk" +CONFIGURE_ARGS+= --with-bdb=${BDB_TYPE} +CONFIGURE_ARGS+= --with-bdb-incdir=${BDBBASE}/include/${BDB_TYPE} +CONFIGURE_ARGS+= --with-bdb-libdir=${BDBBASE}/lib +.else +CONFIGURE_ARGS+= --without-bdb +.endif + +.if !empty(PKG_OPTIONS:Mmysql) +. include "../../mk/mysql.buildlink3.mk" +CONFIGURE_ARGS+= --with-mysql=${BUILDLINK_PREFIX.mysql-client} +.else +CONFIGURE_ARGS+= --without-mysql +.endif + +.if !empty(PKG_OPTIONS:Mpgsql) +. include "../../mk/pgsql.buildlink3.mk" +CONFIGURE_ARGS+= --with-pgsql=${PGSQL_PREFIX} +.else +CONFIGURE_ARGS+= --without-pgsql +.endif + +.if !empty(PKG_OPTIONS:Msqlite) +. include "../../databases/sqlite3/buildlink3.mk" +CONFIGURE_ARGS+= --with-sqlite=${BUILDLINK_PREFIX.sqlite3} +.else +CONFIGURE_ARGS+= --without-sqlite +.endif diff --git a/mail/cyrus-imapd23/patches/patch-aa b/mail/cyrus-imapd23/patches/patch-aa new file mode 100644 index 00000000000..1a603beed0d --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-aa @@ -0,0 +1,18 @@ +$NetBSD: patch-aa,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- configure.in.orig 2009-12-21 13:09:10.000000000 +0000 ++++ configure.in +@@ -391,11 +391,11 @@ if test "$sievedir" != "no"; then + AC_CHECK_LIB(fl,main) + + AC_CHECK_HEADERS(pcreposix.h rxposix.h) +- if test "$ac_cv_header_pcreposix_h" == "yes"; then ++ if test "$ac_cv_header_pcreposix_h" = "yes"; then + LIBS="$LIBS -lpcre -lpcreposix"; + AC_DEFINE(ENABLE_REGEX, [], [Do we have a regex library?]) + else +- if test "$ac_cv_header_rxposix_h" == "yes"; then ++ if test "$ac_cv_header_rxposix_h" = "yes"; then + LIBS="$LIBS -lrx" + AC_DEFINE(ENABLE_REGEX, [], + [Do we have a regex library?]) diff --git a/mail/cyrus-imapd23/patches/patch-ab b/mail/cyrus-imapd23/patches/patch-ab new file mode 100644 index 00000000000..2a3ac5a85f3 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ab @@ -0,0 +1,22 @@ +$NetBSD: patch-ab,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- configure.orig 2009-12-23 08:06:48.000000000 +0000 ++++ configure +@@ -12402,7 +12402,7 @@ fi + + done + +- if test "$ac_cv_header_pcreposix_h" == "yes"; then ++ if test "$ac_cv_header_pcreposix_h" = "yes"; then + LIBS="$LIBS -lpcre -lpcreposix"; + + cat >>confdefs.h <<\_ACEOF +@@ -12410,7 +12410,7 @@ cat >>confdefs.h <<\_ACEOF + _ACEOF + + else +- if test "$ac_cv_header_rxposix_h" == "yes"; then ++ if test "$ac_cv_header_rxposix_h" = "yes"; then + LIBS="$LIBS -lrx" + + cat >>confdefs.h <<\_ACEOF diff --git a/mail/cyrus-imapd23/patches/patch-ac b/mail/cyrus-imapd23/patches/patch-ac new file mode 100644 index 00000000000..07b7eec62c6 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ac @@ -0,0 +1,35 @@ +$NetBSD: patch-ac,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- imap/Makefile.in.orig 2009-03-30 16:04:56.000000000 +0000 ++++ imap/Makefile.in +@@ -182,6 +182,9 @@ mupdate_err.c: mupdate_err.et + + mupdate_err.h: mupdate_err.c + ++mutex_pthread.o: mutex_pthread.c ++ $(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) $(PTHREAD_CFLAGS) $< ++ + ### Services + idled: idled.o mutex_fake.o libimap.a $(DEPLIBS) + $(CC) $(LDFLAGS) -o idled \ +@@ -216,16 +219,16 @@ imapd.quant: $(IMAPDOBJS) mutex_fake.o l + + mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \ + libimap.a $(DEPLIBS) +- $(CC) $(LDFLAGS) -o mupdate \ ++ $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -o mupdate \ + $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \ + mutex_pthread.o tls.o libimap.a \ +- $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread ++ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS) + + mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o \ + libimap.a $(DEPLIBS) +- $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o mupdate.pure \ ++ $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -o mupdate.pure \ + $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \ +- mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread ++ mutex_pthread.o libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS) + + pop3d: pop3d.o proxy.o backend.o tls.o mutex_fake.o libimap.a \ + $(DEPLIBS) $(SERVICE) diff --git a/mail/cyrus-imapd23/patches/patch-ad b/mail/cyrus-imapd23/patches/patch-ad new file mode 100644 index 00000000000..a371434f99f --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ad @@ -0,0 +1,14 @@ +$NetBSD: patch-ad,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- imap/cvt_cyrusdb.c.orig 2009-02-11 19:11:32.000000000 +0000 ++++ imap/cvt_cyrusdb.c +@@ -59,7 +59,9 @@ + #include <syslog.h> + + #include <sys/ipc.h> ++#if !defined(__APPLE__) + #include <sys/msg.h> ++#endif + + #include "acl.h" + #include "assert.h" diff --git a/mail/cyrus-imapd23/patches/patch-ae b/mail/cyrus-imapd23/patches/patch-ae new file mode 100644 index 00000000000..ca3486b089a --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ae @@ -0,0 +1,14 @@ +$NetBSD: patch-ae,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- imap/mboxlist.c.orig 2009-11-17 03:34:30.000000000 +0000 ++++ imap/mboxlist.c +@@ -59,7 +59,9 @@ + #include <syslog.h> + + #include <sys/ipc.h> ++#if !defined(__APPLE__) + #include <sys/msg.h> ++#endif + + #include "acl.h" + #include "annotate.h" diff --git a/mail/cyrus-imapd23/patches/patch-af b/mail/cyrus-imapd23/patches/patch-af new file mode 100644 index 00000000000..e33c9b7acdf --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-af @@ -0,0 +1,15 @@ +$NetBSD: patch-af,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- imap/message.c.orig 2009-11-19 21:52:55.000000000 +0000 ++++ imap/message.c +@@ -74,6 +74,10 @@ + #include "global.h" + #include "retry.h" + ++#ifdef __APPLE__ ++struct et_list *_et_list = NULL; ++#endif ++ + /* Message being parsed */ + struct msg { + const char *base; diff --git a/mail/cyrus-imapd23/patches/patch-ag b/mail/cyrus-imapd23/patches/patch-ag new file mode 100644 index 00000000000..4a4746da625 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ag @@ -0,0 +1,25 @@ +$NetBSD: patch-ag,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- imtest/imtest.c.orig 2009-09-24 13:35:05.000000000 +0000 ++++ imtest/imtest.c +@@ -49,7 +49,9 @@ + #include <sys/time.h> + #include <sys/types.h> + #include <sys/ipc.h> ++#if !defined(__APPLE__) + #include <sys/msg.h> ++#endif + #include <sys/stat.h> + #include <fcntl.h> + +@@ -74,6 +76,10 @@ + #include <netinet/in.h> + #include <netdb.h> + ++#ifdef HAVE_SYS_PARAM_H ++#include <sys/param.h> ++#endif ++ + #include <sasl/sasl.h> + #include <sasl/saslutil.h> + diff --git a/mail/cyrus-imapd23/patches/patch-ah b/mail/cyrus-imapd23/patches/patch-ah new file mode 100644 index 00000000000..a3b621d06c5 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ah @@ -0,0 +1,13 @@ +$NetBSD: patch-ah,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- perl/Makefile.in.orig 2009-05-06 13:48:04.000000000 +0000 ++++ perl/Makefile.in +@@ -86,7 +86,7 @@ all:: + BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \ + OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \ + SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \ +- $(PERL) Makefile.PL PREFIX=$(prefix); \ ++ $(PERL) Makefile.PL INSTALLDIRS=vendor PREFIX=$(prefix); \ + fi; \ + $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \ + done diff --git a/mail/cyrus-imapd23/patches/patch-ai b/mail/cyrus-imapd23/patches/patch-ai new file mode 100644 index 00000000000..321375e72e9 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ai @@ -0,0 +1,13 @@ +$NetBSD: patch-ai,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- perl/sieve/Makefile.in.orig 2009-05-06 13:48:04.000000000 +0000 ++++ perl/sieve/Makefile.in +@@ -86,7 +86,7 @@ all:: + BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \ + OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \ + SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \ +- $(PERL) Makefile.PL PREFIX=$(prefix); \ ++ $(PERL) Makefile.PL INSTALLDIRS=vendor PREFIX=$(prefix); \ + fi; \ + $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \ + done diff --git a/mail/cyrus-imapd23/patches/patch-aj b/mail/cyrus-imapd23/patches/patch-aj new file mode 100644 index 00000000000..950a5dbdcf6 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-aj @@ -0,0 +1,14 @@ +$NetBSD: patch-aj,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- perl/sieve/lib/request.c.orig 2008-04-04 12:47:21.000000000 +0000 ++++ perl/sieve/lib/request.c +@@ -52,7 +52,9 @@ + #include <sys/stat.h> + #include <sys/types.h> + #include <sys/ipc.h> ++#if !defined(__APPLE__) + #include <sys/msg.h> ++#endif + + #include <stdlib.h> + #include <stdio.h> diff --git a/mail/cyrus-imapd23/patches/patch-ak b/mail/cyrus-imapd23/patches/patch-ak new file mode 100644 index 00000000000..ae9f31012c7 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ak @@ -0,0 +1,15 @@ +$NetBSD: patch-ak,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- sieve/sievec.c.orig 2009-03-25 23:58:04.000000000 +0000 ++++ sieve/sievec.c +@@ -63,6 +63,10 @@ + #include <sys/stat.h> + #include <fcntl.h> + ++#ifdef __APPLE__ ++struct et_list *_et_list = NULL; ++#endif ++ + /* config.c stuff */ + const int config_need_data = 0; + diff --git a/mail/cyrus-imapd23/patches/patch-al b/mail/cyrus-imapd23/patches/patch-al new file mode 100644 index 00000000000..30b6b82c12f --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-al @@ -0,0 +1,15 @@ +$NetBSD: patch-al,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- sieve/sieved.c.orig 2009-03-25 23:58:05.000000000 +0000 ++++ sieve/sieved.c +@@ -63,6 +63,10 @@ + + #include "map.h" + ++#ifdef __APPLE__ ++struct et_list *_et_list = NULL; ++#endif ++ + /* config.c stuff */ + const int config_need_data = 0; + diff --git a/mail/cyrus-imapd23/patches/patch-am b/mail/cyrus-imapd23/patches/patch-am new file mode 100644 index 00000000000..299976bb357 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-am @@ -0,0 +1,19 @@ +$NetBSD: patch-am,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- tools/config2header.orig 2009-12-02 22:50:29.000000000 +0000 ++++ tools/config2header +@@ -79,6 +79,14 @@ while ($#ARGV >= 0) { + + my $use_gcc_extension = ($CC and $CC eq 'gcc'); + ++# ++# Skip any CC options such as -pipe ++# The last two parameters are the .c and .h files ++# ++while ($#ARGV > 1) { ++ shift @ARGV; ++} ++ + die "wrong number of arguments" if ($#ARGV != 1); + my ($cfile, $hfile) = @ARGV; + diff --git a/mail/cyrus-imapd23/patches/patch-an b/mail/cyrus-imapd23/patches/patch-an new file mode 100644 index 00000000000..ee5d4c13a98 --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-an @@ -0,0 +1,22 @@ +$NetBSD: patch-an,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- imap/tls.c.orig 2008-11-14 22:24:38.000000000 +0000 ++++ imap/tls.c +@@ -223,7 +223,7 @@ static RSA *tmp_rsa_cb(SSL * s __attribu + return (rsa_tmp); + } + +-#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) ++#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) && !defined(OPENSSL_LACK_BN_CONST) + /* Logic copied from OpenSSL apps/s_server.c: give the TLS context + * DH params to work with DHE-* cipher suites. Hardcoded fallback + * in case no DH params in tls_key_file or tls_cert_file. +@@ -735,7 +735,7 @@ int tls_init_serverengine(const char + } + SSL_CTX_set_tmp_rsa_callback(s_ctx, tmp_rsa_cb); + +-#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) ++#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) && !defined(OPENSSL_LACK_BN_CONST) + /* Load DH params for DHE-* key exchanges */ + SSL_CTX_set_tmp_dh(s_ctx, load_dh_param(s_key_file, s_cert_file)); + /* FIXME: Load ECDH params for ECDHE suites when 0.9.9 is released */ diff --git a/mail/cyrus-imapd23/patches/patch-ao b/mail/cyrus-imapd23/patches/patch-ao new file mode 100644 index 00000000000..fa2053d032f --- /dev/null +++ b/mail/cyrus-imapd23/patches/patch-ao @@ -0,0 +1,17 @@ +$NetBSD: patch-ao,v 1.1.1.1 2010/02/11 08:27:09 obache Exp $ + +--- imap/imap_err.et.orig 2009-12-02 02:09:43.000000000 +0000 ++++ imap/imap_err.et +@@ -198,10 +198,10 @@ ec IMAP_NO_MSGGONE, + "Message %d no longer exists" + + ec IMAP_NO_CHECKSEEN, +- "Unable to checkpoint \\Seen state" ++ "Unable to checkpoint \\\\Seen state" + + ec IMAP_NO_CHECKPRESERVE, +- "Unable to preserve \\Seen state" ++ "Unable to preserve \\\\Seen state" + + ec IMAP_NO_NOSUCHMSG, + "No matching messages" |