diff options
author | ume <ume@FreeBSD.org> | 2017-03-10 10:05:01 +0800 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2017-03-10 10:05:01 +0800 |
commit | 89ffccb52541c3748cbb4cb892e16f33bb1fa2c7 (patch) | |
tree | e0550d3c2841df10ea2a0aabded56f6997f0d30f /mail | |
parent | 3216565d6e52e839b18708ee7bea937fa164bc9a (diff) | |
download | freebsd-ports-gnome-89ffccb52541c3748cbb4cb892e16f33bb1fa2c7.tar.gz freebsd-ports-gnome-89ffccb52541c3748cbb4cb892e16f33bb1fa2c7.tar.zst freebsd-ports-gnome-89ffccb52541c3748cbb4cb892e16f33bb1fa2c7.zip |
Add Cyrus IMAP 3.0 series.
Now, it is the third release candidate from the Cyrus IMAP 3.0 series:
3.0.0-rc3.
As a release candidate, it is considered near-stable for production
usage. Interfaces, APIs, features, etc are not likely to change
between now and the full release.
Diffstat (limited to 'mail')
23 files changed, 1100 insertions, 5 deletions
diff --git a/mail/Makefile b/mail/Makefile index c0b7b7c435ad..ae916047e0ea 100644 --- a/mail/Makefile +++ b/mail/Makefile @@ -82,6 +82,7 @@ SUBDIR += cyrus-imapd23 SUBDIR += cyrus-imapd24 SUBDIR += cyrus-imapd25 + SUBDIR += cyrus-imapd30 SUBDIR += cyrus2courier SUBDIR += cyrus2dovecot SUBDIR += davmail diff --git a/mail/cyrus-imapd23/Makefile b/mail/cyrus-imapd23/Makefile index 424fa494d689..3e48cb08ffc9 100644 --- a/mail/cyrus-imapd23/Makefile +++ b/mail/cyrus-imapd23/Makefile @@ -16,7 +16,8 @@ LICENSE_FILE= ${WRKSRC}/COPYRIGHT LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 \ libpcre.so:devel/pcre -CONFLICTS= cyrus-1.* cyrus-imapd-2.[^3].* cyrus-imapd2[^3]-2.[^3].* +CONFLICTS_INSTALL= cyrus-imapd-2.[^3].* cyrus-imapd2[^3]-2.[^3].* \ + cyrus-imapd3* USE_RC_SUBR= imapd diff --git a/mail/cyrus-imapd24/Makefile b/mail/cyrus-imapd24/Makefile index 2940bc04a22a..ac0d82c855e6 100644 --- a/mail/cyrus-imapd24/Makefile +++ b/mail/cyrus-imapd24/Makefile @@ -17,7 +17,8 @@ LICENSE_FILE= ${WRKSRC}/COPYRIGHT LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 \ libpcre.so:devel/pcre -CONFLICTS= cyrus-1.* cyrus-imapd-2.[^4].* cyrus-imapd2[^4]-2.[^4].* +CONFLICTS_INSTALL= cyrus-imapd-2.[^4].* cyrus-imapd2[^4]-2.[^4].* \ + cyrus-imapd3* USE_RC_SUBR= imapd diff --git a/mail/cyrus-imapd25/Makefile b/mail/cyrus-imapd25/Makefile index e233e1c18663..0e4465e13a18 100644 --- a/mail/cyrus-imapd25/Makefile +++ b/mail/cyrus-imapd25/Makefile @@ -17,7 +17,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 \ libpcre.so:devel/pcre -CONFLICTS= cyrus-1.* cyrus-imapd-2.[^5].* cyrus-imapd2[^5]-2.[^5].* +CONFLICTS_INSTALL= cyrus-imapd-2.[^5].* cyrus-imapd2[^5]-2.[^5].* \ + cyrus-imapd3* USE_RC_SUBR= imapd diff --git a/mail/cyrus-imapd30/Makefile b/mail/cyrus-imapd30/Makefile new file mode 100644 index 000000000000..f45c8c25551d --- /dev/null +++ b/mail/cyrus-imapd30/Makefile @@ -0,0 +1,245 @@ +# $FreeBSD$ + +PORTNAME= cyrus-imapd +PORTVERSION= 3.0.0rc3 +DISTVERSION= 3.0.0-rc3 +#PORTREVISION= 0 +CATEGORIES= mail ipv6 +MASTER_SITES= ftp://ftp.cyrusimap.org/cyrus-imapd/ \ + http://cyrusimap.org/releases/ +PKGNAMESUFFIX= 30 + +MAINTAINER= ume@FreeBSD.org +COMMENT= The cyrus mail server, supporting POP3 and IMAP4 protocols + +LICENSE= BSD4CLAUSE +LICENSE_FILE= ${WRKSRC}/COPYING + +LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 \ + libicuuc.so:devel/icu \ + libjansson.so:devel/jansson \ + libpcre.so:devel/pcre + +CONFLICTS_INSTALL= cyrus-imapd-2.* cyrus-imapd2* + +USE_RC_SUBR= imapd + +USES= cpe gmake libtool perl5 ssl +GNU_CONFIGURE= yes +CYRUS_PREFIX= ${PREFIX}/cyrus +CONFIGURE_ARGS= --libexecdir=${CYRUS_PREFIX}/libexec \ + --sbindir=${CYRUS_PREFIX}/sbin \ + --sysconfdir=${PREFIX}/etc \ + --with-cyrus-user=${CYRUS_USER} \ + --with-cyrus-group=${CYRUS_GROUP} \ + --with-sasl=${LOCALBASE} \ + --with-com_err \ + --with-openssl=${OPENSSLBASE} \ + --with-perl=${PERL} +CONFIGURE_ENV+= LIBS="-L${LOCALBASE}/lib" +CPPFLAGS+= -I${LOCALBASE}/include +MAKE_JOBS_UNSAFE= yes + +CPE_VENDOR= cmu +CPE_PRODUCT= cyrus_imap_server + +OPTIONS_DEFINE= AUTOCREATE BACKUP CLAMAV HTTP IDLED LDAP MURDER MYSQL \ + NNTP PGSQL REPLICATION SNMP SQLITE SQUAT DOCS EXAMPLES +#OPTIONS_DEFINE+= DRAC +OPTIONS_DEFAULT= CLAMAV IDLED SQUAT +OPTIONS_SUB= yes +AUTOCREATE_DESC= Enable autocreate support +AUTOCREATE_CONFIGURE_ENABLE= autocreate +BACKUP_DESC= Enable backup support (experimental) +BACKUP_CONFIGURE_ENABLE=backup +CLAMAV_DESC= Use ClamAV +CLAMAV_CONFIGURE_WITH= clamav +CLAMAV_LIB_DEPENDS= libclamav.so:security/clamav +DRAC_DESC= Enable DRAC support +DRAC_CONFIGURE_ON= --with-drac=${LOCALBASE} +DRAC_BUILD_DEPENDS= ${LOCALBASE}/lib/libdrac.a:mail/drac +HTTP_DESC= Enable HTTP support +HTTP_CONFIGURE_ENABLE= http +#HTTP_BUILD_DEPENDS= ${LOCALBASE}/bin/xxd:editors/vim-lite +HTTP_LIB_DEPENDS= libical.so:devel/libical \ + libnghttp2.so:www/libnghttp2 \ + libshp.so:devel/shapelib +# Our libbrotli is too old +#HTTP_LIB_DEPENDS+= libbrotlidec.so:devel/libbrotli +# Need additional patch to opendkim +#HTTP_LIB_DEPENDS+= libopendkim.so:mail/opendkim +#HTTP_CPPFLAGS+= -I${LOCALBASE}/include/opendkim +HTTP_USES= pkgconfig +HTTP_USE= GNOME=libxml2 +IDLED_DESC= Enable IMAP idled support +IDLED_CONFIGURE_ENABLE= idled +LDAP_DESC= Enable LDAP support (experimental) +LDAP_USE= OPENLDAP=yes +LDAP_CONFIGURE_ON= --with-ldap=${LOCALBASE} +MURDER_DESC= Enable IMAP Murder support +MURDER_CONFIGURE_ENABLE=murder +MURDER_MAKE_ENV= PTHREAD_LIBS="-lpthread" +MYSQL_USES= mysql +MYSQL_CONFIGURE_ON= --with-mysql=yes \ + --with-mysql-libdir=${LOCALBASE}/lib/mysql \ + --with-mysql-incdir=${LOCALBASE}/include/mysql +NNTP_DESC= Enable NNTP support +NNTP_CONFIGURE_ENABLE= nntp +PGSQL_USES= pgsql +PGSQL_CONFIGURE_ON= --with-pgsql=${LOCALBASE} +REPLICATION_DESC= Enable replication (experimental) +REPLICATION_CONFIGURE_ENABLE=replication +SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp +SNMP_CONFIGURE_ON= --with-snmp=${LOCALBASE} +SNMP_CONFIGURE_OFF= --with-snmp=no +SQLITE_CONFIGURE_ON= --with-sqlite=${LOCALBASE} +SQUAT_DESC= Enable Squat support +SQUAT_CONFIGURE_OFF= --disable-squat +# Need additional patch to xapian +#OPTIONS_DEFINE+= XAPIAN +#XAPIAN_DESC= Enable Xapian support +#XAPIAN_CONFIGURE_ENABLE=xapian +#XAPIAN_LIB_DEPENDS= libxapian.so:databases/xapian-core + +UNAMER!= uname -r +OSMAJOR= ${UNAMER:C/[.-].*//} + +OPTIONS_RADIO= GSSAPI +OPTIONS_RADIO_GSSAPI= GSSAPI_HEIMDAL GSSAPI_MIT +.if exists(/usr/lib/libkrb5.a) +OPTIONS_RADIO_GSSAPI+= GSSAPI_BASE +.if ${OSMAJOR} >= 9 +OPTIONS_DEFAULT+= GSSAPI_BASE +.endif +.endif +GSSAPI_BASE_USES= gssapi +GSSAPI_BASE_CONFIGURE_ON= --enable-gssapi="${GSSAPIBASEDIR}" \ + --with-gss_impl=heimdal +GSSAPI_HEIMDAL_USES= gssapi:heimdal,flags +GSSAPI_HEIMDAL_CONFIGURE_ON= --enable-gssapi="${GSSAPIBASEDIR}" \ + --with-gss_impl=heimdal +GSSAPI_MIT_USES= gssapi:mit +GSSAPI_MIT_CONFIGURE_ON= --enable-gssapi="${GSSAPIBASEDIR}" \ + --with-gss_impl=mit + +MANDIRS= ${CYRUS_PREFIX}/man + +PORTDOCS= * + +SUB_FILES= pkg-message pkg-install pkg-deinstall cyrus-imapd-man.conf + +SUB_LIST= CYRUS_USER=${CYRUS_USER} CYRUS_GROUP=${CYRUS_GROUP} + +CYRUS_USER?= cyrus +CYRUS_GROUP?= cyrus + +MAN_MAN1= httptest imtest installsieve lmtptest mupdatetest nntptest \ + pop3test sieveshell sivtest smtptest +MAN_MAN3= imclient +MAN_MAN5= cyrus.conf imapd.conf krb.equiv + +CYRUS_MAN8= arbitron backupd chk_cyrus ctl_backups ctl_conversationsdb \ + ctl_cyrusdb ctl_deliver ctl_mboxlist cvt_cyrusdb cyr_backup \ + cyr_buildinfo cyr_dbtool cyr_deny cyr_df cyr_expire cyr_info \ + cyr_synclog cyr_virusscan deliver fud idled imapd ipurge lmtpd \ + master mbexamine mbpath mbtool notifyd pop3d quota reconstruct \ + restore rmnews smmapd squatter timsieved tls_prune unexpunge +CYRUS_PERL_MAN1=cyradm +CYRUS_PERL_MAN3=Cyrus::Annotator::Daemon Cyrus::Annotator::Message \ + Cyrus::IMAP Cyrus::IMAP::Admin Cyrus::IMAP::IMSP \ + Cyrus::IMAP::Shell Cyrus::SIEVE::managesieve + +CONFS= cmu-backend.conf cmu-frontend.conf normal.conf prefork.conf \ + small.conf + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MDRAC} +IGNORE= DRAC is not available +# EXTRA_PATCHES+= ${FILESDIR}/extra-patch-cmulocal__sasl2.m4 +# USE_AUTOTOOLS= autoconf autoheader +.endif + +.if ${PORT_OPTIONS:MHTTP} || ${PORT_OPTIONS:MSQLITE} +USES+= sqlite +.endif + +.if !${PORT_OPTIONS:MGSSAPI_BASE} && !${PORT_OPTIONS:MGSSAPI_HEIMDAL} && \ + !${PORT_OPTIONS:MGSSAPI_MIT} +CONFIGURE_ARGS+=--disable-gssapi +.endif + +.if ${PORT_OPTIONS:MHTTP} +CYRUS_MAN8+= ctl_zoneinfo httpd +.endif +.if ${PORT_OPTIONS:MNNTP} +CYRUS_MAN8+= fetchnews nntpd +.endif +.if ${PORT_OPTIONS:MREPLICATION} +CYRUS_MAN8+= sync_client sync_reset sync_server +.endif + +.if ${PORT_OPTIONS:MDRAC} +pre-patch: + ${PATCH} -d ${PATCH_WRKSRC} --forward --quiet -E -p1 \ + < ${WRKSRC}/contrib/drac_auth.patch +.endif + +post-patch: + @${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|" \ + -e "s|%%CYRUS_USER%%|${CYRUS_USER}|g" \ + -e "s|%%CYRUS_GROUP%%|${CYRUS_GROUP}|g" \ + ${WRKSRC}/tools/mkimap + @${REINPLACE_CMD} -e "s|/etc/|${PREFIX}/etc/|g" \ + -e "s|/usr/sieve|/var/imap/sieve|g" \ + ${WRKSRC}/tools/masssievec + @${REINPLACE_CMD} \ + -e 's|$$(libdir)/\(pkgconfig\)|${PREFIX}/libdata/\1|g' \ + -e 's|$$(mandir)/\(man[8]\)|${PREFIX}/cyrus/man/\1|g' \ + ${WRKSRC}/Makefile.in + +post-patch-DRAC-on: + @${RM} -r ${WRKSRC}/autom4te.cache + +post-install: + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_DATA} ${FILESDIR}/imapd.conf \ + ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/master/conf/normal.conf \ + ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap \ + ${STAGEDIR}${CYRUS_PREFIX}/sbin/mkimap + ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec \ + ${STAGEDIR}${CYRUS_PREFIX}/sbin/masssievec + ${INSTALL_DATA} ${WRKDIR}/cyrus-imapd-man.conf \ + ${STAGEDIR}${PREFIX}/etc/man.d/cyrus-imapd.conf +.for s in 1 3 5 +. for m in ${MAN_MAN${s}} + @${ECHO_CMD} man/man${s}/${m}.${s}.gz >> ${TMPPLIST} +. endfor +.endfor +.for s in 1 3 +. for m in ${CYRUS_PERL_MAN${s}} + @${ECHO_CMD} ${SITE_MAN${s}}/${m}.${s}.gz >> ${TMPPLIST} +. endfor +.endfor +.for m in ${CYRUS_MAN8} + @${ECHO_CMD} ${CYRUS_PREFIX}/man/man8/${m}.8.gz >> ${TMPPLIST} +.endfor + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \ + "! ( -path */html/_sources* -o -name .buildinfo )" + ${RM} -r ${STAGEDIR}${DOCSDIR}/rst ${STAGEDIR}${DOCSDIR}/source + +# there are already files in EXAMPLESDIR at that point, so no +# need to create it. +post-install-EXAMPLES-on: +.for f in ${CONFS:Nnormal.conf} + @${INSTALL_DATA} ${WRKSRC}/master/conf/${f} \ + ${STAGEDIR}${EXAMPLESDIR} + @${ECHO_CMD} ${EXAMPLESDIR:S,^${PREFIX}/,,}/${f} >>${TMPPLIST} +.endfor + +.include <bsd.port.mk> diff --git a/mail/cyrus-imapd30/distinfo b/mail/cyrus-imapd30/distinfo new file mode 100644 index 000000000000..6eaa9c917cb6 --- /dev/null +++ b/mail/cyrus-imapd30/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1487345999 +SHA256 (cyrus-imapd-3.0.0-rc3.tar.gz) = ed846ac7410d204a408a5c2506069fbc3b123c8be4fc96c5c239718da91f8489 +SIZE (cyrus-imapd-3.0.0-rc3.tar.gz) = 9925693 diff --git a/mail/cyrus-imapd30/files/cyrus-imapd-man.conf.in b/mail/cyrus-imapd30/files/cyrus-imapd-man.conf.in new file mode 100644 index 000000000000..b7ba70fcce77 --- /dev/null +++ b/mail/cyrus-imapd30/files/cyrus-imapd-man.conf.in @@ -0,0 +1 @@ +MANPATH %%PREFIX%%/cyrus/man diff --git a/mail/cyrus-imapd30/files/extra-patch-cmulocal__sasl2.m4 b/mail/cyrus-imapd30/files/extra-patch-cmulocal__sasl2.m4 new file mode 100644 index 000000000000..53131668fcfd --- /dev/null +++ b/mail/cyrus-imapd30/files/extra-patch-cmulocal__sasl2.m4 @@ -0,0 +1,22 @@ +Index: cmulocal/sasl2.m4 +diff -u cmulocal/sasl2.m4.orig cmulocal/sasl2.m4 +--- cmulocal/sasl2.m4.orig 2009-05-20 21:24:48.000000000 +0900 ++++ cmulocal/sasl2.m4 2009-12-22 00:31:16.153536453 +0900 +@@ -105,7 +105,7 @@ + if test "$gss_impl" = "auto" -o "$gss_impl" = "heimdal"; then + gss_failed=0 + AC_CHECK_LIB(gssapi,gss_unwrap,gss_impl="heimdal",gss_failed=1, +- ${GSSAPIBASE_LIBS} -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err ${LIB_SOCKET}) ++ ${GSSAPIBASE_LIBS} -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err ${LIB_SOCKET} -lhx509) + if test "$gss_impl" != "auto" -a "$gss_failed" = "1"; then + gss_impl="failed" + fi +@@ -173,7 +173,7 @@ + GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_LIBS $gssapi_dir/libgssapi_krb5.a $gssapi_dir/libkrb5.a $gssapi_dir/libk5crypto.a $gssapi_dir/libcom_err.a ${K5SUPSTATIC}" + elif test "$gss_impl" = "heimdal"; then + CPPFLAGS="$CPPFLAGS -DKRB5_HEIMDAL" +- GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err" ++ GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err -lhx509" + GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_STATIC_LIBS $gssapi_dir/libgssapi.a $gssapi_dir/libkrb5.a $gssapi_dir/libasn1.a $gssapi_dir/libroken.a $gssapi_dir/libcom_err.a ${LIB_CRYPT}" + elif test "$gss_impl" = "cybersafe03"; then + # Version of CyberSafe with two libraries diff --git a/mail/cyrus-imapd30/files/imapd.conf b/mail/cyrus-imapd30/files/imapd.conf new file mode 100644 index 000000000000..feeeb95d4d38 --- /dev/null +++ b/mail/cyrus-imapd30/files/imapd.conf @@ -0,0 +1,375 @@ +# +# $FreeBSD$ +# +# Sample configurations file for Cyrus IMAPd +# Most lines in this file are commented; in this case the default is used. +# The commented lines (usually) contain the default value + +# The pathname of the IMAP configuration directory +# +configdirectory: /var/imap + +# The partition name used by default for new mailboxes +# +#defaultpartition: default + +# The directory for the different partitions +# +partition-default: /var/spool/imap + +# Use the UNIX separator character '/' for delimiting levels of +# mailbox hierarchy. The default is to use the netnews separator +# character '.'. +#unixhierarchysep: yes + +# Use the alternate IMAP namespace, where personal folders reside at +# the same level in the hierarchy as INBOX. +# +#altnamespace: yes + +# If using the alternate IMAP namespace, the prefix for the other +# users namespace. The hierarchy delimiter will be automatically +# appended. +# +#userprefix: Other Users + +# If using the alternate IMAP namespace, the prefix for the shared +# namespace. The hierarchy delimiter will be automatically appended. +# +#sharedprefix: Shared Folders + +# The umask value used by various Cyrus IMAP programs +# +#umask: 077 + +# This is the hostname visible in the greeting messages of the POP, +# IMAP and LMTP daemons. If it is unset, then the result returned from +# gethostname(2) is used. +# +#servername: <result returned by gethostname(2)> + +# Whether to allow anonymous logins +# +#allowanonymouslogin: no + +# Allow the use of cleartext passwords on the wire. +# +#allowplaintext: yes + +# The percent of quota utilization over which the server generates +# warnings. +# +#quotawarn: 90 + +# The length of the IMAP server's inactivity autologout timer, in minutes. +# The minimum value is 30, the default. +# +#timeout: 30 + +# The interval (in seconds) for polling the mailbox for changes while +# running the IDLE command. This option is used when idled can not be +# contacted or when polling is used exclusively. The minimum value is +# 1. A value of 0 will disable polling (and disable IDLE if polling +# is the only method available). +# +#imapidlepoll: 60 + +# If enabled, the server responds to an ID command with a parameter +# list containing: version, vendor, support-url, os, os-version, +# command, arguments, environment. Otherwise the server returns NIL. +# +#imapidresponse: yes + +# Set the length of the POP server's inactivity autologout timer, in +# minutes. The minimum value is 10, the default. +# +#poptimeout: 10 + +# Set the minimum amount of time the server forces users to wait between +# successive POP logins, in minutes. The default is 0. +# +#popminpoll: 0 + +# The number of days advertised as being the minimum a message may be +# left on the POP server before it is deleted (via the CAPA command, +# defined in the POP3 Extension Mechanism, which some clients may +# support). "NEVER", the default, may be specified with a negative +# number. The Cyrus POP3 server never deletes mail, no matter what +# the value of this parameter is. However, if a site implements a +# less liberal policy, it needs to change this parameter accordingly. +# +#popexpiretime: 0 + +# The list of userids with administrative rights. Separate each userid +# with a space. We recommend that administrator userids be separate from +# standard userids. Sites using Kerberos authentication may use separate +# "admin" instances. +# +#admins: <none> + +# A list of users and groups that are allowed to proxy for other +# users, seperated by spaces. Any user listed in this will be allowed +# to login for any other user: use with caution. +# +#proxyservers: <none> + +# The Access Control List (ACL) placed on a newly-created (non-user) +# mailbox that does not have a parent mailbox. +# +#defaultacl: anyone lrs + +# The pathname of the news spool directory. Only used if the partition-news +# configuration option is set. +# +#newsspool: <no default> + +# Prefix to be prepended to newsgroup names to make the corresponding IMAP +# mailbox names. +# +#newsprefix: <none> + +# If set to a value of zero or higher, users have their INBOX folders +# created upon a successful login event or upon lmtpd(8) message +# delivery if autocreate_post is enabled, provided their INBOX did +# not yet already exist. +# +# The user's quota is set to the value if it is greater than zero, +# otherwise the user has unlimited quota. +# +# Note that quota is specified in kilobytes. +# +#autocreate_quota: -1 + +# Include notations in the protocol telemetry logs indicating the number +# of seconds since the last command or response. +# +#logtimestamps: no + +# Number of seconds to pause after a successful plaintext login. For systems +# that support strong authentication, this permits users to perceive a cost +# of using plaintext passwords. +# +#plaintextloginpause: 0 + +# The pathname of srvtab file containing the server's private key. +# This option is passed to the SASL library and overrides its default +# setting. +# +#srvtab: /etc/srvtab + +# The list of remote realms whose users may log in using cross-realm +# authentications. Seperate each realm name by a space. This option is +# only used when the server is compiled with Kerberos authentication. +# +#loginrealms: <none> + +# If enabled, any authentication identity which has a rights on a user's +# INBOX may log in as that user. This option is only used when the server +# is compiled with Kerberos authentication. +# +#loginuseacl: no + +# If enabled, lmtpd attempts to only write one copy of a message per +# partition and create hard links, resulting in a potentially large +# disk savings. +# +#singleinstancestore: yes + +# If enabled, lmtpd will suppress delivery of a message to a mailbox +# if a message with the same message-id (or resent-message-id) is +# recorded as having already been delivered to the mailbox. Records +# the mailbox and message-id/resent-message-id of all successful +# deliveries. +# +#duplicatesuppression: yes + +# If enabled, lmtpd rejects messages with 8-bit characters in the +# headers. Otherwise, 8-bit characters are changed to `X'. (A proper +# soultion to non-ASCII characters in headers is offered by RFC 2047 +# and its predecessors.) +# +#reject8bit: no + +# Maximum incoming LMTP message size. If set, lmtpd will reject +# messages larger than maxmessagesize bytes. The default is to allow +# messages of any size. +# +#maxmessagesize: <unlimited> + +# Userid used to deliver messages to shared folders. For example, if +# set to "bb", email sent to "bb+shared.blah" would be delivered to +# the "shared.blah" folder. By default, an email address of +# "+shared.blah" would be used. +#postuser: <none> + +# If enabled at compile time, this specifies a URL to reply when +# Netscape asks the server where the mail administration HTTP server +# is. The default is a site at CMU with a hopefully informative +# message; administrators should set this to a local resource with +# some information of greater use. +# +#netscapeurl: http://andrew2.andrew.cmu.edu/cyrus/imapd/netscapeadmin.html + +# Notifyd(8) method to use for "MAIL" notifications. If not set, +# "MAIL" notifications are disabled. +# +#mailnotifier: <no default> + +# Notifyd(8) method to use for "SIEVE" notifications. If not set, +# "SIEVE" notifications are disabled. +# +# This method is only used when no method is specified in the script. +# +#sievenotifier: <no default> + +# If enabled, lmtpd will look for Sieve scripts in user's home +# directories: ~user/.sieve. +# +sieveusehomedir: false + +# If sieveusehomedir is false, this directory is searched for Sieve scripts. +# The active Sieve script is s called "default", placed in the users sieve +# sieve directory (ie. /var/imap/sieve/u/user). +# +sievedir: /var/imap/sieve + +# The pathname of the sendmail executable. Sieve uses sendmail for +# sending rejections, redirects and vaca- tion responses. +# +#sendmail: /usr/sbin/sendmail + +# Username that is used as the 'From' address in rejection MDNs +# produced by sieve. +# +#postmaster: postmaster + +# If enabled, the partitions will also be hashed, in addition to the hashing +# done on configuration directories. This is recommended if one partition has +# a very bushy mailbox tree. +# +#hashimapspool: false + +# Maximum size (in kilobytes) any sieve script can be, enforced at +# submission by timsieved(8). +# +#sieve_maxscriptsize: 32 + +# Maximum number of sieve scripts any user may have, enforced at +# submission by timsieved(8). +# +#sieve_maxscripts: 5 + +# The cyrusdb backend to use for mailbox annotations. +# Allowed values: skiplist, twoskip +# +#annotation_db: twoskip + +# The cyrusdb backend to use for the duplicate delivery suppression +# and sieve. +# Allowed values: skiplist, sql, twoskip +# +#duplicate_db: twoskip + +# The cyrusdb backend to use for the mailbox list. +# Allowed values: skiplist, twoskip +# +#mboxlist_db: twoskip + +# The cyrusdb backend to use for the pts cache. +# Allowed values: skiplist, twoskip +# +#ptscache_db: twoskip + +# The cyrusdb backend to use for the seen state. +# Allowed values: flat, skiplist, twoskip +# +#seenstate_db: twoskip + +# The cyrusdb backend to use for the imap status cache. +# Allowed values: skiplist, sql, twoskip +# +#statuscache_db: twoskip + +# The cyrusdb backend to use for the subscriptions list. +# Allowed values: flat, skiplist, twoskip +# +#subscription_db: flat + +# Maximum SSF (security strength factor) that the server will allow a +# client to negotiate. +# +#sasl_maximum_layer: 256 + +# The minimum SSF that the server will allow a client to negotiate. A +# value of 1 requires integrity protection; any higher value requires +# some amount of encryption. +# +#sasl_minimum_layer: 0 + +# The mechanism used by the server to verify plaintext passwords. Possible +# values include "auxprop" or "saslauthd" +# +sasl_pwcheck_method: auxprop + +# If enabled, the SASL library will automatically create authentication +# secrets when given a plaintext password. See the SASL documentation. +# +#sasl_auto_transition: no + +# Whitespace separated list of mechanisms to allow (e.g. 'plain otp'). +# Used to restrict the mechanisms to a subset of the installed +# plugins. The default is all available. +# +#sasl_mech_list: cram-md5 digest-md5 + +# Location of the opiekeys file +# +#sasl_opiekeys: /etc/opiekeys + +# File containing the global certificate used for ALL services (imap, +# pop3, lmtp). +# +#tls_server_cert: <none> + +# File containing the private key belonging to the global server +# certificate. +# +#tls_server_key: <none> + +# File containing one or more Certificate Authority (CA) certificates. +# +#tls_client_ca_file: <none> + +# Path to directory with certificates of CAs. +# +#tls_client_ca_dir: <none> + +# The cyrusdb backend to use for the TLS cache. +# Allowed values: skiplist, sql, twoskip +# +#tls_sessions_db: twoskip + +# The length of time (in minutes) that a TLS session will be cached +# for later reuse. The maximum value is 1440 (24 hours), the default. +# A value of 0 will disable session caching. +# +#tls_session_timeout: 1440 + +# The right that a user needs to delete a mailbox. +# +#deleteright: c + +# Unix domain socket that lmtpd listens on, used by deliver(8). +# +#lmtpsocket: /var/imap/socket/lmtp + +# Unix domain socket that idled listens on. +# +#idlesocket: /var/imap/socket/idle + +# Unix domain socket that the new mail notification daemon listens on. +# +#notifysocket: /var/imap/socket/notify + +# +# EOF diff --git a/mail/cyrus-imapd30/files/imapd.in b/mail/cyrus-imapd30/files/imapd.in new file mode 100644 index 000000000000..d6b54ed6c20f --- /dev/null +++ b/mail/cyrus-imapd30/files/imapd.in @@ -0,0 +1,36 @@ +#!/bin/sh + +# Start or stop cyrus-imapd +# $FreeBSD$ + +# PROVIDE: cyrus_imapd +# REQUIRE: DAEMON +# BEFORE: mail +# KEYWORD: shutdown + +# Define these cyrus_imapd_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# /etc/rc.conf.d/cyrus_imapd +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# +[ -z "$cyrus_imapd_enable" ] && cyrus_imapd_enable="NO" # Enable imapd +#cyrus_imapd_program="%%PREFIX%%/cyrus/libexec/master" # Location of imapd +[ -z "$cyrus_imapd_flags" ] && cyrus_imapd_flags="-d" # Flags to imapd program + +. /etc/rc.subr + +name="cyrus_imapd" +rcvar=cyrus_imapd_enable +command="%%PREFIX%%/cyrus/libexec/master" +pidfile="/var/run/cyrus-master.pid" +required_files="%%PREFIX%%/etc/cyrus.conf %%PREFIX%%/etc/imapd.conf" +stop_postcmd="cyrus_imapd_poststop" + +cyrus_imapd_poststop() { + /bin/rm -f ${pidfile} +} + +load_rc_config $name +run_rc_command "$1" diff --git a/mail/cyrus-imapd30/files/patch-configure b/mail/cyrus-imapd30/files/patch-configure new file mode 100644 index 000000000000..4d3deee12dcf --- /dev/null +++ b/mail/cyrus-imapd30/files/patch-configure @@ -0,0 +1,22 @@ +Index: configure +diff -u configure.orig configure +--- configure.orig 2010-10-18 21:36:00.000000000 +0900 ++++ configure 2010-10-18 23:50:45.966557478 +0900 +@@ -9501,7 +9501,7 @@ + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lgssapi ${GSSAPIBASE_LIBS} -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err ${LIB_SOCKET} $LIBS" ++LIBS="-lgssapi ${GSSAPIBASE_LIBS} -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err ${LIB_SOCKET} -lhx509 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -9803,7 +9803,7 @@ + GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_LIBS $gssapi_dir/libgssapi_krb5.a $gssapi_dir/libkrb5.a $gssapi_dir/libk5crypto.a $gssapi_dir/libcom_err.a ${K5SUPSTATIC}" + elif test "$gss_impl" = "heimdal"; then + CPPFLAGS="$CPPFLAGS -DKRB5_HEIMDAL" +- GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err" ++ GSSAPIBASE_LIBS="$GSSAPIBASE_LIBS -lgssapi -lkrb5 -lasn1 -lroken ${LIB_CRYPT} ${LIB_DES} -lcom_err -lhx509" + GSSAPIBASE_STATIC_LIBS="$GSSAPIBASE_STATIC_LIBS $gssapi_dir/libgssapi.a $gssapi_dir/libkrb5.a $gssapi_dir/libasn1.a $gssapi_dir/libroken.a $gssapi_dir/libcom_err.a ${LIB_CRYPT}" + elif test "$gss_impl" = "cybersafe03"; then + # Version of CyberSafe with two libraries diff --git a/mail/cyrus-imapd30/files/patch-imap__http_client.h b/mail/cyrus-imapd30/files/patch-imap__http_client.h new file mode 100644 index 000000000000..113854e9913d --- /dev/null +++ b/mail/cyrus-imapd30/files/patch-imap__http_client.h @@ -0,0 +1,11 @@ +--- imap/http_client.h.orig 2016-04-11 02:02:11 UTC ++++ imap/http_client.h +@@ -57,7 +57,7 @@ struct body_t { + unsigned char framing; /* Message framing */ + unsigned char te; /* Transfer-Encoding */ + unsigned max; /* Max allowed len */ +- ulong len; /* Content-Length */ ++ unsigned long len; /* Content-Length */ + struct buf payload; /* Payload */ + }; + diff --git a/mail/cyrus-imapd30/files/patch-imap__httpd.h b/mail/cyrus-imapd30/files/patch-imap__httpd.h new file mode 100644 index 000000000000..f50f66fc0cdb --- /dev/null +++ b/mail/cyrus-imapd30/files/patch-imap__httpd.h @@ -0,0 +1,11 @@ +--- imap/httpd.h.orig 2016-04-11 02:02:11 UTC ++++ imap/httpd.h +@@ -264,7 +264,7 @@ struct patch_doc_t { + + /* Meta-data for response body (payload & representation headers) */ + struct resp_body_t { +- ulong len; /* Content-Length */ ++ unsigned long len; /* Content-Length */ + struct range *range; /* Content-Range */ + const char *fname; /* Content-Dispo */ + unsigned char enc; /* Content-Encoding */ diff --git a/mail/cyrus-imapd30/files/patch-imap__sync_support.c b/mail/cyrus-imapd30/files/patch-imap__sync_support.c new file mode 100644 index 000000000000..1578c5d0a654 --- /dev/null +++ b/mail/cyrus-imapd30/files/patch-imap__sync_support.c @@ -0,0 +1,20 @@ +--- imap/sync_support.c.orig 2015-08-04 05:50:45 UTC ++++ imap/sync_support.c +@@ -3099,7 +3099,7 @@ int sync_apply_message(struct dlist *kin + const char *fname; + + /* XXX - complain more? */ +- if (!dlist_tofile(ki, &part, &guid, (ulong *) &size, &fname)) ++ if (!dlist_tofile(ki, &part, &guid, (unsigned long *) &size, &fname)) + continue; + + part_list = sync_reserve_partlist(reserve_list, part); +@@ -3806,7 +3806,7 @@ static int fetch_file(struct mailbox *ma + return r; + } + +- if (!dlist_tofile(kin->head, NULL, &guid, (ulong *) &size, &fname)) { ++ if (!dlist_tofile(kin->head, NULL, &guid, (unsigned long *) &size, &fname)) { + r = IMAP_MAILBOX_NONEXISTENT; + syslog(LOG_ERR, "IOERROR: fetch_file failed tofile %s", error_message(r)); + goto done; diff --git a/mail/cyrus-imapd30/files/patch-lib__imapoptions b/mail/cyrus-imapd30/files/patch-lib__imapoptions new file mode 100644 index 000000000000..8c79e3b2e8f4 --- /dev/null +++ b/mail/cyrus-imapd30/files/patch-lib__imapoptions @@ -0,0 +1,22 @@ +Index: lib/imapoptions +diff -u lib/imapoptions.orig lib/imapoptions +--- lib/imapoptions.orig 2008-10-12 21:22:03.000000000 +0900 ++++ lib/imapoptions 2008-10-12 21:23:33.000000000 +0900 +@@ -893,7 +893,7 @@ + { "seenstate_db", "skiplist", STRINGLIST("flat", "berkeley", "berkeley-hash", "skiplist")} + /* The cyrusdb backend to use for the seen state. */ + +-{ "sendmail", "/usr/lib/sendmail", STRING } ++{ "sendmail", "/usr/sbin/sendmail", STRING } + /* The pathname of the sendmail executable. Sieve invokes sendmail + for sending rejections, redirects and vacation responses. */ + +@@ -956,7 +956,7 @@ + /* If enabled, timsieved will expect a capability response after a successful + SASL authentication, per draft-martin-mangesieve-12.txt . */ + +-{ "sievedir", "/usr/sieve", STRING } ++{ "sievedir", "/var/imap/sieve", STRING } + /* If sieveusehomedir is false, this directory is searched for Sieve + scripts. */ + diff --git a/mail/cyrus-imapd30/files/patch-lib__libcyr_cfg.c b/mail/cyrus-imapd30/files/patch-lib__libcyr_cfg.c new file mode 100644 index 000000000000..5cbb64001209 --- /dev/null +++ b/mail/cyrus-imapd30/files/patch-lib__libcyr_cfg.c @@ -0,0 +1,13 @@ +Index: lib/libcyr_cfg.c +diff -u -p lib/libcyr_cfg.c.orig lib/libcyr_cfg.c +--- lib/libcyr_cfg.c.orig Wed Mar 10 00:05:58 2004 ++++ lib/libcyr_cfg.c Fri Feb 25 00:06:44 2005 +@@ -52,7 +52,7 @@ + #include "libcyr_cfg.h" + #include "cyrusdb.h" + +-#if defined(__GNUC__) && __GNUC__ > 1 ++#if defined(__GNUC__) && __GNUC__ > 1 && !defined(__INTEL_COMPILER) + /* We can use the GCC union constructor extension */ + #define CFGVAL(t,v) (union cyrus_config_value)((t)(v)) + #else diff --git a/mail/cyrus-imapd30/files/patch-tools__mkimap b/mail/cyrus-imapd30/files/patch-tools__mkimap new file mode 100644 index 000000000000..9ee1539e3776 --- /dev/null +++ b/mail/cyrus-imapd30/files/patch-tools__mkimap @@ -0,0 +1,38 @@ +Index: tools/mkimap +diff -u tools/mkimap.orig tools/mkimap +--- tools/mkimap.orig Fri Dec 2 07:30:22 2005 ++++ tools/mkimap Sat Dec 10 14:08:11 2005 +@@ -90,6 +90,9 @@ + + $imapdconf = shift || "/etc/imapd.conf"; + ++$cyrus_user = $ENV{CYRUS_USER} || "%%CYRUS_USER%%"; ++$cyrus_group = $ENV{CYRUS_GROUP} || "%%CYRUS_GROUP%%"; ++ + push @configs, $imapdconf; + + while ($conf = shift @configs) { +@@ -100,6 +103,7 @@ + + print "configuring $d...\n"; + ++mkdir $d, 0755; + chdir $d or die "couldn't change to $d"; + + mkdir "proc", 0755 || warn "can't create $d/proc: $!"; +@@ -110,12 +114,15 @@ + mkdir "ptclient", 0755 || warn "can't create $d/ptclient: $!"; + mkdir "sync", 0755 || warn "can't create $d/sync: $!"; + ++system "/usr/sbin/chown -R $cyrus_user:$cyrus_group ."; ++ + while ($part = shift @parts) { + print "creating $part...\n"; + mkdir $part, 0755 || warn "can't create $part: $!"; + chdir $part or die "couldn't change to partition $part"; + mkdir "stage.", 0755 || warn "can't create $part/stage.: $!"; + mkdir "sync.", 0755 || warn "can't create $part/sync.: $!"; ++ system "/usr/sbin/chown -R $cyrus_user:$cyrus_group $part"; + } + + print "done\n"; diff --git a/mail/cyrus-imapd30/files/pkg-deinstall.in b/mail/cyrus-imapd30/files/pkg-deinstall.in new file mode 100644 index 000000000000..37d610a2fdbe --- /dev/null +++ b/mail/cyrus-imapd30/files/pkg-deinstall.in @@ -0,0 +1,41 @@ +#!/bin/sh +# +# $FreeBSD$ +# Created by: hetzels@westbend.net + +#set -vx + +PKG_BATCH=${BATCH:=NO} +CYRUS_USER=${CYRUS_USER:=%%CYRUS_USER%%} + +# +# Modify the 'cyrus' user created from the cyrus-sasl port +# + +modify_cyrus_user() { + USER=${CYRUS_USER} + PW=/usr/sbin/pw + if [ -x /usr/sbin/nologin ]; then + shell=/usr/sbin/nologin + elif [ -x /sbin/nologin ]; then + shell=/sbin/nologin + else + shell=/nonexistent + fi + uhome=/nonexistent + + if ! ${PW} mod user ${USER} -d "${uhome}" -s "${shell}"; then + echo "*** Failed to update user \`${USER}'." + else + echo "*** Updated user \`${USER}'." + fi +} + +case $2 in + DEINSTALL) + ;; + POST-DEINSTALL) + modify_cyrus_user + ;; + +esac diff --git a/mail/cyrus-imapd30/files/pkg-install.in b/mail/cyrus-imapd30/files/pkg-install.in new file mode 100644 index 000000000000..8ca4da0a84ac --- /dev/null +++ b/mail/cyrus-imapd30/files/pkg-install.in @@ -0,0 +1,43 @@ +#!/bin/sh +# +# $FreeBSD$ + +#set -vx + +PKG_BATCH=${BATCH:=NO} +PKG_PREFIX=${PKG_PREFIX:=%%PREFIX%%} +CYRUS_USER=${CYRUS_USER:=%%CYRUS_USER%%} + +# +# Modify the 'cyrus' user created from the cyrus-sasl port +# + +modify_cyrus_user() { + USER=${CYRUS_USER} + PW=/usr/sbin/pw + shell=/bin/csh + uhome=${PKG_PREFIX}/cyrus + + if ! ${PW} mod user ${USER} -d "${uhome}" -s "${shell}"; then + echo "*** Failed to update user \`${USER}'." + else + echo "*** Updated user \`${USER}'." + fi +} + +case $2 in + PRE-INSTALL) + ;; + + POST-INSTALL) + modify_cyrus_user + if grep 'sieve' /etc/services; then + echo + else + echo + echo "** Please add an entry for the sieve protocol (4190/tcp)" + echo " to /etc/services" + echo + fi + ;; +esac diff --git a/mail/cyrus-imapd30/files/pkg-message.in b/mail/cyrus-imapd30/files/pkg-message.in new file mode 100644 index 000000000000..88581e006b9e --- /dev/null +++ b/mail/cyrus-imapd30/files/pkg-message.in @@ -0,0 +1,8 @@ +**************************************************************************** + +To setup mail spool, modify %%PREFIX%%/etc/imapd.conf appropriately, +then run %%PREFIX%%/cyrus/sbin/mkimap. +To run Cyrus IMAPd from startup, add cyrus_imapd_enable="YES" in your +/etc/rc.conf. + +**************************************************************************** diff --git a/mail/cyrus-imapd30/pkg-descr b/mail/cyrus-imapd30/pkg-descr new file mode 100644 index 000000000000..d44ca17cc310 --- /dev/null +++ b/mail/cyrus-imapd30/pkg-descr @@ -0,0 +1,21 @@ +The Cyrus IMAP (Internet Message Access Protocol) server provides access to +personal mail and system-wide bulletin boards through the IMAP protocol. +The Cyrus IMAP server is a scaleable enterprise mail system designed for use +from small to large enterprise environments using standards-based +technologies. + +A full Cyrus IMAP implementation allows a seamless mail and bulletin board +environment to be set up across multiple servers. It differs from other +IMAP server implementations in that it is run on "sealed" servers, where +users are not normally 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 software using the IMAP, POP3, or KPOP +protocols. + +The private mailbox database design gives the server large advantages in +efficiency, scalability, and administratability. Multiple concurrent +read/write connections to the same mailbox are permitted. The server +supports access control lists on mailboxes and storage quotas on mailbox +hierarchies. + +WWW: http://www.cyrusimap.org/ diff --git a/mail/cyrus-imapd30/pkg-plist b/mail/cyrus-imapd30/pkg-plist new file mode 100644 index 000000000000..65f420f76782 --- /dev/null +++ b/mail/cyrus-imapd30/pkg-plist @@ -0,0 +1,153 @@ +bin/cyradm +bin/httptest +bin/imtest +bin/installsieve +bin/lmtptest +bin/mupdatetest +bin/nntptest +bin/pop3test +bin/sieveshell +bin/sivtest +bin/smtptest +bin/synctest +%%BACKUP%%cyrus/libexec/backupd +cyrus/libexec/fud +%%HTTP%%cyrus/libexec/httpd +%%IDLED%%cyrus/libexec/idled +cyrus/libexec/imapd +cyrus/libexec/lmtpd +cyrus/libexec/lmtpproxyd +cyrus/libexec/master +%%NNTP%%cyrus/libexec/nntpd +cyrus/libexec/notifyd +cyrus/libexec/pop3d +cyrus/libexec/pop3proxyd +cyrus/libexec/proxyd +cyrus/libexec/smmapd +cyrus/libexec/timsieved +cyrus/sbin/arbitron +cyrus/sbin/chk_cyrus +%%BACKUP%%cyrus/sbin/ctl_backups +cyrus/sbin/ctl_conversationsdb +cyrus/sbin/ctl_cyrusdb +cyrus/sbin/ctl_deliver +cyrus/sbin/ctl_mboxlist +%%HTTP%%cyrus/sbin/ctl_zoneinfo +cyrus/sbin/cvt_cyrusdb +cyrus/sbin/cvt_xlist_specialuse +%%BACKUP%%cyrus/sbin/cyr_backup +cyrus/sbin/cyr_buildinfo +cyrus/sbin/cyr_dbtool +cyrus/sbin/cyr_deny +cyrus/sbin/cyr_df +cyrus/sbin/cyr_expire +cyrus/sbin/cyr_info +cyrus/sbin/cyr_sequence +cyrus/sbin/cyr_synclog +cyrus/sbin/cyr_userseen +cyrus/sbin/cyr_virusscan +cyrus/sbin/cyrdump +%%HTTP%%cyrus/sbin/dav_reconstruct +cyrus/sbin/deliver +%%NNTP%%cyrus/sbin/fetchnews +cyrus/sbin/ipurge +cyrus/sbin/masssievec +cyrus/sbin/mbexamine +cyrus/sbin/mbpath +cyrus/sbin/mbtool +cyrus/sbin/mkimap +%%MURDER%%cyrus/libexec/mupdate +%%LDAP%%cyrus/sbin/ptdump +%%LDAP%%cyrus/sbin/ptexpire +%%LDAP%%cyrus/libexec/ptloader +cyrus/sbin/quota +cyrus/sbin/reconstruct +cyrus/sbin/sievec +cyrus/sbin/sieved +cyrus/sbin/squatter +%%REPLICATION%%cyrus/sbin/sync_client +%%REPLICATION%%cyrus/sbin/sync_reset +%%REPLICATION%%cyrus/libexec/sync_server +cyrus/sbin/tls_prune +cyrus/sbin/unexpunge +etc/man.d/cyrus-imapd.conf +include/cyrus/acl.h +include/cyrus/arrayu64.h +include/cyrus/assert.h +include/cyrus/auth.h +include/cyrus/auth_pts.h +include/cyrus/bitvector.h +include/cyrus/bloom.h +include/cyrus/bsearch.h +include/cyrus/bufarray.h +include/cyrus/charset.h +include/cyrus/chartable.h +include/cyrus/command.h +include/cyrus/crc32.h +include/cyrus/crc32c.h +include/cyrus/cyr_lock.h +include/cyrus/cyrusdb.h +include/cyrus/exitcodes.h +include/cyrus/glob.h +include/cyrus/gmtoff.h +include/cyrus/hash.h +include/cyrus/hashu64.h +include/cyrus/imapopts.h +include/cyrus/imapurl.h +include/cyrus/imclient.h +include/cyrus/imparse.h +include/cyrus/iostat.h +include/cyrus/iptostring.h +include/cyrus/libcyr_cfg.h +include/cyrus/lsort.h +include/cyrus/map.h +include/cyrus/mappedfile.h +include/cyrus/mkgmtime.h +include/cyrus/mpool.h +include/cyrus/murmurhash2.h +include/cyrus/nonblock.h +include/cyrus/parseaddr.h +include/cyrus/retry.h +include/cyrus/rfc822tok.h +include/cyrus/sieve/sieve_err.h +include/cyrus/sieve/sieve_interface.h +include/cyrus/signals.h +include/cyrus/sqldb.h +include/cyrus/strarray.h +include/cyrus/strhash.h +include/cyrus/stristr.h +include/cyrus/sysexits.h +include/cyrus/times.h +include/cyrus/tok.h +include/cyrus/vparse.h +include/cyrus/wildmat.h +include/cyrus/xmalloc.h +lib/libcyrus.so +lib/libcyrus.so.0 +lib/libcyrus.so.0.0.0 +lib/libcyrus_com_err.so +lib/libcyrus_com_err.so.0 +lib/libcyrus_com_err.so.0.0.0 +lib/libcyrus_imap.so +lib/libcyrus_imap.so.0 +lib/libcyrus_imap.so.0.0.0 +lib/libcyrus_min.so +lib/libcyrus_min.so.0 +lib/libcyrus_min.so.0.0.0 +lib/libcyrus_sieve.so +lib/libcyrus_sieve.so.0 +lib/libcyrus_sieve.so.0.0.0 +%%SITE_PERL%%/Cyrus/Annotator/Daemon.pm +%%SITE_PERL%%/Cyrus/Annotator/Message.pm +%%SITE_ARCH%%/Cyrus/IMAP.pm +%%SITE_ARCH%%/Cyrus/IMAP/Admin.pm +%%SITE_ARCH%%/Cyrus/IMAP/IMSP.pm +%%SITE_ARCH%%/Cyrus/IMAP/Shell.pm +%%SITE_ARCH%%/Cyrus/SIEVE/managesieve.pm +%%SITE_ARCH%%/auto/Cyrus/IMAP/IMAP.so +%%SITE_ARCH%%/auto/Cyrus/SIEVE/managesieve/managesieve.so +libdata/pkgconfig/libcyrus.pc +libdata/pkgconfig/libcyrus_min.pc +libdata/pkgconfig/libcyrus_sieve.pc +@sample %%EXAMPLESDIR%%/imapd.conf etc/imapd.conf +@sample %%EXAMPLESDIR%%/normal.conf etc/cyrus.conf diff --git a/mail/websieve/Makefile b/mail/websieve/Makefile index 428df77ce485..8607141792c3 100644 --- a/mail/websieve/Makefile +++ b/mail/websieve/Makefile @@ -26,7 +26,8 @@ NO_ARCH= yes OPTIONS_SINGLE= TYPE OPTIONS_SINGLE_TYPE= PERL CYRUS OPTIONS_RADIO= CYRDEP -OPTIONS_RADIO_CYRDEP= CYRUS_IMAPD_23 CYRUS_IMAPD_24 CYRUS_IMAPD_25 +OPTIONS_RADIO_CYRDEP= CYRUS_IMAPD_23 CYRUS_IMAPD_24 CYRUS_IMAPD_25 \ + CYRUS_IMAPD_30 OPTIONS_DEFAULT= CYRUS CYRUS_IMAPD_24 TYPE_DESC= Choose which sieve backend to use @@ -36,7 +37,9 @@ CYRDEP_DESC= Which version of Cyrus IMAPd to depend on CYRUS_IMAPD_23_DESC= Cyrus IMAPd version 2.3.x CYRUS_IMAPD_24_DESC= Cyrus IMAPd version 2.4.x CYRUS_IMAPD_25_DESC= Cyrus IMAPd version 2.5.x +CYRUS_IMAPD_30_DESC= Cyrus IMAPd version 3.0.x +CYRUS_IMAPD_30_RUN_DEPENDS= ${SITE_ARCH}/Cyrus/SIEVE/managesieve.pm:mail/cyrus-imapd30 CYRUS_IMAPD_25_RUN_DEPENDS= ${SITE_ARCH}/Cyrus/SIEVE/managesieve.pm:mail/cyrus-imapd25 CYRUS_IMAPD_24_RUN_DEPENDS= ${SITE_ARCH}/Cyrus/SIEVE/managesieve.pm:mail/cyrus-imapd24 CYRUS_IMAPD_23_RUN_DEPENDS= ${SITE_ARCH}/Cyrus/SIEVE/managesieve.pm:mail/cyrus-imapd23 @@ -57,7 +60,10 @@ SUB_FILES= pkg-message _check-config: my-check-config my-check-config: .if ${PORT_OPTIONS:MPERL} -.if !empty(PORT_OPTIONS:MCYRUS_IMAPD_23) || !empty(PORT_OPTIONS:MCYRUS_IMAPD_24) || !empty(PORT_OPTIONS:MCYRUS_IMAPD_25) +.if !empty(PORT_OPTIONS:MCYRUS_IMAPD_23) || \ + !empty(PORT_OPTIONS:MCYRUS_IMAPD_24) || \ + !empty(PORT_OPTIONS:MCYRUS_IMAPD_25) || \ + !empty(PORT_OPTIONS:MCYRUS_IMAPD_30) @${ECHO_MSG} "====> You cannot select a dependency on cyrus with the PERL option" _CHECK_CONFIG_ERROR= true .endif |