aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortarek <none@none>2009-07-22 12:51:33 +0200
committertarek <none@none>2009-07-22 12:51:33 +0200
commit0bbcd2d39efe57220d041a8fe1a79cdd4b259790 (patch)
treecf526a689139ae385d3ba0971e4489224e8e5201
parent96cecd18557e1cf13b9307955019b1091d6a9e30 (diff)
downloadexternal_python_setuptools-0bbcd2d39efe57220d041a8fe1a79cdd4b259790.tar.gz
external_python_setuptools-0bbcd2d39efe57220d041a8fe1a79cdd4b259790.tar.bz2
external_python_setuptools-0bbcd2d39efe57220d041a8fe1a79cdd4b259790.zip
hooked the patching code into setup.py
--HG-- branch : distribute extra : rebase_source : 8e77b3c98ea725103494ee55ec403dc967dbb3a6
-rwxr-xr-xez_setup.py11
-rwxr-xr-xsetup.py6
2 files changed, 16 insertions, 1 deletions
diff --git a/ez_setup.py b/ez_setup.py
index ec1861d8..a069c95c 100755
--- a/ez_setup.py
+++ b/ez_setup.py
@@ -153,24 +153,32 @@ Description: xxx
"""
def fake_setuptools():
+ from distutils import log
+ log.warn('Scanning installed packages')
try:
import pkg_resources
except ImportError:
# we're cool
+ log.warn('Setuptools or Distribute does not seem to be installed.')
return
ws = pkg_resources.working_set
setuptools_dist = ws.find(pkg_resources.Requirement.parse('setuptools'))
if setuptools_dist is None:
+ log.warn('No setuptools distribution found')
return
+
# detecting if it was already faked
setuptools_location = setuptools_dist.location
+ log.warn('Setuptools installation detected at %s' % setuptools_location)
pkg_info = os.path.join(setuptools_location, 'EGG-INFO', 'PKG-INFO')
if os.path.exists(pkg_info):
content = open(pkg_info).read()
if SETUPTOOLS_PKG_INFO == content:
# already patched
+ log.warn('Already patched.')
return
+ log.warn('Patching...')
# let's create a fake egg replacing setuptools one
os.rename(setuptools_location, setuptools_location+'.OLD.%s' % time.time())
os.mkdir(setuptools_location)
@@ -181,7 +189,8 @@ def fake_setuptools():
f.write(SETUPTOOLS_PKG_INFO)
finally:
f.close()
-
+ log.warn('Patched done.')
+ log.warn('Relaunching...')
# we have to relaunch the process
args = [sys.executable] + sys.argv
if is_jython:
diff --git a/setup.py b/setup.py
index b9e419a7..c2788314 100755
--- a/setup.py
+++ b/setup.py
@@ -13,6 +13,12 @@ from setuptools import setup, find_packages
import sys
scripts = []
+# if we are installing Distribute using "python setup.py install"
+# we need to get setuptools out of the way
+if 'install' in sys.argv[1:]:
+ from ez_setup import fake_setuptools
+ fake_setuptools()
+
setup(
name="distribute",
version=VERSION,