Commit 5ed7f988 authored by PJ Eby's avatar PJ Eby

0.5a3 bugfix release

--HG--
branch : setuptools
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041072
parent 0fd80962
......@@ -23,7 +23,7 @@ Installing "Easy Install"
-------------------------
Windows users can just download and run the `setuptools binary installer for
Windows <http://peak.telecommunity.com/dist/setuptools-0.5a1.win32.exe>`_.
Windows <http://peak.telecommunity.com/dist/setuptools-0.5a3.win32.exe>`_.
All others should just download `ez_setup.py
<http://peak.telecommunity.com/dist/ez_setup.py>`_, and run it; this will
download and install the correct version of ``setuptools`` for your Python
......@@ -62,7 +62,7 @@ version, and automatically downloading, building, and installing it::
**Example 2**. Install or upgrade a package by name and version by finding
links on a given "download page"::
easy_install -f http://peak.telecommunity.com/dist "setuptools>=0.5a1"
easy_install -f http://peak.telecommunity.com/dist "setuptools>=0.5a3"
**Example 3**. Download a source distribution from a specified URL,
automatically building and installing it::
......@@ -442,6 +442,15 @@ Known Issues
* There's no automatic retry for borked Sourceforge mirrors, which can easily
time out or be missing a file.
0.5a3
* Fixed not setting script permissions to allow execution.
* Improved sandboxing so that setup scripts that want a temporary directory
(e.g. pychecker) can still run in the sandbox.
0.5a2
* Fix stupid stupid refactoring-at-the-last-minute typos. :(
0.5a1
* Added support for converting ``.win32.exe`` installers to eggs on the fly.
EasyInstall will now recognize such files by name and install them.
......
......@@ -238,10 +238,10 @@ class easy_install(Command):
f = open(target,"w")
f.write(script_text)
f.close()
try:
os.chmod(target,0755)
except (AttributeError, os.error):
pass
def install_eggs(self, dist_filename, zip_ok, tmpdir):
......
......@@ -14,7 +14,7 @@ the appropriate options to ``use_setuptools()``.
This file can also be run as a script to install or upgrade setuptools.
"""
DEFAULT_VERSION = "0.5a1"
DEFAULT_VERSION = "0.5a3"
DEFAULT_URL = "http://peak.telecommunity.com/dist/"
import sys, os
......
#!/usr/bin/env python
"""Distutils setup file, used to install or test 'setuptools'"""
VERSION = "0.5a1"
VERSION = "0.5a3"
from setuptools import setup, find_packages, Require
setup(
......@@ -26,7 +26,7 @@ setup(
"close. See the home page and download page for details and docs.",
keywords = "CPAN PyPI distutils eggs package management",
url = "http://peak.telecommunity.com/PythonEggs",
url = "http://peak.telecommunity.com/DevCenter/PythonEggs",
download_url = "http://peak.telecommunity.com/DevCenter/EasyInstall",
test_suite = 'setuptools.tests.test_suite',
......
......@@ -8,7 +8,7 @@ from distutils.core import Command as _Command
from distutils.util import convert_path
import os.path
__version__ = '0.5a1'
__version__ = '0.5a3'
__all__ = [
'setup', 'Distribution', 'Feature', 'Command', 'Extension', 'Require',
......
......@@ -23,7 +23,7 @@ def parse_bdist_wininst(name):
if lower.endswith('.exe'):
if lower.endswith('.win32.exe'):
base = name[:-10]
elif lower[-16:].startswith('.win32-py'):
elif lower.startswith('.win32-py',-16):
py_ver = name[-7:-4]
base = name[:-16]
......
import os, sys, __builtin__
import os, sys, __builtin__, tempfile
_os = sys.modules[os.name]
_open = open
__all__ = [
"AbstractSandbox", "DirectorySandbox", "SandboxViolation", "run_setup",
]
def run_setup(setup_script, args):
"""Run a distutils setup script, sandboxed in its directory"""
......@@ -15,8 +13,12 @@ def run_setup(setup_script, args):
save_argv = sys.argv[:]
save_path = sys.path[:]
setup_dir = os.path.abspath(os.path.dirname(setup_script))
temp_dir = os.path.join(setup_dir,'temp')
if not os.path.isdir(temp_dir): os.makedirs(temp_dir)
save_tmp = tempfile.tempdir
try:
tempfile.tempdir = temp_dir
os.chdir(setup_dir)
try:
sys.argv[:] = [setup_script]+list(args)
......@@ -35,9 +37,7 @@ def run_setup(setup_script, args):
os.chdir(old_dir)
sys.path[:] = save_path
sys.argv[:] = save_argv
tempfile.tempdir = save_tmp
class AbstractSandbox:
"""Wrap 'os' module and 'open()' builtin for virtualizing setup scripts"""
......
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