Log message for revision 106530: Updated bootstrap to latest version Changed: U Zope/branches/2.12/bootstrap.py
-=- Modified: Zope/branches/2.12/bootstrap.py =================================================================== --- Zope/branches/2.12/bootstrap.py 2009-12-15 14:41:53 UTC (rev 106529) +++ Zope/branches/2.12/bootstrap.py 2009-12-15 14:43:43 UTC (rev 106530) @@ -17,24 +17,63 @@ The script accepts buildout command-line options, so you can use the -c option to specify an alternate configuration file. -$Id: bootstrap.py 90478 2008-08-27 22:44:46Z georgyberdyshev $ +$Id$ """ import os, shutil, sys, tempfile, urllib2 +from optparse import OptionParser tmpeggs = tempfile.mkdtemp() is_jython = sys.platform.startswith('java') +# parsing arguments +parser = OptionParser() +parser.add_option("-v", "--version", dest="version", + help="use a specific zc.buildout version") +parser.add_option("-d", "--distribute", + action="store_true", dest="distribute", default=False, + help="Use Disribute rather than Setuptools.") + +parser.add_option("-c", None, action="store", dest="config_file", + help=("Specify the path to the buildout configuration " + "file to be used.")) + +options, args = parser.parse_args() + +# if -c was provided, we push it back into args for buildout' main function +if options.config_file is not None: + args += ['-c', options.config_file] + +if options.version is not None: + VERSION = '==%s' % options.version +else: + VERSION = '' + +USE_DISTRIBUTE = options.distribute +args = args + ['bootstrap'] + +to_reload = False try: import pkg_resources + if not hasattr(pkg_resources, '_distribute'): + to_reload = True + raise ImportError except ImportError: ez = {} - exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' + if USE_DISTRIBUTE: + exec urllib2.urlopen('http://python-distribute.org/distribute_setup.py' ).read() in ez - ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) + ez['use_setuptools'](to_dir=tmpeggs, download_delay=0, no_fake=True) + else: + exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' + ).read() in ez + ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) - import pkg_resources + if to_reload: + reload(pkg_resources) + else: + import pkg_resources if sys.platform == 'win32': def quote(c): @@ -49,29 +88,34 @@ cmd = 'from setuptools.command.easy_install import main; main()' ws = pkg_resources.working_set +if USE_DISTRIBUTE: + requirement = 'distribute' +else: + requirement = 'setuptools' + if is_jython: import subprocess - - assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd', - quote(tmpeggs), 'zc.buildout'], + + assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd', + quote(tmpeggs), 'zc.buildout' + VERSION], env=dict(os.environ, PYTHONPATH= - ws.find(pkg_resources.Requirement.parse('setuptools')).location + ws.find(pkg_resources.Requirement.parse(requirement)).location ), ).wait() == 0 else: assert os.spawnle( os.P_WAIT, sys.executable, quote (sys.executable), - '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout', + '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout' + VERSION, dict(os.environ, PYTHONPATH= - ws.find(pkg_resources.Requirement.parse('setuptools')).location + ws.find(pkg_resources.Requirement.parse(requirement)).location ), ) == 0 ws.add_entry(tmpeggs) -ws.require('zc.buildout') +ws.require('zc.buildout' + VERSION) import zc.buildout.buildout -zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap']) -shutil.rmtree(tmpeggs) +zc.buildout.buildout.main(args) +shutil.rmtree(tmpeggs) \ No newline at end of file _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org https://mail.zope.org/mailman/listinfo/zope-checkins