Hi,
I am the Debian maintainer for calendarserver. For calendarserver 6.2, I
have the new binaries built, including a new package for twext. But when
I run it, I get the error:
# caldavd -L
Traceback (most recent call last):
File "/usr/bin/twistd", line 14, in <module>
run()
File "/usr/lib/python2.7/dist-packages/twisted/scripts/twistd.py",
line 27, in run
app.run(runApp, ServerOptions)
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py",
line 652, in run
config.parseOptions()
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py",
line 619, in parseOptions
usage.Options.parseOptions(self, options)
File "/usr/lib/python2.7/dist-packages/twisted/python/usage.py", line
262, in parseOptions
for (cmd, short, parser, doc) in self.subCommands:
File "/usr/lib/python2.7/dist-packages/twisted/application/app.py",
line 636, in subCommands
for plug in sorted(plugins, key=attrgetter('tapname')):
File "/usr/lib/python2.7/dist-packages/twisted/plugins/caldav.py",
line 29, in getProperty
return getattr(reflect.namedClass(self.serviceMakerClass), propname)
File "/usr/lib/python2.7/dist-packages/twisted/python/reflect.py",
line 168, in namedObject
module = namedModule('.'.join(classSplit[:-1]))
File "/usr/lib/python2.7/dist-packages/twisted/python/reflect.py",
line 154, in namedModule
topLevel = __import__(name)
File "/usr/lib/python2.7/dist-packages/txdav/dps/server.py", line 21,
in <module>
from calendarserver.tap.util import getDBPool,
storeFromConfigWithDPSServer
File "/usr/lib/python2.7/dist-packages/calendarserver/tap/util.py",
line 33, in <module>
from calendarserver.provision.root import RootResource
File
"/usr/lib/python2.7/dist-packages/calendarserver/provision/root.py",
line 37, in <module>
from twistedcaldav.directory.principal import
DirectoryPrincipalResource
File
"/usr/lib/python2.7/dist-packages/twistedcaldav/directory/principal.py",
line 56, in <module>
from twistedcaldav.resource import
CalendarPrincipalCollectionResource, CalendarPrincipalResource
File "/usr/lib/python2.7/dist-packages/twistedcaldav/resource.py",
line 77, in <module>
from calendarserver.push.notifier import getPubSubAPSConfiguration
File
"/usr/lib/python2.7/dist-packages/calendarserver/push/notifier.py", line
29, in <module>
from txdav.common.datastore.sql_tables import schema
File
"/usr/lib/python2.7/dist-packages/txdav/common/datastore/sql_tables.py",
line 78, in <module>
schema = _populateSchema()
File
"/usr/lib/python2.7/dist-packages/txdav/common/datastore/sql_tables.py",
line 64, in _populateSchema
return SchemaSyntax(schemaFromPath(pathObj))
File
"/usr/lib/python2.7/dist-packages/twext/enterprise/dal/parseschema.py",
line 105, in schemaFromPath
addSQLToSchema(schema, schemaData)
File
"/usr/lib/python2.7/dist-packages/twext/enterprise/dal/parseschema.py",
line 152, in addSQLToSchema
t = tableFromCreateStatement(schema, stmt)
File
"/usr/lib/python2.7/dist-packages/twext/enterprise/dal/parseschema.py",
line 89, in tableFromCreateStatement
cp.parse()
File
"/usr/lib/python2.7/dist-packages/twext/enterprise/dal/parseschema.py",
line 335, in parse
while self.nextColumn():
File
"/usr/lib/python2.7/dist-packages/twext/enterprise/dal/parseschema.py",
line 347, in nextColumn
return self.parseColumn(maybeIdent.get_name())
File
"/usr/lib/python2.7/dist-packages/twext/enterprise/dal/parseschema.py",
line 515, in parseColumn
theDefault.tokens[-1], cls=Parenthesis
File
"/usr/lib/python2.7/dist-packages/twext/enterprise/dal/parseschema.py",
line 710, in expectSingle
cls, "%s:%r" % (nextval.__class__.__name__, nextval)
twext.enterprise.dal.parseschema.ViolatedExpectation: Expected <class
'sqlparse.sql.Parenthesis'> got Comment:<Comment '-- imp...' at
0x7fe4f014c490>
Attaching the caldavd.plist file that I am using. The postgres database
is created and pre-populated with the schema. Could you provide any
pointers on why this is occurring?
On a side note, if I run using the normal way i.e. ./bin/run -n, then it
starts properly. So, not sure what is the issue here.
Thanks,
Rahul.
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006-2015 Apple Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!--
Public network address information
This is the server's public network address, which is provided to
clients in URLs and the like. It may or may not be the network
address that the server is listening to directly, though it is by
default. For example, it may be the address of a load balancer or
proxy which forwards connections to the server.
-->
<!-- Network host name [empty = system host name] -->
<key>ServerHostName</key>
<string></string> <!-- The hostname clients use when connecting -->
<!-- HTTP port [0 = disable HTTP] -->
<key>HTTPPort</key>
<integer>8008</integer>
<!-- SSL port [0 = disable HTTPS] -->
<!-- (Must also configure SSLCertificate and SSLPrivateKey below) -->
<!--
<key>SSLPort</key>
<integer>8443</integer>
<key>EnableSSL</key>
<true/>
-->
<!-- Redirect non-SSL ports to an SSL port (if configured for SSL) -->
<key>RedirectHTTPToHTTPS</key>
<false/>
<!--
Network address configuration information
This configures the actual network address that the server binds to.
-->
<!-- List of IP addresses to bind to [empty = all] -->
<key>BindAddresses</key>
<array>
</array>
<!-- List of port numbers to bind to for HTTP [empty = same as "Port"] -->
<key>BindHTTPPorts</key>
<array>
</array>
<!-- List of port numbers to bind to for SSL [empty = same as "SSLPort"] -->
<key>BindSSLPorts</key>
<array>
</array>
<!--
Data Store
-->
<!-- Server root -->
<key>ServerRoot</key>
<string>/var/lib/caldavd</string>
<!-- Database connection -->
<key>DBType</key>
<string>postgres</string>
<key>DSN</key>
<string>127.0.0.1:caldav:caldavd:password::</string>
<!-- Data root -->
<key>DataRoot</key>
<string>/var/lib/caldavd</string>
<!-- Document root -->
<key>DocumentRoot</key>
<string>/var/spool/caldavd</string>
<!-- Configuration root -->
<key>ConfigRoot</key>
<string>/etc/caldavd</string>
<!-- Run root -->
<key>RunRoot</key>
<string>/var/run/caldavd</string>
<!-- Child aliases -->
<key>Aliases</key>
<array>
<!--
<dict>
<key>url</key>
<string>/foo</string>
<key>path</key>
<string>/path/to/foo</string>
</dict>
-->
</array>
<!--
Quotas and limits
-->
<!-- User quota (in bytes) [0 = no quota] applies to attachments only -->
<key>UserQuota</key>
<integer>104857600</integer> <!-- 100Mb -->
<!-- Maximum size for a single attachment (in bytes) [0 = no limit] -->
<key>MaximumAttachmentSize</key>
<integer>10485760</integer> <!-- 10Mb -->
<!-- Maximum number of calendars/address books allowed in a home -->
<!-- 0 for no limit -->
<key>MaxCollectionsPerHome</key>
<integer>50</integer>
<!-- Maximum number of resources in a calendar/address book -->
<!-- 0 for no limit -->
<key>MaxResourcesPerCollection</key>
<integer>10000</integer>
<!-- Maximum resource size (in bytes) -->
<key>MaxResourceSize</key>
<integer>1048576</integer> <!-- 1Mb -->
<!-- Maximum number of unique attendees per entire event -->
<!-- 0 for no limit -->
<key>MaxAttendeesPerInstance</key>
<integer>100</integer>
<!-- Maximum number of instances allowed during expansion -->
<!-- 0 for no limit -->
<key>MaxAllowedInstances</key>
<integer>3000</integer>
<!--
Directory service
A directory service provides information about principals (eg.
users, groups, locations and resources) to the server.
A variety of directory services are available for use.
-->
<!-- XML File Directory Service -->
<key>DirectoryService</key>
<dict>
<key>type</key>
<string>twistedcaldav.directory.xmlfile.XMLDirectoryService</string>
<key>params</key>
<dict>
<key>xmlFile</key>
<string>/etc/caldavd/accounts.xml</string>
</dict>
</dict>
<!-- Open Directory Service (Mac OS X) -->
<!--
<key>DirectoryService</key>
<dict>
<key>type</key>
<string>twistedcaldav.directory.appleopendirectory.OpenDirectoryService</string>
<key>params</key>
<dict>
<key>node</key>
<string>/Search</string>
<key>cacheTimeout</key>
<integer>30</integer>
</dict>
</dict>
-->
<!-- NSS Directory Service -->
<!-- Groups starting with groupPrefix are considered calendarserver groups -->
<!-- Don't treat user id's smaller than firstValidUid as calendarserver users -->
<!-- Don't treat group id's smaller than firstValidGid as calendarserver groups -->
<!-- use shortName@mailDomain as calender user mail addresses -->
<!--
<key>DirectoryService</key>
<dict>
<key>type</key>
<string>twistedcaldav.directory.nss.NssDirectoryService</string>
<key>params</key>
<dict>
<key>realmName</key>
<string>Test Realm</string>
<key>groupPrefix</key>
<string>caldavd-</string>
<key>firstValidUid</key>
<integer>1000</integer>
<key>lastValidUid</key>
<integer>65533</integer>
<key>firstValidGid</key>
<integer>1000</integer>
<key>lastValidGid</key>
<integer>65533</integer>
<key>mailDomain</key>
<string>example.com</string>
<key>cacheTimeout</key>
<integer>30</integer>
</dict>
</dict>
-->
<!-- OpenLDAP Directory Service -->
<!--
<key>DirectoryService</key>
<dict>
<key>type</key>
<string>twistedcaldav.directory.ldapdirectory.LdapDirectoryService</string>
<key>params</key>
<dict>
<key>restrictEnabledRecords</key>
<false/>
<key>restrictToGroup</key>
<string></string>
<key>cacheTimeout</key>
<integer>30</integer>
<key>uri</key>
<string>ldap://example.com/</string>
<key>tls</key>
<false/>
<key>tlsCACertFile</key>
<string></string>
<key>tlsCACertDir</key>
<string></string>
<key>tlsRequireCert</key>
<string>never</string>
<key>credentials</key>
<dict>
<key>dn</key>
<string></string>
<key>password</key>
<string></string>
</dict>
<key>authMethod</key>
<string>LDAP</string>
<key>rdnSchema</key>
<dict>
<key>base</key>
<string>dc=example,dc=com</string>
<key>guidAttr</key>
<string>entryUUID</string>
<key>users</key>
<dict>
<key>rdn</key>
<string>ou=People</string>
<key>attr</key>
<string>uid</string>
<key>emailSuffix</key>
<string></string>
<key>filter</key>
<string></string>
<key>loginEnabledAttr</key>
<string></string>
<key>loginEnabledValue</key>
<string>yes</string>
<key>mapping</key>
<dict>
<key>recordName</key>
<string>uid</string>
<key>fullName</key>
<string>cn</string>
<key>emailAddresses</key>
<string>mail</string>
<key>firstName</key>
<string>givenName</string>
<key>lastName</key>
<string>sn</string>
</dict>
</dict>
<key>groups</key>
<dict>
<key>rdn</key>
<string>ou=Group</string>
<key>attr</key>
<string>cn</string>
<key>emailSuffix</key>
<string></string>
<key>filter</key>
<string></string>
<key>mapping</key>
<dict>
<key>recordName</key>
<string>cn</string>
<key>fullName</key>
<string>cn</string>
<key>emailAddresses</key>
<string>mail</string>
<key>firstName</key>
<string>givenName</string>
<key>lastName</key>
<string>sn</string>
</dict>
</dict>
</dict>
<key>groupSchema</key>
<dict>
<key>membersAttr</key>
<string>member</string>
<key>nestedGroupsAttr</key>
<string></string>
<key>memberIdAttr</key>
<string></string>
</dict>
<key>resourceSchema</key>
<dict>
<key>resourceInfoAttr</key>
<string></string>
<key>autoScheduleAttr</key>
<string></string>
<key>autoScheduleEnabledValue</key>
<string>yes</string>
<key>proxyAttr</key>
<string></string>
<key>readOnlyProxyAttr</key>
<string></string>
</dict>
</dict>
</dict>
-->
<!-- Resource and Location Service -->
<key>ResourceService</key>
<dict>
<key>Enabled</key>
<true/>
<key>type</key>
<string>twistedcaldav.directory.xmlfile.XMLDirectoryService</string>
<key>params</key>
<dict>
<key>xmlFile</key>
<string>/etc/caldavd/resources.xml</string>
</dict>
</dict>
<!--
Special principals
These principals are granted special access and/or perform
special roles on the server.
-->
<!-- Principals with "DAV:all" access (relative URLs) -->
<key>AdminPrincipals</key>
<array>
<!-- <string>/principals/__uids__/AEB68DD7-D2B8-4D4D-A574-2A4533DF36A4/</string> -->
</array>
<!-- Principals with "DAV:read" access (relative URLs) -->
<key>ReadPrincipals</key>
<array>
<!-- <string>/principals/__uids__/983C8238-FB6B-4D92-9242-89C0A39E5F81/</string> -->
</array>
<!-- Create "proxy access" principals -->
<key>EnableProxyPrincipals</key>
<true/>
<!--
Permissions
-->
<!-- Anonymous read access for root resource -->
<key>EnableAnonymousReadRoot</key>
<true/>
<!-- Anonymous read access for resource hierarchy -->
<key>EnableAnonymousReadNav</key>
<false/>
<!-- Enables directory listings for principals -->
<key>EnablePrincipalListings</key>
<false/>
<!-- Render calendar collections as a monolithic iCalendar object -->
<key>EnableMonolithicCalendars</key>
<true/>
<!--
Authentication
-->
<key>Authentication</key>
<dict>
<!-- Clear text; best avoided -->
<key>Basic</key>
<dict>
<key>Enabled</key>
<false/>
<!-- Set to false to disallow plaintext authentication over non-SSL -->
<key>AllowedOverWireUnencrypted</key>
<true/>
</dict>
<!-- Digest challenge/response -->
<key>Digest</key>
<dict>
<key>Enabled</key>
<true/>
<key>Algorithm</key>
<string>md5</string>
<key>Qop</key>
<string></string>
</dict>
<!-- Kerberos/SPNEGO -->
<key>Kerberos</key>
<dict>
<key>Enabled</key>
<true/>
<key>ServicePrincipal</key>
<string></string>
</dict>
</dict>
<!--
Logging
-->
<!-- Log root -->
<key>LogRoot</key>
<string>/var/log/caldavd</string>
<!-- Apache-style access log -->
<key>AccessLogFile</key>
<string>access.log</string>
<key>RotateAccessLog</key>
<true/>
<!-- Server activity log -->
<key>ErrorLogFile</key>
<string>error.log</string>
<!-- Log levels -->
<key>DefaultLogLevel</key>
<string>warn</string> <!-- debug, info, warn, error -->
<!-- Server process ID file -->
<key>PIDFile</key>
<string>caldavd.pid</string>
<!--
SSL/TLS
-->
<!-- Public key -->
<key>SSLCertificate</key>
<string>/etc/ssl/certs/ssl-cert-snakeoil.pem</string>
<!-- SSL authority chain (for intermediate certs) -->
<key>SSLAuthorityChain</key>
<string></string>
<!-- Private key -->
<key>SSLPrivateKey</key>
<string>/etc/ssl/private/ssl-cert-snakeoil.key</string>
<!--
Process management
-->
<key>UserName</key>
<string>caldavd</string>
<key>GroupName</key>
<string>caldavd</string>
<key>ProcessType</key>
<string>Combined</string>
<key>MultiProcess</key>
<dict>
<key>ProcessCount</key>
<integer>0</integer> <!-- 0 = automatic -->
</dict>
<!--
Notifications
-->
<key>Notifications</key>
<dict>
<!-- Time spent coalescing notifications before delivery -->
<key>CoalesceSeconds</key>
<integer>3</integer>
<key>Services</key>
<dict>
<key>XMPPNotifier</key>
<dict>
<!-- XMPP notification service -->
<key>Service</key>
<string>twistedcaldav.notify.XMPPNotifierService</string>
<key>Enabled</key>
<false/>
<!-- XMPP host and port to contact -->
<key>Host</key>
<string>xmpp.host.name</string>
<key>Port</key>
<integer>5222</integer>
<!-- Jabber ID and password for the server -->
<key>JID</key>
<string>j...@xmpp.host.name/resource</string>
<key>Password</key>
<string>password_goes_here</string>
<!-- PubSub service address -->
<key>ServiceAddress</key>
<string>pubsub.xmpp.host.name</string>
</dict>
</dict>
</dict>
<!--
Server-to-server protocol
-->
<key>Scheduling</key>
<dict>
<!-- CalDAV protocol options -->
<key>CalDAV</key>
<dict>
<key>EmailDomain</key>
<string></string>
<key>HTTPDomain</key>
<string></string>
<key>AddressPatterns</key>
<array>
</array>
</dict>
<!-- iSchedule protocol options -->
<key>iSchedule</key>
<dict>
<key>Enabled</key>
<false/>
<key>AddressPatterns</key>
<array>
</array>
<key>RemoteServers</key>
<string>/etc/caldavd/remoteservers.xml</string>
</dict>
<!-- iMIP protocol options -->
<key>iMIP</key>
<dict>
<key>Enabled</key>
<false/>
<key>MailGatewayServer</key>
<string>localhost</string>
<key>MailGatewayPort</key>
<integer>62310</integer>
<key>Sending</key>
<dict>
<key>Server</key>
<string></string>
<key>Port</key>
<integer>587</integer>
<key>UseSSL</key>
<true/>
<key>Username</key>
<string></string>
<key>Password</key>
<string></string>
<key>Address</key>
<string></string> <!-- Address email will be sent from -->
</dict>
<key>Receiving</key>
<dict>
<key>Server</key>
<string></string>
<key>Port</key>
<integer>995</integer>
<key>Type</key>
<string></string> <!-- Either "pop" or "imap" -->
<key>UseSSL</key>
<true/>
<key>Username</key>
<string></string>
<key>Password</key>
<string></string>
<key>PollingSeconds</key>
<integer>30</integer>
</dict>
<key>AddressPatterns</key>
<array>
<string>mailto:.*</string>
</array>
</dict>
</dict>
<!--
Free-busy URL protocol
-->
<key>FreeBusyURL</key>
<dict>
<key>Enabled</key>
<true/>
<key>TimePeriod</key>
<integer>14</integer>
<key>AnonymousAccess</key>
<false/>
</dict>
<!--
Non-standard CalDAV extensions
-->
<!-- Private Events -->
<key>EnablePrivateEvents</key>
<true/>
<!-- Shared Calendars & Address Books -->
<key>Sharing</key>
<dict>
<key>Enabled</key>
<true/>
</dict>
<!--
Miscellaneous items
-->
<!-- Web-based administration -->
<key>EnableWebAdmin</key>
<true/>
<!-- Memcached -->
<key>Memcached</key>
<dict>
<key>Pools</key>
<dict>
<key>Default</key>
<dict>
<key>ServerEnabled</key>
<false/>
<key>Port</key>
<integer>11211</integer>
</dict>
</dict>
</dict>
<!-- Do not split calendars and tasks -->
<key>RestrictCalendarsToOneComponentType</key>
<false/>
</dict>
</plist>
_______________________________________________
calendarserver-dev mailing list
calendarserver-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/calendarserver-dev