[Checkins] SVN: zc.recipe.deployment/trunk/s Initial version, from zope.com repo. Need to add documentation, tests.

Amos Latteier amos at latteier.com
Fri Dec 1 12:30:17 EST 2006


Log message for revision 71359:
  Initial version, from zope.com repo. Need to add documentation, tests.
  

Changed:
  A   zc.recipe.deployment/trunk/setup.py
  A   zc.recipe.deployment/trunk/src/
  A   zc.recipe.deployment/trunk/src/zc/
  A   zc.recipe.deployment/trunk/src/zc/__init__.py
  A   zc.recipe.deployment/trunk/src/zc/recipe/
  A   zc.recipe.deployment/trunk/src/zc/recipe/__init__.py
  A   zc.recipe.deployment/trunk/src/zc/recipe/deployment.py

-=-
Added: zc.recipe.deployment/trunk/setup.py
===================================================================
--- zc.recipe.deployment/trunk/setup.py	2006-12-01 17:06:53 UTC (rev 71358)
+++ zc.recipe.deployment/trunk/setup.py	2006-12-01 17:30:16 UTC (rev 71359)
@@ -0,0 +1,9 @@
+from setuptools import setup
+
+name = 'zc.recipe.deployment'
+setup(
+    name=name,
+    entry_points='[zc.buildout]\ndefault=%s:Recipe' % name,
+    package_dir = {'': 'src'},
+    )
+

Added: zc.recipe.deployment/trunk/src/zc/__init__.py
===================================================================
--- zc.recipe.deployment/trunk/src/zc/__init__.py	2006-12-01 17:06:53 UTC (rev 71358)
+++ zc.recipe.deployment/trunk/src/zc/__init__.py	2006-12-01 17:30:16 UTC (rev 71359)
@@ -0,0 +1 @@
+__import__('pkg_resources').declare_namespace(__name__)

Added: zc.recipe.deployment/trunk/src/zc/recipe/__init__.py
===================================================================
--- zc.recipe.deployment/trunk/src/zc/recipe/__init__.py	2006-12-01 17:06:53 UTC (rev 71358)
+++ zc.recipe.deployment/trunk/src/zc/recipe/__init__.py	2006-12-01 17:30:16 UTC (rev 71359)
@@ -0,0 +1 @@
+__import__('pkg_resources').declare_namespace(__name__)

Added: zc.recipe.deployment/trunk/src/zc/recipe/deployment.py
===================================================================
--- zc.recipe.deployment/trunk/src/zc/recipe/deployment.py	2006-12-01 17:06:53 UTC (rev 71358)
+++ zc.recipe.deployment/trunk/src/zc/recipe/deployment.py	2006-12-01 17:30:16 UTC (rev 71359)
@@ -0,0 +1,52 @@
+##############################################################################
+#
+# Copyright (c) 2005 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Create a system deployment for an application
+
+$Id: deployment.py 14934 2006-11-10 23:57:33Z jim $
+"""
+
+import os, pwd, shutil
+
+class Recipe:
+
+    def __init__(self, buildout, name, options):
+        self.name, self.options = name, options
+        options['run-directory'] = os.path.join(options.get('run', '/var/run'),
+                                                name)
+        options['log-directory'] = os.path.join(options.get('log', '/var/log'),
+                                                name)
+        options['etc-directory'] = os.path.join(options.get('etc', '/etc'),
+                                                name)
+
+    def install(self):
+        options = self.options
+        user = options['user']
+        uid, gid = pwd.getpwnam(user)[2:4]
+        created = []
+        try:
+            for d in 'run', 'log', 'etc':
+                d = options[d+'-directory']
+                if not os.path.isdir(d):
+                    os.mkdir(d, 0775)
+                    os.chmod(d, 0775)
+                    os.chown(d, uid, gid)
+                    created.append(d)
+            return created
+        except:
+            for d in created:
+                shutil.rmtree(d)
+            raise
+
+    def update(self):
+        pass



More information about the Checkins mailing list