[Checkins] SVN: zc.recipe.deployment/trunk/src/zc/recipe/deployment/ backward compatibility fix: do not force prefix to be absolute
Fred Drake
cvs-admin at zope.org
Thu Mar 21 15:47:08 UTC 2013
Log message for revision 130149:
backward compatibility fix: do not force prefix to be absolute
Changed:
U zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py
U zc.recipe.deployment/trunk/src/zc/recipe/deployment/paths.txt
-=-
Modified: zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py
===================================================================
--- zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py 2013-03-21 14:56:12 UTC (rev 130148)
+++ zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py 2013-03-21 15:47:08 UTC (rev 130149)
@@ -45,8 +45,10 @@
options['name'] = name
name = options['name']
- prefix = os.path.join('/', options.get('prefix') or '/')
- options['prefix'] = prefix
+ prefix = options.get('prefix')
+ if not prefix:
+ prefix = '/'
+ options['prefix'] = prefix
etc_prefix = options.get('etc-prefix')
if not etc_prefix:
@@ -87,13 +89,13 @@
deprecated('log', 'log-directory')
else:
deprecated('log')
- log = options.get('log') or 'var/log'
+ log = os.path.join(prefix, options.get('log') or 'var/log')
if options.get('run'):
if options.get('run-directory'):
deprecated('run', 'run-directory')
else:
deprecated('run')
- run = options.get('run') or 'var/run'
+ run = os.path.join(prefix, options.get('run') or 'var/run')
def directory(key, base, *tail):
key += '-directory'
@@ -101,7 +103,7 @@
if setting:
path = os.path.join(prefix, setting)
else:
- path = os.path.join(prefix, base, *tail)
+ path = os.path.join(base, *tail)
options[key] = path
options['etc-prefix'] = etc
Modified: zc.recipe.deployment/trunk/src/zc/recipe/deployment/paths.txt
===================================================================
--- zc.recipe.deployment/trunk/src/zc/recipe/deployment/paths.txt 2013-03-21 14:56:12 UTC (rev 130148)
+++ zc.recipe.deployment/trunk/src/zc/recipe/deployment/paths.txt 2013-03-21 15:47:08 UTC (rev 130149)
@@ -91,6 +91,20 @@
'run-directory': '/usr/local/var/run/myapp',
'var-prefix': '/usr/local/var'}
+ >>> compute({"prefix": "myspot"})
+ {'cache-directory': 'myspot/var/cache/myapp',
+ 'crontab-directory': 'myspot/etc/cron.d',
+ 'etc-directory': 'myspot/etc/myapp',
+ 'etc-prefix': 'myspot/etc',
+ 'lib-directory': 'myspot/var/lib/myapp',
+ 'log-directory': 'myspot/var/log/myapp',
+ 'logrotate-directory': 'myspot/etc/logrotate.d',
+ 'name': 'myapp',
+ 'prefix': 'myspot',
+ 'rc-directory': 'myspot/etc/init.d',
+ 'run-directory': 'myspot/var/run/myapp',
+ 'var-prefix': 'myspot/var'}
+
The ``etc``, ``log`` and ``run`` settings cause the "roots" of the
corresponding directories to be placed in the specified locations; the
deployment-specific directory is still used. Note that these are
@@ -151,6 +165,24 @@
zc.recipe.deployment WARNING
using deprecated 'run' setting
+The same applies for the ``etc-prefix`` and ``var-prefix`` settings:
+
+ >>> compute({"etc-prefix": "antsy",
+ ... "prefix": "/usr/local",
+ ... "var-prefix": "bigdisk"})
+ {'cache-directory': '/usr/local/bigdisk/cache/myapp',
+ 'crontab-directory': '/usr/local/antsy/cron.d',
+ 'etc-directory': '/usr/local/antsy/myapp',
+ 'etc-prefix': '/usr/local/antsy',
+ 'lib-directory': '/usr/local/bigdisk/lib/myapp',
+ 'log-directory': '/usr/local/bigdisk/log/myapp',
+ 'logrotate-directory': '/usr/local/antsy/logrotate.d',
+ 'name': 'myapp',
+ 'prefix': '/usr/local',
+ 'rc-directory': '/usr/local/antsy/init.d',
+ 'run-directory': '/usr/local/bigdisk/run/myapp',
+ 'var-prefix': '/usr/local/bigdisk'}
+
Output options ending in '-directory' can be specified directly; these
values will be retained instead of being clobbered by computed values:
@@ -185,25 +217,25 @@
found deprecated 'log' setting (used 'log-directory' instead)
-Paths are absolute
+Handling of prefix
------------------
-Output paths (option names ending in '-directory') are absolute, even if
-``prefix`` is relative:
+Output paths based on prefix are relative paths if ``prefix`` is
+relative:
>>> compute({"prefix": "my/prefix"})
- {'cache-directory': '/my/prefix/var/cache/myapp',
- 'crontab-directory': '/my/prefix/etc/cron.d',
- 'etc-directory': '/my/prefix/etc/myapp',
- 'etc-prefix': '/my/prefix/etc',
- 'lib-directory': '/my/prefix/var/lib/myapp',
- 'log-directory': '/my/prefix/var/log/myapp',
- 'logrotate-directory': '/my/prefix/etc/logrotate.d',
+ {'cache-directory': 'my/prefix/var/cache/myapp',
+ 'crontab-directory': 'my/prefix/etc/cron.d',
+ 'etc-directory': 'my/prefix/etc/myapp',
+ 'etc-prefix': 'my/prefix/etc',
+ 'lib-directory': 'my/prefix/var/lib/myapp',
+ 'log-directory': 'my/prefix/var/log/myapp',
+ 'logrotate-directory': 'my/prefix/etc/logrotate.d',
'name': 'myapp',
- 'prefix': '/my/prefix',
- 'rc-directory': '/my/prefix/etc/init.d',
- 'run-directory': '/my/prefix/var/run/myapp',
- 'var-prefix': '/my/prefix/var'}
+ 'prefix': 'my/prefix',
+ 'rc-directory': 'my/prefix/etc/init.d',
+ 'run-directory': 'my/prefix/var/run/myapp',
+ 'var-prefix': 'my/prefix/var'}
>>> compute({"crontab-directory": "my-crontabs",
... "etc": "antsy",
@@ -211,20 +243,20 @@
... "logrotate-directory": "my-logrotations",
... "prefix": "my/prefix",
... "rc-directory": "my-rcs"})
- {'cache-directory': '/my/prefix/var/cache/myapp',
- 'crontab-directory': '/my/prefix/my-crontabs',
+ {'cache-directory': 'my/prefix/var/cache/myapp',
+ 'crontab-directory': 'my/prefix/my-crontabs',
'etc': 'antsy',
- 'etc-directory': '/my/prefix/antsy/myapp',
- 'etc-prefix': '/my/prefix/antsy',
- 'lib-directory': '/my/prefix/var/lib/myapp',
+ 'etc-directory': 'my/prefix/antsy/myapp',
+ 'etc-prefix': 'my/prefix/antsy',
+ 'lib-directory': 'my/prefix/var/lib/myapp',
'log': 'var/someplace',
- 'log-directory': '/my/prefix/var/someplace/myapp',
- 'logrotate-directory': '/my/prefix/my-logrotations',
+ 'log-directory': 'my/prefix/var/someplace/myapp',
+ 'logrotate-directory': 'my/prefix/my-logrotations',
'name': 'myapp',
- 'prefix': '/my/prefix',
- 'rc-directory': '/my/prefix/my-rcs',
- 'run-directory': '/my/prefix/var/run/myapp',
- 'var-prefix': '/my/prefix/var'}
+ 'prefix': 'my/prefix',
+ 'rc-directory': 'my/prefix/my-rcs',
+ 'run-directory': 'my/prefix/var/run/myapp',
+ 'var-prefix': 'my/prefix/var'}
zc.recipe.deployment WARNING
using deprecated 'etc' setting
zc.recipe.deployment WARNING
More information about the checkins
mailing list