[CalendarServer-changes] [4182] CalendarServer/branches/release/CalendarServer-2.2-dev
source_changes at macosforge.org
source_changes at macosforge.org
Tue May 5 16:53:05 PDT 2009
Revision: 4182
http://trac.macosforge.org/projects/calendarserver/changeset/4182
Author: wsanchez at apple.com
Date: 2009-05-05 16:53:05 -0700 (Tue, 05 May 2009)
Log Message:
-----------
Pulled up r4178 r4179 from trunk.
Modified Paths:
--------------
CalendarServer/branches/release/CalendarServer-2.2-dev/contrib/migration/59_calendarmigrator.py
Property Changed:
----------------
CalendarServer/branches/release/CalendarServer-2.2-dev/
CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-privatecomments.txt
CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-privatecomments.xml
CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-schedulingchanges.txt
CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-schedulingchanges.xml
Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev
___________________________________________________________________
Modified: svn:mergeinfo
- /CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/trunk:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165
+ /CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/trunk:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165,4178-4179
Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/contrib/migration/59_calendarmigrator.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/contrib/migration/59_calendarmigrator.py 2009-05-05 23:20:51 UTC (rev 4181)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/contrib/migration/59_calendarmigrator.py 2009-05-05 23:53:05 UTC (rev 4182)
@@ -24,6 +24,7 @@
import optparse
import os
import plistlib
+import shutil
import subprocess
import sys
@@ -32,6 +33,7 @@
SERVICE_NAME = "calendar"
LAUNCHD_OVERRIDES = "var/db/launchd.db/com.apple.launchd/overrides.plist"
LAUNCHD_PREFS_DIR = "System/Library/LaunchDaemons"
+CALDAVD_CONFIG_DIR = "etc/caldavd"
SERVERADMIN = "/usr/sbin/serveradmin"
def main():
@@ -56,7 +58,8 @@
optionParser.add_option('--targetRoot', type='string',
metavar='DIR',
- help='path to the root of the new system (IGNORED)')
+ help='path to the root of the new system',
+ default='/')
optionParser.add_option('--language', choices=('en', 'fr', 'de', 'ja'),
metavar='[en|fr|de|ja]',
@@ -65,42 +68,85 @@
(options, args) = optionParser.parse_args()
if options.sourceRoot:
- try:
- disabled = isServiceDisabled(options.sourceRoot, LAUNCHD_KEY)
- log("Service '%s' was previously %s" %
- (LAUNCHD_KEY, "disabled" if disabled else "enabled"))
- except ServiceStateError, e:
- log("Couldn't determine previous state of service '%s': %s" %
- (LAUNCHD_KEY, e))
- sys.exit(0)
- command = "stop" if disabled else "start"
- try:
- processArgs = [SERVERADMIN, command, SERVICE_NAME]
- log("Invoking %s" % (processArgs,))
- serveradmin = subprocess.Popen(
- args=processArgs,
- stdout=subprocess.PIPE,
- )
- output, error = serveradmin.communicate()
+ if os.path.exists(options.sourceRoot):
+ migrateRunState(options)
+ migrateConfiguration(options)
- expectedState = "STOPPED" if disabled else "RUNNING"
- if '%s:state = "%s"' % (SERVICE_NAME, expectedState) in output:
- log("Service %s is now %s" % (SERVICE_NAME, expectedState))
- else:
- log("ERROR: serveradmin returned %s" % (output,))
- sys.exit(1)
-
- except Exception, e:
- log("ERROR: Failed to run %s: %s" %
- (SERVERADMIN, e))
- sys.exit(1)
-
else:
log("ERROR: --sourceRoot must be specified")
sys.exit(1)
+def migrateRunState(options):
+ """
+ Try to determine whether server was running in previous system, then
+ user serveradmin to start/stop the server in the new system.
+ """
+
+ try:
+ disabled = isServiceDisabled(options.sourceRoot, LAUNCHD_KEY)
+ log("Service '%s' was previously %s" %
+ (LAUNCHD_KEY, "disabled" if disabled else "enabled"))
+ except ServiceStateError, e:
+ log("Couldn't determine previous state of service '%s': %s" %
+ (LAUNCHD_KEY, e))
+ return
+
+ command = "stop" if disabled else "start"
+ try:
+ processArgs = [SERVERADMIN, command, SERVICE_NAME]
+ log("Invoking %s" % (processArgs,))
+ serveradmin = subprocess.Popen(
+ args=processArgs,
+ stdout=subprocess.PIPE,
+ )
+ output, error = serveradmin.communicate()
+
+ expectedState = "STOPPED" if disabled else "RUNNING"
+ if '%s:state = "%s"' % (SERVICE_NAME, expectedState) in output:
+ log("Service %s is now %s" % (SERVICE_NAME, expectedState))
+ else:
+ log("ERROR: serveradmin returned %s" % (output,))
+
+ except Exception, e:
+ log("ERROR: Failed to run %s: %s" %
+ (SERVERADMIN, e))
+
+
+def migrateConfiguration(options):
+ """
+ Copy files/directories/symlinks from previous system's /etc/caldavd
+
+ Skips anything ending in ".default".
+ Regular files overwrite copies in new system.
+ Directories and symlinks only copied over if they don't overwrite anything.
+ """
+
+ oldConfigDir = os.path.join(options.sourceRoot, CALDAVD_CONFIG_DIR)
+ newConfigDir = os.path.join(options.targetRoot, CALDAVD_CONFIG_DIR)
+
+ for name in os.listdir(oldConfigDir):
+
+ if not name.endswith(".default"):
+
+ oldPath = os.path.join(oldConfigDir, name)
+ newPath = os.path.join(newConfigDir, name)
+
+ if os.path.islink(oldPath) and not os.path.exists(newPath):
+ # Recreate the symlink if it won't overwrite an existing file
+ link = os.readlink(oldPath)
+ os.symlink(link, newPath)
+
+ elif os.path.isfile(oldPath):
+ # Copy the file over, overwriting copy in newConfigDir
+ shutil.copy2(oldPath, newConfigDir)
+
+ elif os.path.isdir(oldPath) and not os.path.exists(newPath):
+ # Copy the dir over, but only if new one doesn't exist
+ shutil.copytree(oldPath, newPath, symlinks=True)
+
+
def isServiceDisabled(source, service):
"""
Returns whether or not a service is disabled
Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-privatecomments.txt
___________________________________________________________________
Modified: svn:mergeinfo
- /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.txt:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165
+ /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.txt:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165,4178-4179
Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-privatecomments.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.xml:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165
+ /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.xml:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165,4178-4179
Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-schedulingchanges.txt
___________________________________________________________________
Modified: svn:mergeinfo
- /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.txt:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165
+ /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.txt:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165,4178-4179
Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-schedulingchanges.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.xml:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165
+ /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.xml:4105-4107,4113-4116,4121-4122,4124,4137-4139,4141-4144,4154-4159,4163-4165,4178-4179
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090505/175b90dc/attachment-0001.html>
More information about the calendarserver-changes
mailing list