Merge lp:~cjwatson/txpkgupload/pip into lp:~lazr-developers/txpkgupload/trunk
- pip
- Merge into trunk
Proposed by
Colin Watson
Status: | Merged |
---|---|
Merged at revision: | 27 |
Proposed branch: | lp:~cjwatson/txpkgupload/pip |
Merge into: | lp:~lazr-developers/txpkgupload/trunk |
Diff against target: |
700 lines (+103/-516) 10 files modified
.bzrignore (+1/-5) MANIFEST.in (+2/-4) Makefile (+52/-75) _bootstrap/COPYRIGHT.txt (+0/-9) _bootstrap/LICENSE.txt (+0/-54) _bootstrap/bootstrap.py (+0/-277) bootstrap-requirements.txt (+3/-0) buildout.cfg (+0/-33) requirements.txt (+45/-0) versions.cfg (+0/-59) |
To merge this branch: | bzr merge lp:~cjwatson/txpkgupload/pip |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Kit Randel (community) | Approve | ||
Review via email: mp+277520@code.launchpad.net |
Commit message
Convert from buildout to pip.
Description of the change
Convert from buildout to pip. This will make it easier to upgrade to newer testtools/Twisted releases.
Before deploying this, we'll need to make sure that virtualenv is installed on pepo and haetae, by way of meta-lp-deps changes.
To post a comment you must log in.
Revision history for this message
Kit Randel (blr) : | # |
review:
Approve
lp:~cjwatson/txpkgupload/pip
updated
- 27. By Colin Watson
-
Merge trunk.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.bzrignore' |
2 | --- .bzrignore 2015-01-09 15:55:08 +0000 |
3 | +++ .bzrignore 2015-11-17 13:24:41 +0000 |
4 | @@ -1,13 +1,9 @@ |
5 | bin |
6 | -develop-eggs |
7 | download-cache |
8 | -eggs |
9 | -.installed.cfg |
10 | -parts |
11 | +env |
12 | *.egg-info |
13 | tags |
14 | TAGS |
15 | -build |
16 | *.egg |
17 | dist |
18 | src/twisted/plugins/dropin.cache |
19 | |
20 | === modified file 'MANIFEST.in' |
21 | --- MANIFEST.in 2015-01-13 11:15:52 +0000 |
22 | +++ MANIFEST.in 2015-11-17 13:24:41 +0000 |
23 | @@ -2,7 +2,5 @@ |
24 | include src/txpkgupload/tests/txpkgupload-sftp |
25 | include src/txpkgupload/tests/txpkgupload-sftp.pub |
26 | graft etc |
27 | -exclude MANIFEST.in Makefile buildout.cfg bootstrap.py .bzrignore |
28 | -prune _bootstrap |
29 | -prune eggs |
30 | -prune parts |
31 | +exclude MANIFEST.in Makefile .bzrignore |
32 | +prune env |
33 | |
34 | === modified file 'Makefile' |
35 | --- Makefile 2015-01-13 17:19:01 +0000 |
36 | +++ Makefile 2015-11-17 13:24:41 +0000 |
37 | @@ -1,92 +1,69 @@ |
38 | # Copyright 2005-2015 Canonical Ltd. This software is licensed under the |
39 | # GNU Affero General Public License version 3 (see the file LICENSE). |
40 | |
41 | -PYTHON = python |
42 | - |
43 | -BOOTSTRAP_BIN := bootstrap.py |
44 | -BOOTSTRAP = PYTHONPATH= $(PYTHON) $(BOOTSTRAP_BIN) |
45 | - |
46 | -BUILDOUT_BIN := bin/buildout |
47 | -BUILDOUT_CFG := buildout.cfg |
48 | -BUILDOUT = PYTHONPATH= $(BUILDOUT_BIN) -qc $(BUILDOUT_CFG) |
49 | +ENV = $(CURDIR)/env |
50 | + |
51 | +PIP_ARGS := \ |
52 | + -q \ |
53 | + --no-index \ |
54 | + --find-links=file://$(CURDIR)/download-cache/dist |
55 | + |
56 | +PYTHON = $(ENV)/bin/python |
57 | +TWISTD = $(ENV)/bin/twistd |
58 | |
59 | |
60 | default: check |
61 | |
62 | |
63 | -compile: bin/twistd |
64 | - |
65 | - |
66 | -# When a built tree is moved this updates absolute paths. |
67 | -build-update-paths: |
68 | - $(BUILDOUT) |
69 | - |
70 | - |
71 | -check: bin/test |
72 | - bin/test |
73 | - |
74 | - |
75 | -dist: $(BUILDOUT_BIN) |
76 | - $(BUILDOUT) setup setup.py egg_info -r sdist |
77 | - |
78 | - |
79 | -TAGS: bin/tags |
80 | - bin/tags --ctags-emacs |
81 | - |
82 | - |
83 | -tags: bin/tags |
84 | - bin/tags --ctags-vi |
85 | +compile: $(ENV) |
86 | + |
87 | + |
88 | +check: $(ENV) |
89 | + $(PYTHON) -m unittest discover src |
90 | + |
91 | + |
92 | +dist: |
93 | + python setup.py sdist |
94 | + |
95 | + |
96 | +TAGS: |
97 | + ctags -e -R src |
98 | + |
99 | + |
100 | +tags: |
101 | + ctags -R src |
102 | |
103 | |
104 | download-cache: |
105 | - mkdir -p download-cache |
106 | - |
107 | - |
108 | -eggs: |
109 | - mkdir -p eggs |
110 | - |
111 | - |
112 | -$(BUILDOUT_BIN): download-cache eggs |
113 | - $(BOOTSTRAP) \ |
114 | - --setup-source=download-cache/dist/ez_setup.py \ |
115 | - --download-base=download-cache/dist \ |
116 | - --eggs=eggs --version=1.5.2 |
117 | - touch --no-create $@ |
118 | - |
119 | - |
120 | -bin/twistd: $(BUILDOUT_BIN) $(BUILDOUT_CFG) setup.py |
121 | - $(BUILDOUT) install runtime |
122 | - |
123 | - |
124 | -bin/test: $(BUILDOUT_BIN) $(BUILDOUT_CFG) setup.py |
125 | - $(BUILDOUT) install test |
126 | - |
127 | - |
128 | -bin/tags: $(BUILDOUT_BIN) $(BUILDOUT_CFG) setup.py |
129 | - $(BUILDOUT) install tags |
130 | - |
131 | - |
132 | -clean_buildout: |
133 | +ifeq ($(PIP_SOURCE_DIR),) |
134 | + @echo "Set PIP_SOURCE_DIR to the path of a checkout of" >&2 |
135 | + @echo "lp:lp-source-dependencies." >&2 |
136 | + @exit 1 |
137 | +endif |
138 | + ln -nsf $(PIP_SOURCE_DIR) download-cache |
139 | + |
140 | + |
141 | +$(ENV): download-cache |
142 | + mkdir -p $(ENV) |
143 | + (echo '[easy_install]'; \ |
144 | + echo "allow_hosts = ''"; \ |
145 | + echo 'find_links = file://$(CURDIR)/download-cache/dist/') \ |
146 | + >$(ENV)/.pydistutils.cfg |
147 | + VIRTUALENV_SETUPTOOLS=1 virtualenv $(ENV) |
148 | + $(ENV)/bin/pip install $(PIP_ARGS) -r bootstrap-requirements.txt |
149 | + $(ENV)/bin/pip install $(PIP_ARGS) -r requirements.txt -e . |
150 | + $(ENV)/bin/python -m compileall -q src |
151 | + ln -nsf $(ENV)/bin bin |
152 | + |
153 | + |
154 | +clean_pip: |
155 | $(RM) -r bin |
156 | - $(RM) -r parts |
157 | - $(RM) -r develop-eggs |
158 | - $(RM) .installed.cfg |
159 | - $(RM) -r build |
160 | + $(RM) -r $(ENV) |
161 | $(RM) -r dist |
162 | |
163 | |
164 | -clean_eggs: |
165 | - $(RM) -r download-cache |
166 | - $(RM) -r *.egg-info |
167 | - $(RM) -r eggs |
168 | - |
169 | - |
170 | -clean: clean_buildout |
171 | +clean: clean_pip |
172 | find src -name '*.py[co]' -print0 | xargs -r0 $(RM) |
173 | |
174 | -clean_all: clean_buildout clean_eggs |
175 | - |
176 | - |
177 | -.PHONY: \ |
178 | - compile build-update-paths check clean clean_all clean_buildout \ |
179 | - clean_eggs default dist |
180 | + |
181 | +.PHONY: compile check clean clean_pip default dist |
182 | |
183 | === removed directory '_bootstrap' |
184 | === removed file '_bootstrap/COPYRIGHT.txt' |
185 | --- _bootstrap/COPYRIGHT.txt 2015-01-06 12:03:45 +0000 |
186 | +++ _bootstrap/COPYRIGHT.txt 1970-01-01 00:00:00 +0000 |
187 | @@ -1,9 +0,0 @@ |
188 | -Copyright (c) 2004-2009 Zope Corporation and Contributors. |
189 | -All Rights Reserved. |
190 | - |
191 | -This software is subject to the provisions of the Zope Public License, |
192 | -Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. |
193 | -THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
194 | -WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
195 | -WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
196 | -FOR A PARTICULAR PURPOSE. |
197 | |
198 | === removed file '_bootstrap/LICENSE.txt' |
199 | --- _bootstrap/LICENSE.txt 2015-01-06 12:03:45 +0000 |
200 | +++ _bootstrap/LICENSE.txt 1970-01-01 00:00:00 +0000 |
201 | @@ -1,54 +0,0 @@ |
202 | -Zope Public License (ZPL) Version 2.1 |
203 | -------------------------------------- |
204 | - |
205 | -A copyright notice accompanies this license document that |
206 | -identifies the copyright holders. |
207 | - |
208 | -This license has been certified as open source. It has also |
209 | -been designated as GPL compatible by the Free Software |
210 | -Foundation (FSF). |
211 | - |
212 | -Redistribution and use in source and binary forms, with or |
213 | -without modification, are permitted provided that the |
214 | -following conditions are met: |
215 | - |
216 | -1. Redistributions in source code must retain the |
217 | - accompanying copyright notice, this list of conditions, |
218 | - and the following disclaimer. |
219 | - |
220 | -2. Redistributions in binary form must reproduce the accompanying |
221 | - copyright notice, this list of conditions, and the |
222 | - following disclaimer in the documentation and/or other |
223 | - materials provided with the distribution. |
224 | - |
225 | -3. Names of the copyright holders must not be used to |
226 | - endorse or promote products derived from this software |
227 | - without prior written permission from the copyright |
228 | - holders. |
229 | - |
230 | -4. The right to distribute this software or to use it for |
231 | - any purpose does not give you the right to use |
232 | - Servicemarks (sm) or Trademarks (tm) of the copyright |
233 | - holders. Use of them is covered by separate agreement |
234 | - with the copyright holders. |
235 | - |
236 | -5. If any files are modified, you must cause the modified |
237 | - files to carry prominent notices stating that you changed |
238 | - the files and the date of any change. |
239 | - |
240 | -Disclaimer |
241 | - |
242 | - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' |
243 | - AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT |
244 | - NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY |
245 | - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN |
246 | - NO EVENT SHALL THE COPYRIGHT HOLDERS BE |
247 | - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
248 | - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
249 | - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
250 | - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
251 | - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
252 | - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE |
253 | - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
254 | - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH |
255 | - DAMAGE. |
256 | \ No newline at end of file |
257 | |
258 | === removed file '_bootstrap/bootstrap.py' |
259 | --- _bootstrap/bootstrap.py 2015-01-06 12:03:45 +0000 |
260 | +++ _bootstrap/bootstrap.py 1970-01-01 00:00:00 +0000 |
261 | @@ -1,277 +0,0 @@ |
262 | -############################################################################## |
263 | -# |
264 | -# Copyright (c) 2006 Zope Foundation and Contributors. |
265 | -# All Rights Reserved. |
266 | -# |
267 | -# This software is subject to the provisions of the Zope Public License, |
268 | -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. |
269 | -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
270 | -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
271 | -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
272 | -# FOR A PARTICULAR PURPOSE. |
273 | -# |
274 | -############################################################################## |
275 | -"""Bootstrap a buildout-based project |
276 | - |
277 | -Simply run this script in a directory containing a buildout.cfg. |
278 | -The script accepts buildout command-line options, so you can |
279 | -use the -c option to specify an alternate configuration file. |
280 | -""" |
281 | - |
282 | -import os, shutil, sys, tempfile, urllib, urllib2, subprocess |
283 | -from optparse import OptionParser |
284 | - |
285 | -if sys.platform == 'win32': |
286 | - def quote(c): |
287 | - if ' ' in c: |
288 | - return '"%s"' % c # work around spawn lamosity on windows |
289 | - else: |
290 | - return c |
291 | -else: |
292 | - quote = str |
293 | - |
294 | -# See zc.buildout.easy_install._has_broken_dash_S for motivation and comments. |
295 | -stdout, stderr = subprocess.Popen( |
296 | - [sys.executable, '-Sc', |
297 | - 'try:\n' |
298 | - ' import ConfigParser\n' |
299 | - 'except ImportError:\n' |
300 | - ' print 1\n' |
301 | - 'else:\n' |
302 | - ' print 0\n'], |
303 | - stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() |
304 | -has_broken_dash_S = bool(int(stdout.strip())) |
305 | - |
306 | -# In order to be more robust in the face of system Pythons, we want to |
307 | -# run without site-packages loaded. This is somewhat tricky, in |
308 | -# particular because Python 2.6's distutils imports site, so starting |
309 | -# with the -S flag is not sufficient. However, we'll start with that: |
310 | -if not has_broken_dash_S and 'site' in sys.modules: |
311 | - # We will restart with python -S. |
312 | - args = sys.argv[:] |
313 | - args[0:0] = [sys.executable, '-S'] |
314 | - args = map(quote, args) |
315 | - os.execv(sys.executable, args) |
316 | -# Now we are running with -S. We'll get the clean sys.path, import site |
317 | -# because distutils will do it later, and then reset the path and clean |
318 | -# out any namespace packages from site-packages that might have been |
319 | -# loaded by .pth files. |
320 | -clean_path = sys.path[:] |
321 | -import site # imported because of its side effects |
322 | -sys.path[:] = clean_path |
323 | -for k, v in sys.modules.items(): |
324 | - if k in ('setuptools', 'pkg_resources') or ( |
325 | - hasattr(v, '__path__') and |
326 | - len(v.__path__) == 1 and |
327 | - not os.path.exists(os.path.join(v.__path__[0], '__init__.py'))): |
328 | - # This is a namespace package. Remove it. |
329 | - sys.modules.pop(k) |
330 | - |
331 | -is_jython = sys.platform.startswith('java') |
332 | - |
333 | -setuptools_source = 'http://peak.telecommunity.com/dist/ez_setup.py' |
334 | -distribute_source = 'http://python-distribute.org/distribute_setup.py' |
335 | -distribute_source = 'https://bitbucket.org/pypa/setuptools/raw/f657df1f1ed46596d236376649c99a470662b4ba/distribute_setup.py' |
336 | - |
337 | -# parsing arguments |
338 | -def normalize_to_url(option, opt_str, value, parser): |
339 | - if value: |
340 | - if '://' not in value: # It doesn't smell like a URL. |
341 | - value = 'file://%s' % ( |
342 | - urllib.pathname2url( |
343 | - os.path.abspath(os.path.expanduser(value))),) |
344 | - if opt_str == '--download-base' and not value.endswith('/'): |
345 | - # Download base needs a trailing slash to make the world happy. |
346 | - value += '/' |
347 | - else: |
348 | - value = None |
349 | - name = opt_str[2:].replace('-', '_') |
350 | - setattr(parser.values, name, value) |
351 | - |
352 | -usage = '''\ |
353 | -[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options] |
354 | - |
355 | -Bootstraps a buildout-based project. |
356 | - |
357 | -Simply run this script in a directory containing a buildout.cfg, using the |
358 | -Python that you want bin/buildout to use. |
359 | - |
360 | -Note that by using --setup-source and --download-base to point to |
361 | -local resources, you can keep this script from going over the network. |
362 | -''' |
363 | - |
364 | -parser = OptionParser(usage=usage) |
365 | -parser.add_option("-v", "--version", dest="version", |
366 | - help="use a specific zc.buildout version") |
367 | -parser.add_option("-d", "--distribute", |
368 | - action="store_true", dest="use_distribute", default=False, |
369 | - help="Use Distribute rather than Setuptools.") |
370 | -parser.add_option("--setup-source", action="callback", dest="setup_source", |
371 | - callback=normalize_to_url, nargs=1, type="string", |
372 | - help=("Specify a URL or file location for the setup file. " |
373 | - "If you use Setuptools, this will default to " + |
374 | - setuptools_source + "; if you use Distribute, this " |
375 | - "will default to " + distribute_source + ".")) |
376 | -parser.add_option("--download-base", action="callback", dest="download_base", |
377 | - callback=normalize_to_url, nargs=1, type="string", |
378 | - help=("Specify a URL or directory for downloading " |
379 | - "zc.buildout and either Setuptools or Distribute. " |
380 | - "Defaults to PyPI.")) |
381 | -parser.add_option("--eggs", |
382 | - help=("Specify a directory for storing eggs. Defaults to " |
383 | - "a temporary directory that is deleted when the " |
384 | - "bootstrap script completes.")) |
385 | -parser.add_option("-t", "--accept-buildout-test-releases", |
386 | - dest='accept_buildout_test_releases', |
387 | - action="store_true", default=False, |
388 | - help=("Normally, if you do not specify a --version, the " |
389 | - "bootstrap script and buildout gets the newest " |
390 | - "*final* versions of zc.buildout and its recipes and " |
391 | - "extensions for you. If you use this flag, " |
392 | - "bootstrap and buildout will get the newest releases " |
393 | - "even if they are alphas or betas.")) |
394 | -parser.add_option("-c", None, action="store", dest="config_file", |
395 | - help=("Specify the path to the buildout configuration " |
396 | - "file to be used.")) |
397 | - |
398 | -options, args = parser.parse_args() |
399 | - |
400 | -if options.eggs: |
401 | - eggs_dir = os.path.abspath(os.path.expanduser(options.eggs)) |
402 | -else: |
403 | - eggs_dir = tempfile.mkdtemp() |
404 | - |
405 | -if options.setup_source is None: |
406 | - if options.use_distribute: |
407 | - options.setup_source = distribute_source |
408 | - else: |
409 | - options.setup_source = setuptools_source |
410 | - |
411 | -if options.accept_buildout_test_releases: |
412 | - args.insert(0, 'buildout:accept-buildout-test-releases=true') |
413 | - |
414 | -try: |
415 | - import pkg_resources |
416 | - import setuptools # A flag. Sometimes pkg_resources is installed alone. |
417 | - if not hasattr(pkg_resources, '_distribute'): |
418 | - raise ImportError |
419 | -except ImportError: |
420 | - ez_code = urllib2.urlopen( |
421 | - options.setup_source).read().replace('\r\n', '\n') |
422 | - ez = {} |
423 | - exec ez_code in ez |
424 | - setup_args = dict(to_dir=eggs_dir, download_delay=0) |
425 | - if options.download_base: |
426 | - setup_args['download_base'] = options.download_base |
427 | - if options.use_distribute: |
428 | - setup_args['no_fake'] = True |
429 | - if sys.version_info[:2] == (2, 4): |
430 | - setup_args['version'] = '0.6.32' |
431 | - ez['use_setuptools'](**setup_args) |
432 | - if 'pkg_resources' in sys.modules: |
433 | - reload(sys.modules['pkg_resources']) |
434 | - import pkg_resources |
435 | - # This does not (always?) update the default working set. We will |
436 | - # do it. |
437 | - for path in sys.path: |
438 | - if path not in pkg_resources.working_set.entries: |
439 | - pkg_resources.working_set.add_entry(path) |
440 | - |
441 | -cmd = [quote(sys.executable), |
442 | - '-c', |
443 | - quote('from setuptools.command.easy_install import main; main()'), |
444 | - '-mqNxd', |
445 | - quote(eggs_dir)] |
446 | - |
447 | -if not has_broken_dash_S: |
448 | - cmd.insert(1, '-S') |
449 | - |
450 | -find_links = options.download_base |
451 | -if not find_links: |
452 | - find_links = os.environ.get('bootstrap-testing-find-links') |
453 | -if not find_links and options.accept_buildout_test_releases: |
454 | - find_links = 'http://downloads.buildout.org/' |
455 | -if find_links: |
456 | - cmd.extend(['-f', quote(find_links)]) |
457 | - |
458 | -if options.use_distribute: |
459 | - setup_requirement = 'distribute' |
460 | -else: |
461 | - setup_requirement = 'setuptools' |
462 | -ws = pkg_resources.working_set |
463 | -setup_requirement_path = ws.find( |
464 | - pkg_resources.Requirement.parse(setup_requirement)).location |
465 | -env = dict( |
466 | - os.environ, |
467 | - PYTHONPATH=setup_requirement_path) |
468 | - |
469 | -requirement = 'zc.buildout' |
470 | -version = options.version |
471 | -if version is None and not options.accept_buildout_test_releases: |
472 | - # Figure out the most recent final version of zc.buildout. |
473 | - import setuptools.package_index |
474 | - _final_parts = '*final-', '*final' |
475 | - |
476 | - def _final_version(parsed_version): |
477 | - for part in parsed_version: |
478 | - if (part[:1] == '*') and (part not in _final_parts): |
479 | - return False |
480 | - return True |
481 | - index = setuptools.package_index.PackageIndex( |
482 | - search_path=[setup_requirement_path]) |
483 | - if find_links: |
484 | - index.add_find_links((find_links,)) |
485 | - req = pkg_resources.Requirement.parse(requirement) |
486 | - if index.obtain(req) is not None: |
487 | - best = [] |
488 | - bestv = None |
489 | - for dist in index[req.project_name]: |
490 | - distv = dist.parsed_version |
491 | - if distv >= pkg_resources.parse_version('2dev'): |
492 | - continue |
493 | - if _final_version(distv): |
494 | - if bestv is None or distv > bestv: |
495 | - best = [dist] |
496 | - bestv = distv |
497 | - elif distv == bestv: |
498 | - best.append(dist) |
499 | - if best: |
500 | - best.sort() |
501 | - version = best[-1].version |
502 | - |
503 | -if version: |
504 | - requirement += '=='+version |
505 | -else: |
506 | - requirement += '<2dev' |
507 | - |
508 | -cmd.append(requirement) |
509 | - |
510 | -if is_jython: |
511 | - import subprocess |
512 | - exitcode = subprocess.Popen(cmd, env=env).wait() |
513 | -else: # Windows prefers this, apparently; otherwise we would prefer subprocess |
514 | - exitcode = os.spawnle(*([os.P_WAIT, sys.executable] + cmd + [env])) |
515 | -if exitcode != 0: |
516 | - sys.stdout.flush() |
517 | - sys.stderr.flush() |
518 | - print ("An error occurred when trying to install zc.buildout. " |
519 | - "Look above this message for any errors that " |
520 | - "were output by easy_install.") |
521 | - sys.exit(exitcode) |
522 | - |
523 | -ws.add_entry(eggs_dir) |
524 | -ws.require(requirement) |
525 | -import zc.buildout.buildout |
526 | - |
527 | -# If there isn't already a command in the args, add bootstrap |
528 | -if not [a for a in args if '=' not in a]: |
529 | - args.append('bootstrap') |
530 | - |
531 | - |
532 | -# if -c was provided, we push it back into args for buildout's main function |
533 | -if options.config_file is not None: |
534 | - args[0:0] = ['-c', options.config_file] |
535 | - |
536 | -zc.buildout.buildout.main(args) |
537 | -if not options.eggs: # clean up temporary egg directory |
538 | - shutil.rmtree(eggs_dir) |
539 | |
540 | === added file 'bootstrap-requirements.txt' |
541 | --- bootstrap-requirements.txt 1970-01-01 00:00:00 +0000 |
542 | +++ bootstrap-requirements.txt 2015-11-17 13:24:41 +0000 |
543 | @@ -0,0 +1,3 @@ |
544 | +pip==7.1.2 |
545 | +setuptools==18.4 |
546 | +wheel==0.24.0 |
547 | |
548 | === removed symlink 'bootstrap.py' |
549 | === target was u'_bootstrap/bootstrap.py' |
550 | === removed file 'buildout.cfg' |
551 | --- buildout.cfg 2015-01-06 12:03:45 +0000 |
552 | +++ buildout.cfg 1970-01-01 00:00:00 +0000 |
553 | @@ -1,33 +0,0 @@ |
554 | -[buildout] |
555 | -extends = versions.cfg |
556 | -parts = |
557 | - runtime |
558 | - test |
559 | - tags |
560 | -unzip = true |
561 | -include-site-packages = false |
562 | -allowed-eggs-from-site-packages = pyyaml |
563 | -exec-sitecustomize = true |
564 | -develop = . |
565 | -download-cache = download-cache |
566 | -eggs-directory = eggs |
567 | -# Relative paths are useful when deploying built trees. |
568 | -relative-paths = true |
569 | -# Disable this option temporarily if you want buildout to find |
570 | -# software dependencies *other* than those in our download-cache. |
571 | -# Once you have the desired software, re-enable this option. |
572 | -install-from-cache = true |
573 | - |
574 | -[runtime] |
575 | -recipe = z3c.recipe.scripts |
576 | -eggs = txpkgupload |
577 | -entry-points = twistd=twisted.scripts.twistd:run |
578 | - |
579 | -[test] |
580 | -recipe = zc.recipe.testrunner |
581 | -eggs = txpkgupload [test] |
582 | -defaults = '--tests-pattern ^tests --exit-with-status --suite-name additional_tests'.split() |
583 | - |
584 | -[tags] |
585 | -recipe = z3c.recipe.tag:tags |
586 | -eggs = txpkgupload |
587 | |
588 | === added file 'requirements.txt' |
589 | --- requirements.txt 1970-01-01 00:00:00 +0000 |
590 | +++ requirements.txt 2015-11-17 13:24:41 +0000 |
591 | @@ -0,0 +1,45 @@ |
592 | +bson==0.3.3 |
593 | +extras==0.0.3 |
594 | +fixtures==0.3.12 |
595 | +FormEncode==1.2.4 |
596 | +httplib2==0.8 |
597 | +iso8601==0.1.4 |
598 | +keyring==0.6.2 |
599 | +launchpadlib==1.10.2 |
600 | +lazr.authentication==0.1.1 |
601 | +lazr.restfulclient==0.13.2 |
602 | +lazr.sshserver==0.1.1 |
603 | +lazr.uri==1.0.2 |
604 | +oauth==1.0 |
605 | +oops==0.0.10 |
606 | +oops-datedir-repo==0.0.14 |
607 | +oops-twisted==0.0.6 |
608 | +oops-wsgi==0.0.8 |
609 | +paste==1.7.5.1 |
610 | +pyasn1==0.1.6 |
611 | +pycrypto==2.6 |
612 | +python-mimeparse==0.1.4 |
613 | +PyYAML==3.10 |
614 | +pytz==2014.10 |
615 | +simplejson==3.1.3 |
616 | +testresources==0.2.7 |
617 | +testtools==0.9.30 |
618 | +Twisted==13.0.0 |
619 | +wadllib==1.3.2 |
620 | +wsgi-intercept==0.5.1 |
621 | +zope.browser==1.3 |
622 | +zope.component==3.10.0 |
623 | +zope.configuration==3.7.4 |
624 | +zope.contenttype==3.5.5 |
625 | +zope.event==3.5.2 |
626 | +zope.exceptions==3.6.2 |
627 | +zope.i18n==3.7.4 |
628 | +zope.i18nmessageid==3.5.3 |
629 | +zope.interface==3.8.0 |
630 | +zope.location==3.9.1 |
631 | +zope.proxy==3.6.1 |
632 | +zope.publisher==3.12.6 |
633 | +zope.schema==3.7.1 |
634 | +zope.security==3.8.3 |
635 | +zope.server==3.8.6 |
636 | +zope.testrunner==4.0.3 |
637 | |
638 | === removed file 'versions.cfg' |
639 | --- versions.cfg 2015-01-21 13:38:43 +0000 |
640 | +++ versions.cfg 1970-01-01 00:00:00 +0000 |
641 | @@ -1,59 +0,0 @@ |
642 | -[buildout] |
643 | -versions = versions |
644 | -allow-picked-versions = false |
645 | -use-dependency-links = false |
646 | - |
647 | -[versions] |
648 | -# Alphabetical, case-SENSITIVE, blank line after this comment |
649 | - |
650 | -bson = 0.3.3 |
651 | -extras = 0.0.3 |
652 | -fixtures = 0.3.12 |
653 | -FormEncode = 1.2.4 |
654 | -httplib2 = 0.8 |
655 | -iso8601 = 0.1.4 |
656 | -keyring = 0.6.2 |
657 | -launchpadlib = 1.10.2 |
658 | -lazr.authentication = 0.1.1 |
659 | -lazr.restfulclient = 0.13.2 |
660 | -lazr.sshserver = 0.1.1 |
661 | -lazr.uri = 1.0.2 |
662 | -oauth = 1.0 |
663 | -oops = 0.0.10 |
664 | -oops-datedir-repo = 0.0.14 |
665 | -oops-twisted = 0.0.6 |
666 | -oops-wsgi = 0.0.8 |
667 | -paste = 1.7.5.1 |
668 | -pyasn1 = 0.1.6 |
669 | -pycrypto = 2.6 |
670 | -python-mimeparse = 0.1.4 |
671 | -PyYAML = 3.10 |
672 | -pytz = 2014.10 |
673 | -setuptools = 0.6c11 |
674 | -simplejson = 3.1.3 |
675 | -testresources = 0.2.7 |
676 | -testtools = 0.9.30 |
677 | -Twisted = 13.0.0 |
678 | -wadllib = 1.3.2 |
679 | -wsgi-intercept = 0.5.1 |
680 | -z3c.recipe.scripts = 1.0.1 |
681 | -z3c.recipe.tag = 0.6 |
682 | -zc.buildout = 1.5.2 |
683 | -zc.recipe.egg = 1.3.2 |
684 | -zc.recipe.testrunner = 1.4.0 |
685 | -zope.browser = 1.3 |
686 | -zope.component = 3.10.0 |
687 | -zope.configuration = 3.7.4 |
688 | -zope.contenttype = 3.5.5 |
689 | -zope.event = 3.5.2 |
690 | -zope.exceptions = 3.6.2 |
691 | -zope.i18n = 3.7.4 |
692 | -zope.i18nmessageid = 3.5.3 |
693 | -zope.interface = 3.8.0 |
694 | -zope.location = 3.9.1 |
695 | -zope.proxy = 3.6.1 |
696 | -zope.publisher = 3.12.6 |
697 | -zope.schema = 3.7.1 |
698 | -zope.security = 3.8.3 |
699 | -zope.server = 3.8.6 |
700 | -zope.testrunner = 4.0.3 |