pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Introducing draft package for cyrus-imapd30. From version 3 on, the Cyrus IMAP server also offers the option of serving calendars and address books via a CalDAV / CardDAV interface. The information is stored in special directories in the same location that is used for the emails. This makes Cyrus IMAP a self-contained groupware server.
- To: pkgsrc-wip-changes%NetBSD.org@localhost
- Subject: Introducing draft package for cyrus-imapd30. From version 3 on, the Cyrus IMAP server also offers the option of serving calendars and address books via a CalDAV / CardDAV interface. The information is stored in special directories in the same location that is used for the emails. This makes Cyrus IMAP a self-contained groupware server.
- From: Matthias Petermann <mp%petermann-it.de@localhost>
- Date: Sun, 08 Mar 2020 13:15:53 +0000
Module Name: pkgsrc-wip
Committed By: Matthias Petermann <mp%petermann-it.de@localhost>
Pushed By: mp
Date: Sun Mar 8 14:15:53 2020 +0100
Changeset: 4e113b9223b70ba7ee0bece1d704058f3ffb2d93
Added Files:
cyrus-imapd30/DEINSTALL
cyrus-imapd30/DESCR
cyrus-imapd30/MESSAGE
cyrus-imapd30/Makefile
cyrus-imapd30/PLIST
cyrus-imapd30/TODO
cyrus-imapd30/distinfo
cyrus-imapd30/files/cyrus.sh
cyrus-imapd30/files/imapd.conf
cyrus-imapd30/options.mk
cyrus-imapd30/patches/patch-ac
cyrus-imapd30/patches/patch-ah
cyrus-imapd30/patches/patch-ai
cyrus-imapd30/patches/patch-am
cyrus-imapd30/patches/patch-ao
cyrus-imapd30/patches/patch-aq
cyrus-imapd30/patches/patch-imap_mailbox.c
Log Message:
Introducing draft package for cyrus-imapd30. From version 3 on, the
Cyrus IMAP server also offers the option of serving calendars and
address books via a CalDAV / CardDAV interface. The information is
stored in special directories in the same location that is used for
the emails. This makes Cyrus IMAP a self-contained groupware server.
Done so far:
- created copy of mail/cyrus-imapd24 → wip/cyrus-imapd30
- cleared CVS versioning (netbsd$ tag) information from file headers
- make 3.0.13 source fetchable, adjusted distinfo
- updated DESCR
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=4e113b9223b70ba7ee0bece1d704058f3ffb2d93
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
cyrus-imapd30/DEINSTALL | 38 ++++++
cyrus-imapd30/DESCR | 13 ++
cyrus-imapd30/MESSAGE | 17 +++
cyrus-imapd30/Makefile | 142 +++++++++++++++++++++
cyrus-imapd30/PLIST | 190 +++++++++++++++++++++++++++++
cyrus-imapd30/TODO | 22 ++++
cyrus-imapd30/distinfo | 13 ++
cyrus-imapd30/files/cyrus.sh | 80 ++++++++++++
cyrus-imapd30/files/imapd.conf | 25 ++++
cyrus-imapd30/options.mk | 118 ++++++++++++++++++
cyrus-imapd30/patches/patch-ac | 35 ++++++
cyrus-imapd30/patches/patch-ah | 13 ++
cyrus-imapd30/patches/patch-ai | 13 ++
cyrus-imapd30/patches/patch-am | 19 +++
cyrus-imapd30/patches/patch-ao | 17 +++
cyrus-imapd30/patches/patch-aq | 28 +++++
cyrus-imapd30/patches/patch-imap_mailbox.c | 21 ++++
17 files changed, 804 insertions(+)
diffs:
diff --git a/cyrus-imapd30/DEINSTALL b/cyrus-imapd30/DEINSTALL
new file mode 100644
index 0000000000..b4ba0a13e4
--- /dev/null
+++ b/cyrus-imapd30/DEINSTALL
@@ -0,0 +1,38 @@
+# $NetBSD: $
+
+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/cyrus-imapd30/DESCR b/cyrus-imapd30/DESCR
new file mode 100644
index 0000000000..5a06d94219
--- /dev/null
+++ b/cyrus-imapd30/DESCR
@@ -0,0 +1,13 @@
+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.
+
+From version 3 on, the Cyrus IMAP server also offers the option of
+serving calendars and address books via a CalDAV / CardDAV interface.
+The information is stored in special directories in the same location
+that is used for the emails. This makes Cyrus IMAP a self-contained
+groupware server.
diff --git a/cyrus-imapd30/MESSAGE b/cyrus-imapd30/MESSAGE
new file mode 100644
index 0000000000..6e222f13a9
--- /dev/null
+++ b/cyrus-imapd30/MESSAGE
@@ -0,0 +1,17 @@
+===========================================================================
+$NetBSD: $
+
+Please refer to:
+
+ ${PREFIX}/share/doc/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/cyrus-imapd/install-upgrade.html
+
+===========================================================================
diff --git a/cyrus-imapd30/Makefile b/cyrus-imapd30/Makefile
new file mode 100644
index 0000000000..f2d965b908
--- /dev/null
+++ b/cyrus-imapd30/Makefile
@@ -0,0 +1,142 @@
+# $NetBSD: $
+
+DISTNAME= cyrus-imapd-3.0.13
+#PKGREVISION= 1
+CATEGORIES= mail
+MASTER_SITES= https://github.com/cyrusimap/cyrus-imapd/releases/download/${PKGNAME}/
+#MASTER_SITES= ${MASTER_SITE_GITHUB:=cyrusimap/}
+#GITHUB_TAG= v${PKGVERSION_NOREV}
+
+MAINTAINER= mp%petermann-it.de@localhost
+HOMEPAGE= https://www.cyrusimap.org/
+COMMENT= Cyrus IMAP server
+#LICENSE= original-bsd # like license
+
+MAKE_JOBS_SAFE= no
+
+USE_TOOLS+= perl:run makedepend
+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-murder
+CONFIGURE_ARGS+= --enable-nntp
+CONFIGURE_ARGS+= --enable-replication
+
+CONFIGURE_ARGS+= andrew_cv_runpath_switch=${COMPILER_RPATH_FLAG}
+
+.include "options.mk"
+
+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
+
+REPLACE_PERL+= tools/rehash
+
+SUBST_CLASSES+= sh
+SUBST_STAGE.sh= post-build
+SUBST_FILES.sh= perl/imap/blib/script/cyradm
+SUBST_SED.sh+= -e 's|^\#!.*|\#!/bin/sh|'
+
+PERL5_PACKLIST= \
+ auto/Cyrus/IMAP/.packlist \
+ auto/Cyrus/SIEVE/managesieve/.packlist
+
+pre-build:
+ ${RUN}${_ULIMIT_CMD} \
+ cd ${WRKSRC} && ${BUILD_MAKE_CMD} depend
+
+.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"
+.include "../../security/tcp_wrappers/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 "../../devel/zlib/buildlink3.mk"
+CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib}
+.include "../../mk/bsd.pkg.mk"
diff --git a/cyrus-imapd30/PLIST b/cyrus-imapd30/PLIST
new file mode 100644
index 0000000000..143b5ae81b
--- /dev/null
+++ b/cyrus-imapd30/PLIST
@@ -0,0 +1,190 @@
+@comment $NetBSD: $
+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_sequence
+cyrus/bin/cyr_synclog
+cyrus/bin/cyr_userseen
+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/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/crc32.h
+include/cyrus/cyr_lock.h
+include/cyrus/cyrusdb.h
+include/cyrus/glob.h
+include/cyrus/gmtoff.h
+include/cyrus/hash.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/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/signals.h
+include/cyrus/strarray.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/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/ag.html
+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
diff --git a/cyrus-imapd30/TODO b/cyrus-imapd30/TODO
new file mode 100644
index 0000000000..17bfa68ef0
--- /dev/null
+++ b/cyrus-imapd30/TODO
@@ -0,0 +1,22 @@
+Warning: this pkg is currently under construction. It was created as a
+copy of mail/cyrus-imap24. It cannot currently be expected that it can
+be built, let alone that it will work as expected. I plan to keep the
+pkg up to date here so that the progress is transparent. I am open to
+suggestions or active support.
+
+Next steps:
+
+1) Make it build the most basic way
+
+2) Evaluation of the patches of the existing Cyrus-imap-pkgs and
+ their applicability for cyrus-imap 3
+
+3) Possibly create further patches for cyrus-imap 3 (especially with
+ regard to the newly added functions CalDAV / CardDAV), if necessary
+
+4) Review and adjustment of scripts / provided files (configuration
+ examples, man pages)
+
+5) Fine-tuning of the build
+
+For questions, tips or offers of help you can contact me at mp%petermann-it.de@localhost
diff --git a/cyrus-imapd30/distinfo b/cyrus-imapd30/distinfo
new file mode 100644
index 0000000000..4aff170fa9
--- /dev/null
+++ b/cyrus-imapd30/distinfo
@@ -0,0 +1,13 @@
+$NetBSD: $
+
+SHA1 (cyrus-imapd-3.0.13.tar.gz) = 69d29e09ae4e4f3c8ae0c49a1024b7ec4dffbf57
+RMD160 (cyrus-imapd-3.0.13.tar.gz) = b789c903620e83160fce4de3e06bbe0c842f7957
+SHA512 (cyrus-imapd-3.0.13.tar.gz) = 5cd066916797efb975cdb97720f65edc72d3fe82afbd78a26aa8369d95ae4ca09c0593dd4bec5521156c64ea38af7a13065f3b35447a76267dec93feb0ac6ac6
+Size (cyrus-imapd-3.0.13.tar.gz) = 10840005 bytes
+SHA1 (patch-ac) = c3b0f801b17bad99a2d84c4885aadbdfca2c28ce
+SHA1 (patch-ah) = 4bc62dfdeafdca83ddac02aff0ffd05db28fe0b9
+SHA1 (patch-ai) = 9167678988f411479d187b232eb10ad8622b4151
+SHA1 (patch-am) = e100e13d5137116f5bd7674e954031b2615e5ab1
+SHA1 (patch-ao) = c01c9d32b4d73cbc32d2ad8bfca8b8b021ca2474
+SHA1 (patch-aq) = 101f5d253dae303f187e15eca28aa687f846ba6b
+SHA1 (patch-imap_mailbox.c) = 9a000763a153863f6c40f8939fe19eab41973cea
diff --git a/cyrus-imapd30/files/cyrus.sh b/cyrus-imapd30/files/cyrus.sh
new file mode 100644
index 0000000000..f5acdfb10f
--- /dev/null
+++ b/cyrus-imapd30/files/cyrus.sh
@@ -0,0 +1,80 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: $
+#
+# PROVIDE: cyrus
+# REQUIRE: DAEMON
+# BEFORE: mail
+# KEYWORD: shutdown
+#
+# 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"
+sig_stop=QUIT
+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/cyrus-imapd30/files/imapd.conf b/cyrus-imapd30/files/imapd.conf
new file mode 100644
index 0000000000..aba0e6b82a
--- /dev/null
+++ b/cyrus-imapd30/files/imapd.conf
@@ -0,0 +1,25 @@
+# $NetBSD: $
+#
+# 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/cyrus-imapd30/options.mk b/cyrus-imapd30/options.mk
new file mode 100644
index 0000000000..1e80f61bc9
--- /dev/null
+++ b/cyrus-imapd30/options.mk
@@ -0,0 +1,118 @@
+# $NetBSD: $
+#
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.cyrus-imapd
+PKG_SUPPORTED_OPTIONS= gssapi kerberos kerberos4 ldap pcre snmp
+PKG_SUPPORTED_OPTIONS+= bdb mysql pgsql sqlite
+PKG_SUGGESTED_OPTIONS= bdb pcre
+
+.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
+.else
+CONFIGURE_ARGS+= --without-krb
+CONFIGURE_ARGS+= --disable-gssapi
+CHECK_BUILTIN.heimdal:= yes
+. include "../../security/heimdal/builtin.mk"
+CHECK_BUILTIN.heimdal:= no
+CHECK_BUILTIN.mit-krb5:= yes
+. include "../../security/mit-krb5/builtin.mk"
+CHECK_BUILTIN.mit-krb5:= no
+. if ( !empty(USE_BUILTIN.heimdal:M[Yy][Ee][Ss]) || \
+ !empty(USE_BUILTIN.mit-krb5:M[Yy][Ee][Ss])) && \
+ exists(/usr/bin/compile_et) && exists(/usr/include/krb5/com_err.h)
+CPPFLAGS+= -I/usr/include/krb5
+CONFIGURE_ENV+= COMPILE_ET=/usr/bin/compile_et
+. elif ${OPSYS} != "Linux" && \
+ exists(/usr/bin/compile_et) && exists(/usr/include/com_err.h)
+CONFIGURE_ENV+= COMPILE_ET=/usr/bin/compile_et
+. else
+CONFIGURE_ARGS+= --with-com-err=yes
+. endif
+.endif
+.if defined(CONFIGURE_ENV) && !empty(CONFIGURE_ENV:MCOMPILE_ET=*)
+post-configure: generate-compile-et
+.endif
+
+generate-compile-et:
+ ${RUN}cd ${WRKSRC}/com_err/et; \
+ if ${TEST} ! -f Makefile -a ! -f compile_et; then \
+ ${SED} -e 's,@SED@,${SED},g' \
+ -e 's,@AWK@,${AWK},g' \
+ -e 's,@DIR@,${WRKSRC}/com_err/et,g' \
+ < compile_et.sh > compile_et; \
+ ${CHMOD} +x compile_et; \
+ fi
+
+.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:Mbdb)
+BDB_ACCEPTED= db3 db4 db5
+. 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
+
+.if !empty(PKG_OPTIONS:Mpcre)
+. include "../../devel/pcre/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-pcre
+.else
+CONFIGURE_ARGS+= --disable-pcre
+.endif
diff --git a/cyrus-imapd30/patches/patch-ac b/cyrus-imapd30/patches/patch-ac
new file mode 100644
index 0000000000..7512d2a8f6
--- /dev/null
+++ b/cyrus-imapd30/patches/patch-ac
@@ -0,0 +1,35 @@
+$NetBSD: $
+
+--- imap/Makefile.in.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/Makefile.in
+@@ -179,6 +179,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 idlemsg.o mutex_fake.o libimap.a $(DEPLIBS)
+ $(CC) $(LDFLAGS) -o idled \
+@@ -213,16 +216,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/cyrus-imapd30/patches/patch-ah b/cyrus-imapd30/patches/patch-ah
new file mode 100644
index 0000000000..f0996c74dc
--- /dev/null
+++ b/cyrus-imapd30/patches/patch-ah
@@ -0,0 +1,13 @@
+$NetBSD: $
+
+--- perl/Makefile.in.orig 2010-10-19 03:08:28.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/cyrus-imapd30/patches/patch-ai b/cyrus-imapd30/patches/patch-ai
new file mode 100644
index 0000000000..6ec75d41f8
--- /dev/null
+++ b/cyrus-imapd30/patches/patch-ai
@@ -0,0 +1,13 @@
+$NetBSD: $
+
+--- perl/sieve/Makefile.in.orig 2010-10-19 03:08:28.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/cyrus-imapd30/patches/patch-am b/cyrus-imapd30/patches/patch-am
new file mode 100644
index 0000000000..5654588d80
--- /dev/null
+++ b/cyrus-imapd30/patches/patch-am
@@ -0,0 +1,19 @@
+$NetBSD: $
+
+--- tools/config2header.orig 2010-10-19 03:08:28.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/cyrus-imapd30/patches/patch-ao b/cyrus-imapd30/patches/patch-ao
new file mode 100644
index 0000000000..96fff81478
--- /dev/null
+++ b/cyrus-imapd30/patches/patch-ao
@@ -0,0 +1,17 @@
+$NetBSD: $
+
+--- imap/imap_err.et.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/imap_err.et
+@@ -201,10 +201,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"
diff --git a/cyrus-imapd30/patches/patch-aq b/cyrus-imapd30/patches/patch-aq
new file mode 100644
index 0000000000..eebf0bb3ef
--- /dev/null
+++ b/cyrus-imapd30/patches/patch-aq
@@ -0,0 +1,28 @@
+$NetBSD: $
+
+* cast to unsigned long for platform sizeof(time_t) > sizeof(unsigned long).
+ https://bugzilla.cyrusimap.org/show_bug.cgi?id=3376
+
+--- imap/sync_client.c.orig 2012-12-01 19:57:54.000000000 +0000
++++ imap/sync_client.c
+@@ -573,7 +573,7 @@ static int folder_unannotation(const cha
+ /* ====================================================================== */
+
+ static int sieve_upload(const char *userid, const char *filename,
+- unsigned long last_update)
++ time_t last_update)
+ {
+ const char *cmd = "SIEVE";
+ struct dlist *kl;
+@@ -913,9 +913,9 @@ static void log_record(const char *name,
+ struct index_record *record)
+ {
+ syslog(LOG_NOTICE, "SYNCNOTICE: %s uid:%u modseq:" MODSEQ_FMT " "
+- "last_updated:%lu internaldate:%lu flags:(%s)",
++ "last_updated:" MODSEQ_FMT " internaldate:" MODSEQ_FMT " flags:(%s)",
+ name, record->uid, record->modseq,
+- record->last_updated, record->internaldate,
++ (modseq_t)record->last_updated, (modseq_t)record->internaldate,
+ make_flags(mailbox, record));
+ }
+
diff --git a/cyrus-imapd30/patches/patch-imap_mailbox.c b/cyrus-imapd30/patches/patch-imap_mailbox.c
new file mode 100644
index 0000000000..9cff763cec
--- /dev/null
+++ b/cyrus-imapd30/patches/patch-imap_mailbox.c
@@ -0,0 +1,21 @@
+$NetBSD: $
+
+* cast to unsigned long for platform sizeof(time_t) > sizeof(unsigned long).
+ https://bugzilla.cyrusimap.org/show_bug.cgi?id=3376
+
+--- imap/mailbox.c.orig 2012-12-01 19:57:54.000000000 +0000
++++ imap/mailbox.c
+@@ -1960,10 +1960,10 @@ bit32 make_sync_crc(struct mailbox *mail
+ flagcrc ^= crc32_cstring(buf);
+ }
+
+- snprintf(buf, 4096, "%u " MODSEQ_FMT " %lu (%u) %lu %s",
+- record->uid, record->modseq, record->last_updated,
++ snprintf(buf, 4096, "%u " MODSEQ_FMT " " MODSEQ_FMT " (%u) " MODSEQ_FMT " %s",
++ record->uid, record->modseq, (modseq_t)record->last_updated,
+ flagcrc,
+- record->internaldate,
++ (modseq_t)record->internaldate,
+ message_guid_encode(&record->guid));
+
+ return crc32_cstring(buf);
Home |
Main Index |
Thread Index |
Old Index