Updtae bootstrap script.

parent df44db71
...@@ -136,10 +136,6 @@ parser.add_option("-c", None, action="store", dest="config_file", ...@@ -136,10 +136,6 @@ parser.add_option("-c", None, action="store", dest="config_file",
options, args = parser.parse_args() options, args = parser.parse_args()
# if -c was provided, we push it back into args for buildout's main function
if options.config_file is not None:
args += ['-c', options.config_file]
if options.eggs: if options.eggs:
eggs_dir = os.path.abspath(os.path.expanduser(options.eggs)) eggs_dir = os.path.abspath(os.path.expanduser(options.eggs))
else: else:
...@@ -152,8 +148,7 @@ if options.setup_source is None: ...@@ -152,8 +148,7 @@ if options.setup_source is None:
options.setup_source = setuptools_source options.setup_source = setuptools_source
if options.accept_buildout_test_releases: if options.accept_buildout_test_releases:
args.append('buildout:accept-buildout-test-releases=true') args.insert(0, 'buildout:accept-buildout-test-releases=true')
args.append('bootstrap')
try: try:
import pkg_resources import pkg_resources
...@@ -170,6 +165,8 @@ except ImportError: ...@@ -170,6 +165,8 @@ except ImportError:
setup_args['download_base'] = options.download_base setup_args['download_base'] = options.download_base
if options.use_distribute: if options.use_distribute:
setup_args['no_fake'] = True setup_args['no_fake'] = True
if sys.version_info[:2] == (2, 4):
setup_args['version'] = '0.6.32'
ez['use_setuptools'](**setup_args) ez['use_setuptools'](**setup_args)
if 'pkg_resources' in sys.modules: if 'pkg_resources' in sys.modules:
reload(sys.modules['pkg_resources']) reload(sys.modules['pkg_resources'])
...@@ -192,6 +189,8 @@ if not has_broken_dash_S: ...@@ -192,6 +189,8 @@ if not has_broken_dash_S:
find_links = options.download_base find_links = options.download_base
if not find_links: if not find_links:
find_links = os.environ.get('bootstrap-testing-find-links') find_links = os.environ.get('bootstrap-testing-find-links')
if not find_links and options.accept_buildout_test_releases:
find_links = 'http://downloads.buildout.org/'
if find_links: if find_links:
cmd.extend(['-f', quote(find_links)]) cmd.extend(['-f', quote(find_links)])
...@@ -228,6 +227,8 @@ if version is None and not options.accept_buildout_test_releases: ...@@ -228,6 +227,8 @@ if version is None and not options.accept_buildout_test_releases:
bestv = None bestv = None
for dist in index[req.project_name]: for dist in index[req.project_name]:
distv = dist.parsed_version distv = dist.parsed_version
if distv >= pkg_resources.parse_version('2dev'):
continue
if _final_version(distv): if _final_version(distv):
if bestv is None or distv > bestv: if bestv is None or distv > bestv:
best = [dist] best = [dist]
...@@ -237,8 +238,12 @@ if version is None and not options.accept_buildout_test_releases: ...@@ -237,8 +238,12 @@ if version is None and not options.accept_buildout_test_releases:
if best: if best:
best.sort() best.sort()
version = best[-1].version version = best[-1].version
if version: if version:
requirement = '=='.join((requirement, version)) requirement += '=='+version
else:
requirement += '<2dev'
cmd.append(requirement) cmd.append(requirement)
if is_jython: if is_jython:
...@@ -257,6 +262,16 @@ if exitcode != 0: ...@@ -257,6 +262,16 @@ if exitcode != 0:
ws.add_entry(eggs_dir) ws.add_entry(eggs_dir)
ws.require(requirement) ws.require(requirement)
import zc.buildout.buildout import zc.buildout.buildout
# If there isn't already a command in the args, add bootstrap
if not [a for a in args if '=' not in a]:
args.append('bootstrap')
# if -c was provided, we push it back into args for buildout's main function
if options.config_file is not None:
args[0:0] = ['-c', options.config_file]
zc.buildout.buildout.main(args) zc.buildout.buildout.main(args)
if not options.eggs: # clean up temporary egg directory if not options.eggs: # clean up temporary egg directory
shutil.rmtree(eggs_dir) shutil.rmtree(eggs_dir)
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment