[Checkins] SVN: zc.recipe.deployment/trunk/ - Fix for 0.9 -> 0.10 .installed.cfg migration
jackie
cvs-admin at zope.org
Wed Apr 10 21:00:33 UTC 2013
Log message for revision 130188:
- Fix for 0.9 -> 0.10 .installed.cfg migration
Changed:
U zc.recipe.deployment/trunk/CHANGES.txt
U zc.recipe.deployment/trunk/src/zc/recipe/deployment/README.txt
U zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py
-=-
Modified: zc.recipe.deployment/trunk/CHANGES.txt
===================================================================
--- zc.recipe.deployment/trunk/CHANGES.txt 2013-04-10 16:18:30 UTC (rev 130187)
+++ zc.recipe.deployment/trunk/CHANGES.txt 2013-04-10 21:00:32 UTC (rev 130188)
@@ -4,7 +4,7 @@
0.10.1 (unreleased)
===================
-- Nothing changed yet.
+- Fix for 0.9 -> 0.10 .installed.cfg migration
0.10.0 (2013-03-28)
Modified: zc.recipe.deployment/trunk/src/zc/recipe/deployment/README.txt
===================================================================
--- zc.recipe.deployment/trunk/src/zc/recipe/deployment/README.txt 2013-04-10 16:18:30 UTC (rev 130187)
+++ zc.recipe.deployment/trunk/src/zc/recipe/deployment/README.txt 2013-04-10 21:00:32 UTC (rev 130188)
@@ -243,7 +243,37 @@
>>> os.path.exists('' + os.path.join(sample_buildout, 'PREFIX/var/run/foo'))
False
+Prior to zc.recipe.deployment 0.10.0, some directories (eg., cache-directory,
+lib-directory) were not managed by zc.recipe.deployment. So on uninstall, we
+can expect any nonexistent directory keys to be silently ignored.
+ >>> _ = system(join('bin', 'buildout')), # doctest: +NORMALIZE_WHITESPACE
+ >>> new_installed_contents = ""
+ >>> with open(
+ ... os.path.join(sample_buildout, ".installed.cfg")) as fi:
+ ... for line in fi.readlines():
+ ... if (not line.startswith("cache-directory = ") and
+ ... not line.startswith("lib-directory = ")):
+ ... new_installed_contents += line
+ >>> with open(
+ ... os.path.join(sample_buildout, ".installed.cfg"), 'w') as fi:
+ ... fi.write(new_installed_contents)
+ >>> print system(join('bin', 'buildout')+' buildout:parts='),
+ Uninstalling foo.
+ Running uninstall recipe.
+ zc.recipe.deployment: Removing '/tmp/tmpcokpi_buildoutSetUp/_TEST_/sample-buildout/etc/foo'
+ zc.recipe.deployment: Removing '/tmp/tmpcokpi_buildoutSetUp/_TEST_/sample-buildout/etc/cron.d'.
+ zc.recipe.deployment: Removing '/tmp/tmpcokpi_buildoutSetUp/_TEST_/sample-buildout/etc/init.d'.
+ zc.recipe.deployment: Removing '/tmp/tmpcokpi_buildoutSetUp/_TEST_/sample-buildout/etc/logrotate.d'.
+ zc.recipe.deployment: Removing '/tmp/tmpcokpi_buildoutSetUp/_TEST_/sample-buildout/var/log/foo'.
+ zc.recipe.deployment: Removing '/tmp/tmpcokpi_buildoutSetUp/_TEST_/sample-buildout/var/run/foo'.
+
+We'll finish the cleanup our modified .installed.cfg missed.
+
+ >>> os.removedirs(os.path.join(sample_buildout, 'var/cache/foo'))
+ >>> os.removedirs(os.path.join(sample_buildout, 'var/lib/foo'))
+
+
Deployment Name
===============
Modified: zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py
===================================================================
--- zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py 2013-04-10 16:18:30 UTC (rev 130187)
+++ zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py 2013-04-10 21:00:32 UTC (rev 130188)
@@ -165,7 +165,9 @@
if options.get('prefix', '/') != '/':
directories = ('crontab', 'rc', 'logrotate')
for d in directories + ('cache', 'lib', 'log', 'run'):
- path = options[d+'-directory']
+ path = options.get(d+'-directory')
+ if not path:
+ continue
if os.path.isdir(path):
if os.listdir(path):
logger.warn("Can't remove non-empty directory %r.", path)
More information about the checkins
mailing list