[Checkins] SVN: zc.recipe.deployment/trunk/src/zc/recipe/deployment/ prefix, and everything that depends on it, are absolutized
Fred Drake
cvs-admin at zope.org
Thu Mar 7 00:18:50 UTC 2013
Log message for revision 130053:
prefix, and everything that depends on it, are absolutized
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-06 22:48:26 UTC (rev 130052)
+++ zc.recipe.deployment/trunk/src/zc/recipe/deployment/__init__.py 2013-03-07 00:18:49 UTC (rev 130053)
@@ -36,21 +36,29 @@
name = options['name']
- options['prefix'] = options.get('prefix', '/')
+ prefix = os.path.join('/', options.get('prefix', '/'))
+ options['prefix'] = prefix
options['run-directory'] = os.path.join(
- options['prefix'], options.get('run', 'var/run'), name)
+ prefix, options.get('run', 'var/run'), name)
options['log-directory'] = os.path.join(
- options['prefix'], options.get('log', 'var/log'), name)
+ prefix, options.get('log', 'var/log'), name)
options['etc-directory'] = os.path.join(
- options['prefix'], options.get('etc', 'etc'), name)
- etc = os.path.join(options['prefix'], options.get('etc', 'etc'))
- options['crontab-directory'] = options.get(
- 'crontab-directory', os.path.join(etc, 'cron.d'))
- options['rc-directory'] = options.get(
- 'rc-directory', os.path.join(etc, 'init.d'))
- options['logrotate-directory'] = options.get(
- 'logrotate-directory', os.path.join(etc, 'logrotate.d'))
+ prefix, options.get('etc', 'etc'), name)
+ etc = os.path.join(prefix, options.get('etc', 'etc'))
+ def directory(key, base, tail):
+ key += '-directory'
+ setting = options.get(key)
+ if setting:
+ path = os.path.join(prefix, setting)
+ else:
+ path = os.path.join(prefix, base, tail)
+ options[key] = path
+
+ directory("crontab", etc, "cron.d")
+ directory("logrotate", etc, "logrotate.d")
+ directory("rc", etc, "init.d")
+
def install(self):
options = self.options
run_user = options['user']
Modified: zc.recipe.deployment/trunk/src/zc/recipe/deployment/paths.txt
===================================================================
--- zc.recipe.deployment/trunk/src/zc/recipe/deployment/paths.txt 2013-03-06 22:48:26 UTC (rev 130052)
+++ zc.recipe.deployment/trunk/src/zc/recipe/deployment/paths.txt 2013-03-07 00:18:49 UTC (rev 130053)
@@ -114,3 +114,37 @@
'prefix': '/usr/local',
'rc-directory': '/my-rcs',
'run-directory': '/usr/local/var/run/myapp'}
+
+
+Paths are absolute
+------------------
+
+Output paths (option names ending in '-directory') are absolute, even if
+``prefix`` is relative:
+
+ >>> compute({"prefix": "my/prefix"})
+ {'crontab-directory': '/my/prefix/etc/cron.d',
+ 'etc-directory': '/my/prefix/etc/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'}
+
+ >>> compute({"crontab-directory": "my-crontabs",
+ ... "etc": "antsy",
+ ... "log": "var/someplace",
+ ... "logrotate-directory": "my-logrotations",
+ ... "prefix": "my/prefix",
+ ... "rc-directory": "my-rcs"})
+ {'crontab-directory': '/my/prefix/my-crontabs',
+ 'etc': 'antsy',
+ 'etc-directory': '/my/prefix/antsy/myapp',
+ 'log': 'var/someplace',
+ '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'}
More information about the checkins
mailing list