@@ -136,10 +136,6 @@ def normalize_to_url(option, opt_str, value, parser):
136136
137137options , args = parser .parse_args ()
138138
139- # if -c was provided, we push it back into args for buildout's main function
140- if options .config_file is not None :
141- args += ['-c' , options .config_file ]
142-
143139if options .eggs :
144140 eggs_dir = os .path .abspath (os .path .expanduser (options .eggs ))
145141else :
@@ -152,8 +148,7 @@ def normalize_to_url(option, opt_str, value, parser):
152148 options .setup_source = setuptools_source
153149
154150if options .accept_buildout_test_releases :
155- args .append ('buildout:accept-buildout-test-releases=true' )
156- args .append ('bootstrap' )
151+ args .insert (0 , 'buildout:accept-buildout-test-releases=true' )
157152
158153try :
159154 import pkg_resources
@@ -170,6 +165,8 @@ def normalize_to_url(option, opt_str, value, parser):
170165 setup_args ['download_base' ] = options .download_base
171166 if options .use_distribute :
172167 setup_args ['no_fake' ] = True
168+ if sys .version_info [:2 ] == (2 , 4 ):
169+ setup_args ['version' ] = '0.6.32'
173170 ez ['use_setuptools' ](** setup_args )
174171 if 'pkg_resources' in sys .modules :
175172 reload (sys .modules ['pkg_resources' ])
@@ -192,6 +189,8 @@ def normalize_to_url(option, opt_str, value, parser):
192189find_links = options .download_base
193190if not find_links :
194191 find_links = os .environ .get ('bootstrap-testing-find-links' )
192+ if not find_links and options .accept_buildout_test_releases :
193+ find_links = 'http://downloads.buildout.org/'
195194if find_links :
196195 cmd .extend (['-f' , quote (find_links )])
197196
@@ -228,6 +227,8 @@ def _final_version(parsed_version):
228227 bestv = None
229228 for dist in index [req .project_name ]:
230229 distv = dist .parsed_version
230+ if distv >= pkg_resources .parse_version ('2dev' ):
231+ continue
231232 if _final_version (distv ):
232233 if bestv is None or distv > bestv :
233234 best = [dist ]
@@ -237,8 +238,12 @@ def _final_version(parsed_version):
237238 if best :
238239 best .sort ()
239240 version = best [- 1 ].version
241+
240242if version :
241- requirement = '==' .join ((requirement , version ))
243+ requirement += '==' + version
244+ else :
245+ requirement += '<2dev'
246+
242247cmd .append (requirement )
243248
244249if is_jython :
@@ -257,6 +262,16 @@ def _final_version(parsed_version):
257262ws .add_entry (eggs_dir )
258263ws .require (requirement )
259264import zc .buildout .buildout
265+
266+ # If there isn't already a command in the args, add bootstrap
267+ if not [a for a in args if '=' not in a ]:
268+ args .append ('bootstrap' )
269+
270+
271+ # if -c was provided, we push it back into args for buildout's main function
272+ if options .config_file is not None :
273+ args [0 :0 ] = ['-c' , options .config_file ]
274+
260275zc .buildout .buildout .main (args )
261276if not options .eggs : # clean up temporary egg directory
262277 shutil .rmtree (eggs_dir )
0 commit comments