diff -Naru grokproject-2.0.1/grokproject/template/bin/buildout_tmpl grokproject-2.0.1.new/grokproject/template/bin/buildout_tmpl --- grokproject-2.0.1/grokproject/template/bin/buildout_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/buildout_tmpl 2010-07-09 18:19:34.535708690 +0800 @@ -0,0 +1,6 @@ +#!/usr/bin/env python + +import zc.buildout.buildout + +if __name__ == '__main__': + zc.buildout.buildout.main() diff -Naru grokproject-2.0.1/grokproject/template/bin/i18ncompile_tmpl grokproject-2.0.1.new/grokproject/template/bin/i18ncompile_tmpl --- grokproject-2.0.1/grokproject/template/bin/i18ncompile_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/i18ncompile_tmpl 2010-07-09 19:06:35.343485835 +0800 @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +import sys +sys.path[0:0] = [ + '${package_directory}/src', + ] + +import z3c.recipe.i18n.i18ncompile + +if __name__ == '__main__': + z3c.recipe.i18n.i18ncompile.main(['i18ncompile', '-l', '${package_directory}/src/${package}/locales']) diff -Naru grokproject-2.0.1/grokproject/template/bin/i18nextract_tmpl grokproject-2.0.1.new/grokproject/template/bin/i18nextract_tmpl --- grokproject-2.0.1/grokproject/template/bin/i18nextract_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/i18nextract_tmpl 2010-07-09 19:12:58.280483462 +0800 @@ -0,0 +1,17 @@ +#!/usr/bin/env python + +import sys +sys.path[0:0] = [ + '${package_directory}/src', + ] + +import os +sys.argv[0] = os.path.abspath(sys.argv[0]) +from distutils.sysconfig import get_python_lib +os.chdir(os.path.join(get_python_lib() + '/z3c/recipe/i18n')) + + +import z3c.recipe.i18n.i18nextract + +if __name__ == '__main__': + z3c.recipe.i18n.i18nextract.main(['i18nextract', '-d', '${package}', '-s', '${package_directory}/parts/i18n/configure.zcml', '-o', '${package_directory}/src/${package}/locales', '-p', '${package}']) diff -Naru grokproject-2.0.1/grokproject/template/bin/i18nmergeall_tmpl grokproject-2.0.1.new/grokproject/template/bin/i18nmergeall_tmpl --- grokproject-2.0.1/grokproject/template/bin/i18nmergeall_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/i18nmergeall_tmpl 2010-07-09 19:13:52.852484485 +0800 @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +import sys +sys.path[0:0] = [ + '${package_directory}/src', + ] + +import z3c.recipe.i18n.i18nmergeall + +if __name__ == '__main__': + z3c.recipe.i18n.i18nmergeall.main(['i18nmergeall', '-l', '${package_directory}/src/${package}/locales']) diff -Naru grokproject-2.0.1/grokproject/template/bin/i18nstats_tmpl grokproject-2.0.1.new/grokproject/template/bin/i18nstats_tmpl --- grokproject-2.0.1/grokproject/template/bin/i18nstats_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/i18nstats_tmpl 2010-07-09 19:14:30.422483255 +0800 @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +import sys +sys.path[0:0] = [ + '${package_directory}/src', + ] + +import z3c.recipe.i18n.i18nstats + +if __name__ == '__main__': + z3c.recipe.i18n.i18nstats.main(['i18nstats', '-l', '${package_directory}/src/${package}/locales']) diff -Naru grokproject-2.0.1/grokproject/template/bin/interactive_debugger_tmpl grokproject-2.0.1.new/grokproject/template/bin/interactive_debugger_tmpl --- grokproject-2.0.1/grokproject/template/bin/interactive_debugger_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/interactive_debugger_tmpl 2010-07-09 19:15:00.335483401 +0800 @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +import sys +sys.path[0:0] = [ + '${package_directory}/src', + ] + +import os +sys.argv[0] = os.path.abspath(sys.argv[0]) + + +import grokcore.startup.startup + +if __name__ == '__main__': + grokcore.startup.startup.interactive_debug_prompt(zope_conf="${package_directory}/parts/etc/zope.conf") diff -Naru grokproject-2.0.1/grokproject/template/bin/paster_tmpl grokproject-2.0.1.new/grokproject/template/bin/paster_tmpl --- grokproject-2.0.1/grokproject/template/bin/paster_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/paster_tmpl 2010-07-09 19:15:14.306483840 +0800 @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +import sys +sys.path[0:0] = [ + '${package_directory}/src', + ] + +import paste.script.command + +if __name__ == '__main__': + paste.script.command.run() diff -Naru grokproject-2.0.1/grokproject/template/bin/python-console_tmpl grokproject-2.0.1.new/grokproject/template/bin/python-console_tmpl --- grokproject-2.0.1/grokproject/template/bin/python-console_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/python-console_tmpl 2010-07-09 19:15:36.011485452 +0800 @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +import sys + +sys.path[0:0] = [ + '${package_directory}/src', + ] + +_interactive = True +if len(sys.argv) > 1: + _options, _args = __import__("getopt").getopt(sys.argv[1:], 'ic:m:') + _interactive = False + for (_opt, _val) in _options: + if _opt == '-i': + _interactive = True + elif _opt == '-c': + exec _val + elif _opt == '-m': + sys.argv[1:] = _args + _args = [] + __import__("runpy").run_module( + _val, {}, "__main__", alter_sys=True) + + if _args: + sys.argv[:] = _args + __file__ = _args[0] + del _options, _args + execfile(__file__) + +if _interactive: + del _interactive + __import__("code").interact(banner="", local=globals()) diff -Naru grokproject-2.0.1/grokproject/template/bin/test_tmpl grokproject-2.0.1.new/grokproject/template/bin/test_tmpl --- grokproject-2.0.1/grokproject/template/bin/test_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/test_tmpl 2010-07-09 22:24:50.419609459 +0800 @@ -0,0 +1,18 @@ +#!/usr/bin/env python + +import sys +sys.path[0:0] = [ + '${package_directory}/src', + ] + +import os +sys.argv[0] = os.path.abspath(sys.argv[0]) +os.chdir('${package_directory}/parts/test') + + +import zope.testing.testrunner + +if __name__ == '__main__': + zope.testing.testrunner.run((['--tests-pattern', '^f?tests$$', '-v']) + [ + '--test-path', '${package_directory}/src', + ]) diff -Naru grokproject-2.0.1/grokproject/template/bin/zpasswd_tmpl grokproject-2.0.1.new/grokproject/template/bin/zpasswd_tmpl --- grokproject-2.0.1/grokproject/template/bin/zpasswd_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/bin/zpasswd_tmpl 2010-07-09 19:16:47.964483909 +0800 @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +import sys +sys.path[0:0] = [ + '${package_directory}/src', + ] + +import os +sys.argv[0] = os.path.abspath(sys.argv[0]) + + +import zope.password.zpasswd + +if __name__ == '__main__': + zope.password.zpasswd.main() diff -Naru grokproject-2.0.1/grokproject/template/parts/etc/debug.ini_tmpl grokproject-2.0.1.new/grokproject/template/parts/etc/debug.ini_tmpl --- grokproject-2.0.1/grokproject/template/parts/etc/debug.ini_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/parts/etc/debug.ini_tmpl 2010-07-09 20:48:45.813208002 +0800 @@ -0,0 +1,44 @@ +[DEFAULT] +zope_conf = %(here)s/zope.conf + +[server:main] +use = egg:Paste#http +host = 127.0.0.1 +port = 8080 + +[pipeline:main] +pipeline = accesslogging evalexception grok + +[filter:accesslogging] +use = egg:Paste#translogger + +[filter:evalexception] +use = egg:z3c.evalexception#ajax + +[app:grok] +use = egg:grokcore.startup#debug +exempt-exceptions = zope.security.interfaces.IUnauthorized + +# Logging configuration + +[loggers] +keys = root + +[logger_root] +level = INFO +handlers = console + +[handlers] +keys = console + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatters] +keys = generic + +[formatter_generic] +format = %(asctime)s %(levelname)s [%(name)s] %(message)s diff -Naru grokproject-2.0.1/grokproject/template/parts/etc/deploy.ini_tmpl grokproject-2.0.1.new/grokproject/template/parts/etc/deploy.ini_tmpl --- grokproject-2.0.1/grokproject/template/parts/etc/deploy.ini_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/parts/etc/deploy.ini_tmpl 2010-07-09 20:51:04.421208097 +0800 @@ -0,0 +1,63 @@ +[DEFAULT] +zope_conf = %(here)s/zope.conf + +[server:main] +use = egg:Paste#http +host = 127.0.0.1 +port = 8080 + +[pipeline:main] +pipeline = gzip grok + +[app:grok] +use = egg:grokcore.startup + +[filter:gzip] +use = egg:Paste#gzip + +# Logging configuration + +[loggers] +keys = root, accesslogging, grok + +[logger_root] +level = INFO +handlers = eventlog + +[logger_grok] +# Set level to WARNING or below if you want to see +# grok template registry warnings on commandline. +level = ERROR +handlers = eventlog +qualname = grok +propagate = 0 + +[logger_accesslogging] +level = INFO +handlers = accesslog +qualname = wsgi +propagate = 0 + +[handlers] +keys = eventlog, accesslog + +[handler_eventlog] +class = FileHandler +args = (os.path.join(r'${package_directory}', 'log', 'event.log'), 'a') +level = NOTSET +formatter = generic + +[handler_accesslog] +class = FileHandler +args = (os.path.join(r'${package_directory}', 'log', 'accesslog.log'), 'a') +level = INFO +formatter = accesslog + +[formatters] +keys = generic, accesslog + +[formatter_generic] +format = %(asctime)s %(levelname)s [%(name)s] %(message)s + +[formatter_accesslog] +format = %(message)s diff -Naru grokproject-2.0.1/grokproject/template/parts/etc/site.zcml_tmpl grokproject-2.0.1.new/grokproject/template/parts/etc/site.zcml_tmpl --- grokproject-2.0.1/grokproject/template/parts/etc/site.zcml_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/parts/etc/site.zcml_tmpl 2010-07-09 22:33:52.329609115 +0800 @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + diff -Naru grokproject-2.0.1/grokproject/template/parts/etc/zope.conf_tmpl grokproject-2.0.1.new/grokproject/template/parts/etc/zope.conf_tmpl --- grokproject-2.0.1/grokproject/template/parts/etc/zope.conf_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/parts/etc/zope.conf_tmpl 2010-07-09 20:54:36.240207655 +0800 @@ -0,0 +1,40 @@ +# Identify the component configuration used to define the site: +site-definition ${package_directory}/parts/etc/site.zcml + + + # Standard blob storage + + blob-dir ${package_directory}/var/blobstorage + + path ${package_directory}/var/filestorage/Data.fs + + + +# Uncomment this if you want a blob-less standard file storage instead: +# +# path ${package_directory}/var/filestorage +# + +# Uncomment this if you want to connect to a ZEO server instead: +# +# server localhost:8100 +# storage 1 +# # ZEO client cache, in bytes +# cache-size 20MB +# # Uncomment to have a persistent disk cache +# #client zeo1 +# + + + + +# logfiles are setup in the debug.ini and deploy.ini files. + + +# Comment this line to disable developer mode. This should be done in +# production +devmode on + +# Extra configuration lines can be added to zope_conf's extra option. Put for +# instance productconf sections in here. + diff -Naru grokproject-2.0.1/grokproject/template/parts/i18n/configure.zcml_tmpl grokproject-2.0.1.new/grokproject/template/parts/i18n/configure.zcml_tmpl --- grokproject-2.0.1/grokproject/template/parts/i18n/configure.zcml_tmpl 1970-01-01 08:00:00.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/template/parts/i18n/configure.zcml_tmpl 2010-07-09 20:48:45.785481360 +0800 @@ -0,0 +1,7 @@ + + + + + diff -Naru grokproject-2.0.1/grokproject/templates.py grokproject-2.0.1.new/grokproject/templates.py --- grokproject-2.0.1/grokproject/templates.py 2010-05-31 04:11:48.000000000 +0800 +++ grokproject-2.0.1.new/grokproject/templates.py 2010-07-10 12:15:20.531392557 +0800 @@ -11,6 +11,10 @@ from grokproject.utils import get_ssha_encoded_string from grokproject.utils import create_buildout_default_file from grokproject.utils import exist_buildout_default_file +# three more needed by the Fedora patch +from pkg_resources import get_distribution +from shutil import rmtree +import stat GROK_RELEASE_URL_DEFAULT = 'http://grok.zope.org/releaseinfo/' @@ -29,8 +33,9 @@ default='false', should_ask=False, getter=get_boolean_value_for_option), ask_var('run_buildout', - "After creating the project area, run the buildout.", - default=True, should_ask=False, + "After creating the project area, run the buildout." + " (The default value is True upstream but False in Fedora)", + default=False, should_ask=False, getter=get_boolean_value_for_option), ask_var('eggs_dir', 'Location where zc.buildout will look for and place packages', @@ -73,10 +78,15 @@ version = vars.get('grokversion') if version is None: print "Determining current grok version..." - # if no version was specified, we look up the current version first - current_info_url = urlparse.urljoin(grok_release_url, 'current') - version = self.download(current_info_url).strip().replace( - 'grok-', '').replace('.cfg', '') + if vars['run_buildout']: + # if no version was specified, we look up the current version + # first + current_info_url = urlparse.urljoin(grok_release_url, + 'current') + version = self.download(current_info_url).strip().replace( + 'grok-', '').replace('.cfg', '') + else: + version = get_distribution('grok').version if not grok_release_url.endswith('/'): grok_release_url += '/' @@ -124,9 +134,22 @@ return contents def post(self, command, output_dir, vars): - if not vars['run_buildout']: - return original_dir = os.getcwd() os.chdir(vars['project']) - run_buildout(command.verbose) + if not vars['run_buildout']: + print "Making make scripts executable properly..." + os.chdir('bin') + for f in os.listdir('.'): + mode = stat.S_IMODE(os.stat(f).st_mode) + if mode & stat.S_IRUSR: + mode = mode | stat.S_IXUSR + if mode & stat.S_IRGRP: + mode = mode | stat.S_IXGRP + if mode & stat.S_IROTH: + mode = mode | stat.S_IXOTH + os.chmod(f, mode) + else: + rmtree('bin') + rmtree('parts') + run_buildout(command.verbose) os.chdir(original_dir) diff -Naru grokproject-2.0.1/grokproject.egg-info/SOURCES.txt grokproject-2.0.1.new/grokproject.egg-info/SOURCES.txt --- grokproject-2.0.1/grokproject.egg-info/SOURCES.txt 2010-07-09 22:13:44.930613198 +0800 +++ grokproject-2.0.1.new/grokproject.egg-info/SOURCES.txt 2010-07-09 22:12:47.046608239 +0800 @@ -22,6 +22,16 @@ grokproject.egg-info/not-zip-safe grokproject.egg-info/requires.txt grokproject.egg-info/top_level.txt +grokproject/template/bin/buildout_tmpl +grokproject/template/bin/i18nextract_tmpl +grokproject/template/bin/interactive_debugger_tmpl +grokproject/template/bin/zpasswd_tmpl +grokproject/template/bin/i18ncompile_tmpl +grokproject/template/bin/python-console_tmpl +grokproject/template/bin/paster_tmpl +grokproject/template/bin/i18nmergeall_tmpl +grokproject/template/bin/i18nstats_tmpl +grokproject/template/bin/test_tmpl grokproject/template/bootstrap.py grokproject/template/buildout.cfg_tmpl grokproject/template/setup.py_tmpl @@ -32,6 +42,11 @@ grokproject/template/etc/zope.conf.in_tmpl grokproject/template/extends-cache/.directory grokproject/template/log/.directory +grokproject/template/parts/i18n/configure.zcml_tmpl +grokproject/template/parts/etc/site.zcml_tmpl +grokproject/template/parts/etc/debug.ini_tmpl +grokproject/template/parts/etc/deploy.ini_tmpl +grokproject/template/parts/etc/zope.conf_tmpl grokproject/template/src/+package+/__init__.py grokproject/template/src/+package+/app.py_tmpl grokproject/template/src/+package+/app.txt_tmpl