Commit 279def6a authored by Domen Kožar's avatar Domen Kožar

merge

parents a1b779e1 d1d05306
......@@ -8,6 +8,12 @@ Change History
in current directory during installation
[Domen Kožar]
- Windows fix: use cli-64.exe/cli.exe depending on 64/32 bit
and try cli.exe if cli-64.exe is not found,
fixing 9c6be7ac6d218f09e33725e07dccc4af74d8cf97
- Windows fix: `buildout init` was broken, re.sub does not like a single backslash
- fixed all builds on travis-ci
[Domen Kožar]
......
......@@ -30,6 +30,7 @@ import setuptools.archive_util
import setuptools.command.setopt
import setuptools.package_index
import shutil
import struct
import subprocess
import sys
import tempfile
......@@ -51,6 +52,7 @@ logger = logging.getLogger('zc.buildout.easy_install')
url_match = re.compile('[a-z0-9+.-]+://').match
is_win32 = sys.platform == 'win32'
is_64 = struct.calcsize("P") == 8
is_jython = sys.platform.startswith('java')
is_distribute = (
pkg_resources.Requirement.parse('setuptools').key=='distribute')
......@@ -1460,7 +1462,15 @@ def _write_script(full_name, contents, logged_type):
script_name += '-script.py'
# Generate exe file and give the script a magic name.
exe = full_name + '.exe'
new_data = pkg_resources.resource_string('setuptools', 'cli.exe')
if is_64:
resource = 'cli-64.exe'
else:
resource = 'cli.exe'
try:
new_data = pkg_resources.resource_string('setuptools', resource)
except IOError:
# setuptools has just cli.exe, no matter if 64/32 bit
new_data = pkg_resources.resource_string('setuptools', 'cli.exe')
if not os.path.exists(exe) or (open(exe, 'rb').read() != new_data):
# Only write it if it's different.
open(exe, 'wb').write(new_data)
......
......@@ -267,10 +267,10 @@ caught (displaying a warning) and the rest of the buildout update process
should continue.
>>> version = sys.version_info[0:2]
>>> egg = new_releases + '/zc.buildout-99.99-py%s.%s.egg ' % version
>>> copy_egg = new_releases + '/zc.buildout-1000-py%s.%s.egg ' % version
>>> system('cp ' + egg + copy_egg)
''
>>> egg = new_releases + '/zc.buildout-99.99-py%s.%s.egg' % version
>>> copy_egg = new_releases + '/zc.buildout-1000-py%s.%s.egg' % version
>>> import shutil
>>> shutil.copy(egg, copy_egg)
Create a broken egg
......
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