aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xEasyInstall.txt13
-rwxr-xr-xeasy_install.py8
-rwxr-xr-xez_setup.py2
-rwxr-xr-xsetup.py4
-rw-r--r--setuptools/__init__.py2
-rwxr-xr-xsetuptools/package_index.py2
-rwxr-xr-xsetuptools/sandbox.py12
7 files changed, 26 insertions, 17 deletions
diff --git a/EasyInstall.txt b/EasyInstall.txt
index d53d29fd..39301540 100755
--- a/EasyInstall.txt
+++ b/EasyInstall.txt
@@ -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.
diff --git a/easy_install.py b/easy_install.py
index b61b122e..689ee6ba 100755
--- a/easy_install.py
+++ b/easy_install.py
@@ -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):
diff --git a/ez_setup.py b/ez_setup.py
index a7ec250e..82cabb93 100755
--- a/ez_setup.py
+++ b/ez_setup.py
@@ -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
diff --git a/setup.py b/setup.py
index 41ebf109..5b86a8c6 100755
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,7 @@
#!/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',
diff --git a/setuptools/__init__.py b/setuptools/__init__.py
index 3220643d..d469f3f7 100644
--- a/setuptools/__init__.py
+++ b/setuptools/__init__.py
@@ -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',
diff --git a/setuptools/package_index.py b/setuptools/package_index.py
index 9ed9a8a8..a4f81882 100755
--- a/setuptools/package_index.py
+++ b/setuptools/package_index.py
@@ -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]
diff --git a/setuptools/sandbox.py b/setuptools/sandbox.py
index 0e6f5964..8aa58f8d 100755
--- a/setuptools/sandbox.py
+++ b/setuptools/sandbox.py
@@ -1,13 +1,11 @@
-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"""