aboutsummaryrefslogtreecommitdiff
path: root/www/calendarserver
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2016-06-26 20:28:34 +0000
committerKurt Jaeger <pi@FreeBSD.org>2016-06-26 20:28:34 +0000
commit144f9ca7e4ed6cd1d04c1f2c6de6e1ae63b0c186 (patch)
tree143b8ba53c1fd8856d6697c5fa0f88cfef890dcb /www/calendarserver
parentc8af26d85108371928a5095c335c23bca7fec41b (diff)
downloadports-144f9ca7e4ed6cd1d04c1f2c6de6e1ae63b0c186.tar.gz
ports-144f9ca7e4ed6cd1d04c1f2c6de6e1ae63b0c186.zip
www/calendarserver: 5.1 -> 8.0
Please note that updating from the previous version (5.1) to the current version (8.0) requires manual steps. Please consult the pkg-message for details. This update has changes since 2013, and upstream does not provide changelogs. PR: 210264 Submitted by: Axel Rau <Axel.Rau@Chaos1.DE> (maintainer)
Notes
Notes: svn path=/head/; revision=417614
Diffstat (limited to 'www/calendarserver')
-rw-r--r--www/calendarserver/Makefile57
-rw-r--r--www/calendarserver/distinfo4
-rw-r--r--www/calendarserver/files/patch-twext__python__log.py50
-rw-r--r--www/calendarserver/files/patch-twistedcaldav_____init____.py13
-rw-r--r--www/calendarserver/files/patch-twistedcaldav_stdconfig.py20
-rw-r--r--www/calendarserver/files/patch-txdav__common__datastore__sql_schema__current.sql11
-rw-r--r--www/calendarserver/files/patch-txdav_base_datastore_dbapiclient.py14
-rw-r--r--www/calendarserver/files/patch-txdav_base_propertystore_xattr.py (renamed from www/calendarserver/files/patch-txdav__base__propertystore__xattr.py)4
-rw-r--r--www/calendarserver/files/patch-txdav_common_datastore_sql__schema_current.sql11
-rw-r--r--www/calendarserver/files/pkg-message.in67
-rw-r--r--www/calendarserver/pkg-plist61
11 files changed, 177 insertions, 135 deletions
diff --git a/www/calendarserver/Makefile b/www/calendarserver/Makefile
index 3acd13f8f7f0..96c277d27e14 100644
--- a/www/calendarserver/Makefile
+++ b/www/calendarserver/Makefile
@@ -1,10 +1,9 @@
# $FreeBSD$
PORTNAME= calendarserver
-PORTVERSION= 5.1
-PORTREVISION= 6
+PORTVERSION= 8.0
CATEGORIES= www python
-MASTER_SITES= LOCAL/wg
+MASTER_SITES= http://www.lechner-rau.de/downloads/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= CalendarServer-${PORTVERSION}
@@ -15,48 +14,36 @@ LICENSE= APACHE20
FETCH_DEPENDS= svn:devel/subversion
BUILD_DEPENDS= ${FETCH_DEPENDS}
-RUN_DEPENDS= bash:shells/bash \
- memcached:databases/memcached \
- ${PYTHON_PKGNAMEPREFIX}pycrypto>=2.5:security/py-pycrypto \
- ${PYTHON_PKGNAMEPREFIX}dateutil>=2.1:devel/py-dateutil \
- ${PYTHON_PKGNAMEPREFIX}openssl>=0.13:security/py-openssl \
- ${PYTHON_PKGNAMEPREFIX}psutil121>=1.2:sysutils/py-psutil121 \
+RUN_DEPENDS= memcached:databases/memcached \
+ ${PYTHON_PKGNAMEPREFIX}calendar>=0.15423:devel/py-calendar \
${PYTHON_PKGNAMEPREFIX}PyGreSQL>=4.1:databases/py-PyGreSQL \
+ ${PYTHON_PKGNAMEPREFIX}pycrypto>=2.6.1:security/py-pycrypto \
+ ${PYTHON_PKGNAMEPREFIX}dateutil>=2.4.2:devel/py-dateutil \
+ ${PYTHON_PKGNAMEPREFIX}openssl>=0.14:security/py-openssl \
+ ${PYTHON_PKGNAMEPREFIX}pg8000>=1.10.2:databases/py-pg8000 \
+ ${PYTHON_PKGNAMEPREFIX}psutil>=3.4.2:sysutils/py-psutil \
+ ${PYTHON_PKGNAMEPREFIX}pytz>=2016.1:devel/py-pytz \
${PYTHON_PKGNAMEPREFIX}service_identity>=14.0.0:security/py-service_identity \
+ ${PYTHON_PKGNAMEPREFIX}setproctitle>=1.1.9:devel/py-setproctitle \
${PYTHON_PKGNAMEPREFIX}sqlite3>=2.7:databases/py-sqlite3 \
${PYTHON_PKGNAMEPREFIX}sqlparse>=0.1:databases/py-sqlparse \
- ${PYTHON_PKGNAMEPREFIX}xattr>=0.6:devel/py-xattr \
- ${PYTHON_PKGNAMEPREFIX}zope.interface>=3.8:devel/py-zope.interface
+ ${PYTHON_PKGNAMEPREFIX}twext>=0.15423:devel/py-twext \
+ ${PYTHON_PKGNAMEPREFIX}twisted>=15.4.0:devel/py-twisted \
+ ${PYTHON_PKGNAMEPREFIX}xattr>=0.7.5:devel/py-xattr \
+ ${PYTHON_PKGNAMEPREFIX}zope.interface>=4.1.3:devel/py-zope.interface
-OPTIONS_DEFINE= EXAMPLES DOCS
-EXAMPLES_DESC= Install configuration examples
-DOCS_DESC= Install additional documentation
-
-.include <bsd.port.options.mk>
-
-USES= shebangfix pgsql python \
- twisted:run,conch,mail,names,runner,web,words
+USES= pgsql:9.1+ python:2.7
USE_PYTHON= autoplist distutils
SUB_FILES= pkg-message
SUB_LIST+= USER=${USERS}
-
-SHEBANG_FILES= bin/calendarserver_* \
- bin/icalendar_split \
- bin/proxyclean \
- calendarserver/tools/backup_pg.py \
- calendarserver/tools/backup.py \
- twext/python/test/pullpipe.py
-
USE_RC_SUBR= caldavd
SUB_LIST+= PYTHON_CMD=${PYTHON_CMD}
SVN_REPOSITORY_URL= http://svn.calendarserver.org/repository/calendarserver
SVN_TAG1= CalendarServer/tags/release/${DISTNAME}
-SVN_CMD1= svn export -r13980
-SVN_TAG2= PyCalendar/trunk
-SVN_CMD2= svn export -r11458
+SVN_CMD1= svn export
LOGDIR= /var/log/caldavd
SHAREDIR= ${PREFIX}/share/caldavd
@@ -72,9 +59,6 @@ maint-gen-distfile:
${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} ; \
@@ -83,16 +67,11 @@ maint-gen-distfile:
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|/usr/bin|${LOCALBASE}/bin|g' ${WRKSRC}/calendarserver/tools/bootstrapdatabase.py
+ @${REINPLACE_CMD} -e 's|"{}.a1+unknown".format(base_version)|"8.0"|' ${WRKSRC}/setup.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
- (cd ${WRKSRC}/bin && ${COPYTREE_BIN} . ${STAGEDIR}${PREFIX}/bin)
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/conf && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
(cd ${WRKSRC}/doc && \
diff --git a/www/calendarserver/distinfo b/www/calendarserver/distinfo
index 918fca847fad..b347b46956c8 100644
--- a/www/calendarserver/distinfo
+++ b/www/calendarserver/distinfo
@@ -1,2 +1,2 @@
-SHA256 (CalendarServer-5.1.tar.gz) = 9b74ff56c930707f2c987e89fa0a4fa178601c7f8aca7be6f551db05d196455d
-SIZE (CalendarServer-5.1.tar.gz) = 4105027
+SHA256 (CalendarServer-8.0.tar.gz) = 284e4f52cd83f2db3c9d8ce789e617399bf186a3933f5b4f2f4cc937fca3d5a5
+SIZE (CalendarServer-8.0.tar.gz) = 4571878
diff --git a/www/calendarserver/files/patch-twext__python__log.py b/www/calendarserver/files/patch-twext__python__log.py
deleted file mode 100644
index 7cd77eab230c..000000000000
--- a/www/calendarserver/files/patch-twext__python__log.py
+++ /dev/null
@@ -1,50 +0,0 @@
---- twext/python/log.py.orig 2013-09-17 23:08:55 UTC
-+++ twext/python/log.py
-@@ -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/patch-twistedcaldav_____init____.py b/www/calendarserver/files/patch-twistedcaldav_____init____.py
new file mode 100644
index 000000000000..bc30658bf1fb
--- /dev/null
+++ b/www/calendarserver/files/patch-twistedcaldav_____init____.py
@@ -0,0 +1,13 @@
+--- twistedcaldav/__init__.py.orig 2016-01-07 15:18:44 UTC
++++ twistedcaldav/__init__.py
+@@ -33,6 +33,10 @@ File.contentTypes = loadMimeTypes(("/etc
+ # Register additional WebDAV XML elements
+ #
+
++# Make sure the default config is loaded and updated early on to avoid race conditions during startup. (upstream: r15635)
++from twistedcaldav.config import config
++config.update()
++
+ import twistedcaldav.caldavxml
+ import twistedcaldav.carddavxml
+ import twistedcaldav.mkcolxml
diff --git a/www/calendarserver/files/patch-twistedcaldav_stdconfig.py b/www/calendarserver/files/patch-twistedcaldav_stdconfig.py
new file mode 100644
index 000000000000..2aeb285ef3dc
--- /dev/null
+++ b/www/calendarserver/files/patch-twistedcaldav_stdconfig.py
@@ -0,0 +1,20 @@
+--- twistedcaldav/stdconfig.py.orig 2016-03-01 19:59:08 UTC
++++ twistedcaldav/stdconfig.py
+@@ -53,7 +53,7 @@ log = Logger()
+ if platform.isMacOSX():
+ DEFAULT_CONFIG_FILE = "/Applications/Server.app/Contents/ServerRoot/private/etc/caldavd/caldavd-apple.plist"
+ else:
+- DEFAULT_CONFIG_FILE = "/etc/caldavd/caldavd.plist"
++ DEFAULT_CONFIG_FILE = "/usr/local/etc/caldavd/caldavd.plist"
+
+ DEFAULT_SERVICE_PARAMS = {
+ "xml": {
+@@ -1827,6 +1827,8 @@ config.setProvider(PListConfigProvider(D
+ config.addPreUpdateHooks(PRE_UPDATE_HOOKS)
+ config.addPostUpdateHooks(POST_UPDATE_HOOKS)
+
++# Make sure the default config is loaded and updated early on to avoid race conditions during startup. (upstream: r15635)
++config.update()
+
+ def _preserveConfig(configDict):
+ """
diff --git a/www/calendarserver/files/patch-txdav__common__datastore__sql_schema__current.sql b/www/calendarserver/files/patch-txdav__common__datastore__sql_schema__current.sql
deleted file mode 100644
index f7bd44b3486e..000000000000
--- a/www/calendarserver/files/patch-txdav__common__datastore__sql_schema__current.sql
+++ /dev/null
@@ -1,11 +0,0 @@
---- txdav/common/datastore/sql_schema/current.sql.orig 2015-10-26 13:54:07.000000000 +0000
-+++ txdav/common/datastore/sql_schema/current.sql 2015-10-26 12:59:45.000000000 +0000
-@@ -62,7 +62,7 @@
- --------------
-
- create table CALENDAR (
-- RESOURCE_ID integer primary key default nextval('RESOURCE_ID_SEQ') -- implicit index
-+ RESOURCE_ID integer primary key default nextval('RESOURCE_ID_SEQ')
- );
-
- ----------------------------
diff --git a/www/calendarserver/files/patch-txdav_base_datastore_dbapiclient.py b/www/calendarserver/files/patch-txdav_base_datastore_dbapiclient.py
new file mode 100644
index 000000000000..c75c7065079b
--- /dev/null
+++ b/www/calendarserver/files/patch-txdav_base_datastore_dbapiclient.py
@@ -0,0 +1,14 @@
+--- txdav/base/datastore/dbapiclient.py.orig 2016-03-01 19:40:29 UTC
++++ txdav/base/datastore/dbapiclient.py
+@@ -427,7 +427,10 @@ def pg8000Preflight(connection, **kwargs
+ return v.encode("utf-8") if isinstance(v, unicode) else str(v)
+
+ connection.realConnection.py_types[str] = (705, postgres.core.FC_TEXT, my_text_out)
+- connection.realConnection.py_types[postgres.six.text_type] = (705, postgres.core.FC_TEXT, my_text_out)
++
++ # http://trac.calendarserver.org/ticket/940
++ from six import text_type
++ connection.realConnection.py_types[text_type] = (705, postgres.core.FC_TEXT, my_text_out)
+
+ def my_text_recv(data, offset, length):
+ return str(data[offset: offset + length])
diff --git a/www/calendarserver/files/patch-txdav__base__propertystore__xattr.py b/www/calendarserver/files/patch-txdav_base_propertystore_xattr.py
index 7b31b1e3f6e4..f71ba7e1f8a9 100644
--- a/www/calendarserver/files/patch-txdav__base__propertystore__xattr.py
+++ b/www/calendarserver/files/patch-txdav_base_propertystore_xattr.py
@@ -1,6 +1,6 @@
---- txdav/base/propertystore/xattr.py.orig 2013-05-30 01:18:39 UTC
+--- txdav/base/propertystore/xattr.py.orig 2016-01-07 15:18:44 UTC
+++ txdav/base/propertystore/xattr.py
-@@ -47,10 +47,14 @@
+@@ -47,10 +47,14 @@ from txdav.idav import PropertyStoreErro
# expose. Its value is 93.
#
diff --git a/www/calendarserver/files/patch-txdav_common_datastore_sql__schema_current.sql b/www/calendarserver/files/patch-txdav_common_datastore_sql__schema_current.sql
new file mode 100644
index 000000000000..05ad191a2163
--- /dev/null
+++ b/www/calendarserver/files/patch-txdav_common_datastore_sql__schema_current.sql
@@ -0,0 +1,11 @@
+--- txdav/common/datastore/sql_schema/current.sql.orig 2016-01-07 15:18:44 UTC
++++ txdav/common/datastore/sql_schema/current.sql
+@@ -90,7 +90,7 @@ insert into HOME_STATUS values (4, 'disa
+ --------------
+
+ create table CALENDAR (
+- RESOURCE_ID integer primary key default nextval('RESOURCE_ID_SEQ') -- implicit index
++ RESOURCE_ID integer primary key default nextval('RESOURCE_ID_SEQ')
+ );
+
+
diff --git a/www/calendarserver/files/pkg-message.in b/www/calendarserver/files/pkg-message.in
index 0cf61f91f99a..70db7adb23ef 100644
--- a/www/calendarserver/files/pkg-message.in
+++ b/www/calendarserver/files/pkg-message.in
@@ -3,7 +3,8 @@ 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).
+plus online DOCs, including RFCs in
+ %%PREFIX%%/share/doc/calendarserver .
Getting Started
---------------
@@ -14,6 +15,7 @@ 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
@@ -30,11 +32,13 @@ 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.
+ 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.
-- 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.
@@ -42,6 +46,57 @@ 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.
+The value of 'user name' in the client configuration is the value of the
+attribute <short-name>. Often an e-mail address is usefull here.
+In this case there is no need to define a server path on the client.
+
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/>.
+<false/>.
+
+
+Upgrading
+---------
+
+Upgrading from the previous version of this port (5.1) requires adjustments
+to the configuration:
+
+1. Stop the server, install the new version.
+
+2. accounts.xml has a new layout - see
+ %%PREFIX%%/share/examples/calendarserver/auth/accounts.xml
+
+ In that file <guid> is optional. If present, it must be a valid UUID like
+ FCB7BFFB-624D-4201-BA65-E133E439A661
+ If you have invalid UUID values in your guid attributes, the fastest
+ way to upgrade would be to delete them.
+ Any change on <guid> requires adjustment of the client configuration, as
+ the old server path
+ principals/__uids__/something
+ changes.
+
+ Creating new uuids can be done with python like this:
+
+ # python
+ Python 2.7.11 (default, Jun 5 2016, 06:09:57)
+ [GCC 4.2.1 Compatible FreeBSD Clang 3.4.1 . . .
+ >>> import uuid
+ >>> str(uuid.uuid4()).upper()
+ '22F5BC05-8EDE-421E-99DD-CEDE1B814635'
+ >>> str(uuid.uuid4()).upper()
+ 'A7211FE0-1D8F-474B-A5AB-262668EECE6C'
+
+3. Fix caldavd.plist
+
+ Adjust AdminPrincipals if you changed the admin uid above.
+ DatabaseConnection has a new format.
+
+ For these and all other changes review your plist, using
+ %%PREFIX%%/share/examples/calendarserver/caldavd.plist
+
+4. Start the server and follow server log. You should see messages about
+ schema and data migration like
+ Starting schema upgrade from version 24 to 60.
+ Schema upgraded from version 24 to 60.
+ These schould complete without errors.
+
diff --git a/www/calendarserver/pkg-plist b/www/calendarserver/pkg-plist
index 1cbb390d6b62..08a41e5f3f8a 100644
--- a/www/calendarserver/pkg-plist
+++ b/www/calendarserver/pkg-plist
@@ -1,21 +1,4 @@
-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
@@ -33,6 +16,7 @@ man/man8/calendarserver_shell.8.gz
%%PORTDOCS%%%%DOCSDIR%%/Admin/DirectoryService-XML.rst
%%PORTDOCS%%%%DOCSDIR%%/Admin/DirectoryServices.rst
%%PORTDOCS%%%%DOCSDIR%%/Admin/ExtendedLogItems.rst
+%%PORTDOCS%%%%DOCSDIR%%/Admin/Guide.rst
%%PORTDOCS%%%%DOCSDIR%%/Admin/LoadSimulation.rst
%%PORTDOCS%%%%DOCSDIR%%/Admin/MultiServerDeployment.rst
%%PORTDOCS%%%%DOCSDIR%%/Admin/iSchedule.txt
@@ -41,6 +25,7 @@ man/man8/calendarserver_shell.8.gz
%%PORTDOCS%%%%DOCSDIR%%/Client-Server/calendar-client.rst
%%PORTDOCS%%%%DOCSDIR%%/Developer/Calendar Store API.graffle
%%PORTDOCS%%%%DOCSDIR%%/Developer/Calendar Store Schema.graffle
+%%PORTDOCS%%%%DOCSDIR%%/Developer/CrossPodDesign.txt
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-ctag.txt
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-ctag.xml
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-notifications.txt
@@ -53,6 +38,8 @@ man/man8/calendarserver_shell.8.gz
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-proxy.xml
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-pubsubdiscovery.txt
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-pubsubdiscovery.xml
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-recursplit.txt
+%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-recursplit.xml
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-schedulingchanges.txt
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-schedulingchanges.xml
%%PORTDOCS%%%%DOCSDIR%%/Extensions/caldav-sharing.txt
@@ -61,8 +48,9 @@ man/man8/calendarserver_shell.8.gz
%%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%%/Notes/attendee-import.txt
+%%PORTDOCS%%%%DOCSDIR%%/Notes/index.txt
+%%PORTDOCS%%%%DOCSDIR%%/Notes/x-items.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
@@ -90,33 +78,56 @@ man/man8/calendarserver_shell.8.gz
%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6352-CardDAV.txt
%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6578-WebDAV Sync.txt
%%PORTDOCS%%%%DOCSDIR%%/RFC/rfc6638-CalDAV-Scheduling.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/RFC6764-srv-CalDAV.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/RFC6868-Parameter Value Encoding.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/RFC7095-jCard.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/RFC7265-jcal.txt
+%%PORTDOCS%%%%DOCSDIR%%/RFC/RFC7529-RSCALE.txt
%%PORTDOCS%%%%DOCSDIR%%/current.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/accounts-test-pod.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/accounts-test-s2s.xml
%%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-test-pod.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/augments-test-s2s.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/augments.dtd
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/proxies-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/generate_test_accounts.py
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/proxies.dtd
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/proxies-test-pod.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/proxies-test-s2s.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/proxies-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/resources-test-pod.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth/resources-test-s2s.xml
%%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-stdconfig.plist
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd-test.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd-test-podA.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd-test-podB.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd-test-s2s.plist
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/caldavd.plist
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dkim-test-s2s/other_keys/example.com#ischedule
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dkim-test-s2s/priv.pem
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dkim-test-s2s/pub.pem
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dkim-test/other_keys/example.org#ischedule2
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dkim-test/priv.pem
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dkim-test/pub.pem
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/localservers-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/localservers.dtd
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/localservers.xml
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mime.types
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/remoteservers-test.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/remoteservers-test-s2s.xml
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/remoteservers.dtd
%%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%%%%EXAMPLESDIR%%/test-db.zones
@dir etc/caldavd/auth