aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--GIDs1
-rw-r--r--UIDs1
-rw-r--r--www/Makefile1
-rw-r--r--www/calendarserver/Makefile100
-rw-r--r--www/calendarserver/distinfo2
-rw-r--r--www/calendarserver/files/caldavd.in40
-rw-r--r--www/calendarserver/files/patch-twext_python_log.py52
-rw-r--r--www/calendarserver/files/pkg-message.in47
-rw-r--r--www/calendarserver/pkg-descr6
-rw-r--r--www/calendarserver/pkg-plist133
10 files changed, 383 insertions, 0 deletions
diff --git a/GIDs b/GIDs
index 7aadd085e250..67a5396f1852 100644
--- a/GIDs
+++ b/GIDs
@@ -202,6 +202,7 @@ _xsi:*:600:
_tss:*:601:
_pkcs11:*:602:
freeswitch:*:610:
+caldavd:*:639:639:
monkeysphere:*:641:
aox:*:666:
riak:*:667:
diff --git a/UIDs b/UIDs
index 41c8b515fdcc..f8557883e002 100644
--- a/UIDs
+++ b/UIDs
@@ -206,6 +206,7 @@ _tss:*:601:601:daemon:0:0:TrouSerS user:/var/empty:/usr/sbin/nologin
_pkcs11:*:602:602:daemon:0:0:opencryptoki user:/var/empty:/usr/sbin/nologin
freeswitch:*:610:610::0:0:Freeswitch user:/nonexistent:/usr/sbin/nologin
_pla:*:636:80::0:0:phpLDAPAdmin Owner:/nonexistent:/usr/sbin/nologin
+caldavd:*:639:639::0:0:Caldavd user:/var/db/caldavd:/usr/sbin/nologin
monkeysphere:*:641:641::0:0:Monkeysphere User:/var/monkeysphere:/usr/local/bin/bash
aox:*:666:666::0:0:Archiveopteryx user:/nonexistent:/usr/sbin/nologin
riak:*:667:667::0:0:Riak user:/usr/local/lib/riak:/bin/sh
diff --git a/www/Makefile b/www/Makefile
index e710f2cdb899..03f2f10f325e 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -62,6 +62,7 @@
SUBDIR += cakephp22
SUBDIR += cakephp23
SUBDIR += calamaris
+ SUBDIR += calendarserver
SUBDIR += castget
SUBDIR += caudium14
SUBDIR += cblog
diff --git a/www/calendarserver/Makefile b/www/calendarserver/Makefile
new file mode 100644
index 000000000000..0d61c837b478
--- /dev/null
+++ b/www/calendarserver/Makefile
@@ -0,0 +1,100 @@
+# $FreeBSD$
+
+PORTNAME= calendarserver
+PORTVERSION= 5.1
+CATEGORIES= www python
+MASTER_SITES= https://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= CalendarServer-${PORTVERSION}
+
+MAINTAINER= axel.rau@chaos1.de
+COMMENT= Calendar and Contacts Server from Apple (RFC 4791, RFC 6352)
+
+LICENSE= APACHE20
+
+FETCH_DEPENDS= svn:${PORTSDIR}/devel/subversion
+BUILD_DEPENDS= ${FETCH_DEPENDS}
+RUN_DEPENDS= bash:${PORTSDIR}/shells/bash \
+ memcached:${PORTSDIR}/databases/memcached \
+ ${PYTHON_PKGNAMEPREFIX}pycrypto>=2.5:${PORTSDIR}/security/py-pycrypto \
+ ${PYTHON_PKGNAMEPREFIX}dateutil>=2.1:${PORTSDIR}/devel/py-dateutil \
+ ${PYTHON_PKGNAMEPREFIX}openssl>=0.13:${PORTSDIR}/security/py-openssl \
+ ${PYTHON_PKGNAMEPREFIX}psutil>=1.2:${PORTSDIR}/sysutils/py-psutil \
+ ${PYTHON_PKGNAMEPREFIX}PyGreSQL>=4.1:${PORTSDIR}/databases/py-PyGreSQL \
+ ${PYTHON_PKGNAMEPREFIX}sqlite3>=2.7:${PORTSDIR}/databases/py-sqlite3 \
+ ${PYTHON_PKGNAMEPREFIX}sqlparse>=0.1:${PORTSDIR}/databases/py-sqlparse \
+ ${PYTHON_PKGNAMEPREFIX}xattr>=0.6:${PORTSDIR}/devel/py-xattr \
+ ${PYTHON_PKGNAMEPREFIX}zope.interface>=3.8:${PORTSDIR}/devel/py-zope.interface
+
+OPTIONS_DEFINE= EXAMPLES DOCS
+EXAMPLES_DESC= Install configuration examples
+DOCS_DESC= Install additional documentation
+
+NEED_ROOT= yes
+USES= shebangfix pgsql:9.0+ python twisted:run,conch,mail,names,runner,web,words
+USE_PYTHON= autoplist distutils
+
+SUB_FILES= pkg-message
+SUB_LIST+= USER=${USERS}
+
+SHEBANG_FILES=\
+ ${WRKSRC}/calendarserver/tools/backup_pg.py \
+ ${WRKSRC}/calendarserver/tools/backup.py \
+ ${WRKSRC}/twext/python/test/pullpipe.py
+
+USE_RC_SUBR= caldavd
+
+SVN_REPOSITORY_URL= http://svn.calendarserver.org/repository/calendarserver
+SVN_TAG1= CalendarServer/tags/release/${DISTNAME}
+SVN_CMD1= svn export
+SVN_TAG2= PyCalendar/trunk
+SVN_CMD2= svn export -r11458
+
+LOGDIR= /var/log/caldavd
+SHAREDIR= ${PREFIX}/share/caldavd
+
+ETCDIR= ${PREFIX}/etc/caldavd
+
+CALDAVD_USER= caldavd
+USERS= ${CALDAVD_USER}
+GROUPS= ${CALDAVD_USER}
+
+do-fetch:
+ @if [ ! -f "${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}" ] ; then \
+ ${MKDIR} ${WRKDIR} ; cd ${WRKDIR} ; ${RM} -Rf ${WRKDIR}/${DISTNAME} ; \
+ ${ECHO_MSG} "=> Checking out CalendarServer from svn.calendarserver.org/..."; \
+ ${SVN_CMD1} ${SVN_REPOSITORY_URL}/${SVN_TAG1} > /dev/null ; \
+ ${ECHO_MSG} "=> Checking out PyCalendar from svn.calendarserver.org/..."; \
+ cd ${WRKDIR}/${DISTNAME} ; ${SVN_CMD2} ${SVN_REPOSITORY_URL}/${SVN_TAG2} > /dev/null ; \
+ ${MV} trunk/src/* . ; \
+ ${ECHO_MSG} "=> Creating tar archive ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}"; \
+ cd ${WRKDIR} ; tar -czf ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ${DISTNAME} ; \
+ ${RM} -Rf ${WRKDIR}/${DISTNAME} ; \
+ else \
+ ${ECHO_MSG} "===> ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} found." ; \
+ fi
+
+post-patch:
+
+ @${REINPLACE_CMD} -e 's|"{number} ({info})".format(number=version_number, info=version_info)|"5.1"|' ${WRKSRC}/setup.py
+ @${REINPLACE_CMD} -e 's|distutils.core|setuptools|g' ${WRKSRC}/setup.py
+ @${REINPLACE_CMD} -e 's|bin/bash|usr/bin/env bash|' ${WRKSRC}/bin/caldavd
+ @${REINPLACE_CMD} -e 's|/usr/bin|${LOCALBASE}/bin|g' ${WRKSRC}/calendarserver/tools/bootstrapdatabase.py
+ @${REINPLACE_CMD} -e 's|"/etc/caldavd/caldavd.plist"|"${ETCDIR}/caldavd.plist"|g' ${WRKSRC}/twistedcaldav/stdconfig.py
+ @${REINPLACE_CMD} -e 's|/usr/share/caldavd/lib/python/txdav/common/datastore|${SHAREDIR}|' ${WRKSRC}/calendarserver/tools/bootstrapdatabase.py
+ @${REINPLACE_CMD} -e 's|"_postgres"|"pgsql"|' ${WRKSRC}/calendarserver/tools/bootstrapdatabase.py
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${ETCDIR}/auth
+ @${MKDIR} ${STAGEDIR}${ETCDIR}
+ (cd ${WRKSRC}/bin && ${COPYTREE_BIN} . ${STAGEDIR}${PREFIX}/bin)
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ (cd ${WRKSRC}/conf && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
+ cd ${WRKSRC}/doc && \
+ for i in `ls |${GREP} -v '.8'`; do \
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}/$${i} && \
+ ${INSTALL_MAN} ${WRKSRC}/doc/$${i}/* ${STAGEDIR}${DOCSDIR}/$${i}; done
+ ${CP} -p ${WRKSRC}/txdav/common/datastore/sql_schema/current.sql ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${WRKSRC}/doc/*.8 ${STAGEDIR}${PREFIX}/man/man8
+
+.include <bsd.port.mk>
diff --git a/www/calendarserver/distinfo b/www/calendarserver/distinfo
new file mode 100644
index 000000000000..998e174e1b51
--- /dev/null
+++ b/www/calendarserver/distinfo
@@ -0,0 +1,2 @@
+SHA256 (CalendarServer-5.1.tar.gz) = d8081c9764ee03b598420b074494e09800c7ca6b751435394f9b56b4a720c70e
+SIZE (CalendarServer-5.1.tar.gz) = 4106073
diff --git a/www/calendarserver/files/caldavd.in b/www/calendarserver/files/caldavd.in
new file mode 100644
index 000000000000..5d3ef054eb4d
--- /dev/null
+++ b/www/calendarserver/files/caldavd.in
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: caldavd
+# REQUIRE: DAEMON
+#
+# Add the following lines to /etc/rc.conf to run caldavd:
+#
+# caldavd_enable (bool): Set it to "YES" to enable caldavd.
+# Default is "NO".
+# caldavd_conf (file): Local config file.
+# Default is "/usr/local/etc/caldavd.conf".
+# caldavd_flags (string): Flags to pass to caldavd.
+# Default is empty.
+#
+
+. /etc/rc.subr
+
+: ${caldavd_enable="NO"}
+: ${caldavd_conf="%%PREFIX%%/etc/caldavd/caldavd.plist"}
+
+name="caldavd"
+rcvar=`set_rcvar`
+command="%%PREFIX%%/bin/caldavd"
+command_args=" -f ${caldavd_conf} -R kqueue"
+
+extra_commands="reload"
+pidfile="/var/db/${name}/${name}.pid"
+
+
+required_files="${caldavd_conf}"
+
+stop_cmd=" if [ -f ${pidfile} ] ; then kill -TERM `cat ${pidfile}` ; else echo 'Not running.'; fi "
+start_precmd="install -d -o %%USER%% /var/db/caldavd/Data/Documents /var/db/caldavd/Documents && install -d /var/log/caldavd"
+reload_cmd=" if [ -f ${pidfile} ] ; then kill -HUP `cat ${pidfile}` ; else echo 'Not running.'; fi "
+status_cmd=" if [ -f ${pidfile} ] ; then ps -xl `cat ${pidfile}` ; else echo 'Not running.'; fi "
+
+load_rc_config ${name}
+run_rc_command "$1"
diff --git a/www/calendarserver/files/patch-twext_python_log.py b/www/calendarserver/files/patch-twext_python_log.py
new file mode 100644
index 000000000000..d33e79bd125f
--- /dev/null
+++ b/www/calendarserver/files/patch-twext_python_log.py
@@ -0,0 +1,52 @@
+Index: twext/trunk/twext/python/log.py
+===================================================================
+--- twext/python/log.py.orig 2013-09-17 23:08:55.000000000 +0000
++++ twext/python/log.py 2014-01-22 09:29:56.000000000 +0000
+@@ -932,24 +932,29 @@
+ # Don't patch this module
+ if moduleName is __name__:
+ continue
+-
+- for name, obj in module.__dict__.iteritems():
+- newLogger = Logger(namespace=module.__name__)
+- legacyLogger = LegacyLogger(logger=newLogger)
+-
+- if obj is twisted.python.log:
+- log.info("Replacing Twisted log module object {0} in {1}"
+- .format(name, module.__name__))
+- setattr(module, name, legacyLogger)
+- elif obj is twisted.python.log.msg:
+- log.info("Replacing Twisted log.msg object {0} in {1}"
+- .format(name, module.__name__))
+- setattr(module, name, legacyLogger.msg)
+- elif obj is twisted.python.log.err:
+- log.info("Replacing Twisted log.err object {0} in {1}"
+- .format(name, module.__name__))
+- setattr(module, name, legacyLogger.err)
+-
++
++ try:
++ for name, obj in module.__dict__.iteritems():
++ newLogger = Logger(namespace=module.__name__)
++ legacyLogger = LegacyLogger(logger=newLogger)
++
++ if obj is twisted.python.log:
++ log.info("Replacing Twisted log module object {0} in {1}"
++ .format(name, module.__name__))
++ setattr(module, name, legacyLogger)
++ elif obj is twisted.python.log.msg:
++ log.info("Replacing Twisted log.msg object {0} in {1}"
++ .format(name, module.__name__))
++ setattr(module, name, legacyLogger.msg)
++ elif obj is twisted.python.log.err:
++ log.info("Replacing Twisted log.err object {0} in {1}"
++ .format(name, module.__name__))
++ setattr(module, name, legacyLogger.err)
++ except (AttributeError, RuntimeError,):
++ # Can't look up __name__. A hack in the "six" module causes
++ # this. Skip the module.
++ # See https://trac.calendarserver.org/ticket/832
++ continue
+
+
+ ######################################################################
diff --git a/www/calendarserver/files/pkg-message.in b/www/calendarserver/files/pkg-message.in
new file mode 100644
index 000000000000..0cf61f91f99a
--- /dev/null
+++ b/www/calendarserver/files/pkg-message.in
@@ -0,0 +1,47 @@
+This is the core code base for the Calendar and Contacts Server,
+which is a CalDAV, CardDAV, WebDAV, and HTTP server.
+
+For general information about the server, see:
+ http://www.calendarserver.org/
+plus online DOCs, including RFCs (if installed).
+
+Getting Started
+---------------
+
+Before you can run the server, you need to set up a configuration file
+(etc/caldavd/caldavd.plist).
+If you installed the examples configuration, you could start with a test
+configuration by copying and editing from
+%%PREFIX%%/share/examples/calendarserver/ to %%PREFIX%%/etc/caldavd/
+the files
+caldavd*.plist
+auth/accounts.dtd
+auth/accounts.xml
+auth/augments.dtd
+auth/augments-test.xml
+auth/proxies.dtd
+auth/proxies-test.xml
+
+You will need to choose a "directory service" to use to populate your server's
+principals (users, groups and resources). A directory service provides
+the Calendar and Contacts Server with information about these principals.
+
+Some of the directory services which are supported by the Calendar and
+Contacts Server include:
+
+- XMLDirectoryService: this service is configurable via an XML file that
+contains principal information. The file auth/accounts.xml provides
+an example principals configuration.
+
+- OpenDirectoryService: this service uses Apple's OpenDirectory client (which in
+turn uses LDAP, Active Directory, etc.) to obtain principal information.
+The above configuration uses XMLDirectoryService by default.
+This is a generally useful configuration for development and testing.
+
+This file contains a user principal, named admin, with password admin,
+which is set up (in caldavd-test.plist) to have administrative permissions
+on the server.
+
+Updates from earlier versions may require a DB schema update, which is done
+automatically on server start up, if <key>FailIfUpgradeNeeded</key> is set to
+<true/>.
diff --git a/www/calendarserver/pkg-descr b/www/calendarserver/pkg-descr
new file mode 100644
index 000000000000..35254ff3ffad
--- /dev/null
+++ b/www/calendarserver/pkg-descr
@@ -0,0 +1,6 @@
+The open source Calendar and Contacts Server project is a standards-compliant
+server implementing the CalDAV and CardDAV protocols (RFC 4791, RFC 6352).
+It provides a shared location on the network allowing multiple users to store
+and edit calendaring and contact information.
+
+WWW: http://www.calendarserver.org
diff --git a/www/calendarserver/pkg-plist b/www/calendarserver/pkg-plist
new file mode 100644
index 000000000000..4086d23f0c9e
--- /dev/null
+++ b/www/calendarserver/pkg-plist
@@ -0,0 +1,133 @@
+bin/_calendarserver_preamble.py
+bin/calendarserver_dbinspect
+bin/calendarserver_dkimtool
+bin/calendarserver_icalendar_validate
+bin/calendarserver_load_augmentdb
+bin/calendarserver_make_partition
+bin/calendarserver_manage_postgres
+bin/calendarserver_monitor_amp_notifications
+bin/calendarserver_monitor_notifications
+bin/calendarserver_monitor_work
+bin/calendarserver_verify_data
+bin/icalendar_split
+bin/make-ssl-ca
+bin/make-ssl-key
+bin/proxyclean
+bin/watch_memcached
+man/man8/caldavd.8.gz
+man/man8/calendarserver_bootstrap_database.8.gz
+man/man8/calendarserver_command_gateway.8.gz
+man/man8/calendarserver_config.8.gz
+man/man8/calendarserver_export.8.gz
+man/man8/calendarserver_manage_principals.8.gz
+man/man8/calendarserver_manage_push.8.gz
+man/man8/calendarserver_manage_timezones.8.gz
+man/man8/calendarserver_migrate_resources.8.gz
+man/man8/calendarserver_monitor_notifications.8.gz
+man/man8/calendarserver_purge_attachments.8.gz
+man/man8/calendarserver_purge_events.8.gz
+man/man8/calendarserver_purge_principals.8.gz
+man/man8/calendarserver_shell.8.gz
+%%PORTDOCS%%%%DOCSDIR%%/Admin/DirectoryService-Apache.rst
+%%PORTDOCS%%%%DOCSDIR%%/Admin/DirectoryService-OpenDirectory.rst
+%%PORTDOCS%%%%DOCSDIR%%/Admin/DirectoryService-XML.rst
+%%PORTDOCS%%%%DOCSDIR%%/Admin/DirectoryServices.rst
+%%PORTDOCS%%%%DOCSDIR%%/Admin/ExtendedLogItems.rst
+%%PORTDOCS%%%%DOCSDIR%%/Admin/LoadSimulation.rst
+%%PORTDOCS%%%%DOCSDIR%%/Admin/MultiServerDeployment.rst
+%%PORTDOCS%%%%DOCSDIR%%/Admin/iSchedule.txt
+%%PORTDOCS%%%%DOCSDIR%%/Client-Server/Principal Bootstrap.graffle.zip
+%%PORTDOCS%%%%DOCSDIR%%/Client-Server/Principal Bootstrap.pdf
+%%PORTDOCS%%%%DOCSDIR%%/Client-Server/calendar-client.rst
+%%PORTDOCS%%%%DOCSDIR%%/Developer/Calendar Store API.graffle
+%%PORTDOCS%%%%DOCSDIR%%/Developer/Calendar Store Schema.graffle
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-ctag.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-ctag.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-notifications.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-notifications.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-privatecomments.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-privatecomments.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-privateevents.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-privateevents.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-proxy.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-proxy.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-pubsubdiscovery.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-pubsubdiscovery.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-schedulingchanges.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-schedulingchanges.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-sharing.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-sharing.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/calendarserver-bulk-change.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/calendarserver-bulk-change.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/icalendar-maskuids.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/icalendar-maskuids.xml
+%%PORTDOCS%%%%DOCSDIR%%/RFC/RFC6764-srv-CalDAV.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/RFC6868-Parameter Value Encoding.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/draft-daboo-caldav-extensions.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/draft-daboo-calendar-availability.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/draft-daboo-carddav-directory-gateway.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/draft-desruisseaux-ischedule.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc2616-HTTP.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc2617-HTTP Auth.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc3253-DeltaV.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc3283-Calendaring.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc3744-WebDAV ACL.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc4331-WebDAV Quota.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc4559-SPNEGO.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc4791-CalDAV.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc4918-WebDAV.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc5397-Current Principal.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc5545-iCalendar.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc5546-iTIP.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc5689-Extended MKCOL.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc5785-well-known-uris.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc5842-BIND.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc5995-POST addmember.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6047-iMIP.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6321-xCal.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6350-vCard4.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6351-xCard.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6352-CardDAV.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6578-WebDAV Sync.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6638-CalDAV-Scheduling.txt
+%%PORTDOCS%%%%DOCSDIR%%/current.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/accounts-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/accounts.dtd
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/accounts.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/augments-default.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/augments-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/augments.dtd
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/proxies-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/proxies.dtd
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/resources-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd-apple.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd-partitioning-primary.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd-partitioning-secondary.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd-test.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/localservers-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/localservers.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mime.types
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/remoteservers-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/remoteservers.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/resources.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/resources/caldavd-resources.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/resources/locations-resources-orig.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/resources/locations-resources.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/resources/users-groups.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/servers.dtd
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/servertoserver.dtd
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sudoers.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/test/accounts.xml
+%%PORTEXAMPLES%%@dirrmtry %%EXAMPLESDIR%%/test
+%%PORTEXAMPLES%%@dirrmtry %%EXAMPLESDIR%%/resources
+%%PORTEXAMPLES%%@dirrmtry %%EXAMPLESDIR%%/auth
+%%PORTEXAMPLES%%@dirrmtry %%EXAMPLESDIR%%
+%%PORTDOCS%%@dirrmtry %%DOCSDIR%%/RFC
+%%PORTDOCS%%@dirrmtry %%DOCSDIR%%/Extensions
+%%PORTDOCS%%@dirrmtry %%DOCSDIR%%/Developer
+%%PORTDOCS%%@dirrmtry %%DOCSDIR%%/Client-Server
+%%PORTDOCS%%@dirrmtry %%DOCSDIR%%/Admin
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrmtry etc/caldavd/auth
+@dirrmtry etc/caldavd