Commit c82e1669 authored by PJ Eby's avatar PJ Eby

Use cross-platform relative paths in ``easy-install.pth`` when doing

``develop`` and the source directory is a subdirectory of the installation
target directory.
(backport from trunk)

--HG--
branch : setuptools-0.6
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4052047
parent 07a18df5
......@@ -2612,6 +2612,10 @@ Release Notes/Change History
* Fix problem with empty revision numbers in Subversion 1.4 ``entries`` files
* Use cross-platform relative paths in ``easy-install.pth`` when doing
``develop`` and the source directory is a subdirectory of the installation
target directory.
0.6c3
* Fixed breakages caused by Subversion 1.4's new "working copy" format
......
......@@ -1393,9 +1393,19 @@ class PthDistributions(Environment):
def make_relative(self,path):
if normalize_path(os.path.dirname(path))==self.basedir:
return os.path.join(os.curdir, os.path.basename(path))
return path
npath, last = os.path.split(normalize_path(path))
baselen = len(self.basedir)
parts = [last]
sep = os.altsep=='/' and '/' or os.sep
while len(npath)>=baselen:
if npath==self.basedir:
parts.append(os.curdir)
parts.reverse()
return sep.join(parts)
npath, last = os.path.split(npath)
parts.append(last)
else:
return path
def get_script_header(script_text, executable=sys_executable):
......@@ -1420,6 +1430,9 @@ def get_script_header(script_text, executable=sys_executable):
hdr = "#!%(executable)s%(options)s\n" % locals()
return hdr
def auto_chmod(func, arg, exc):
if func is os.remove and os.name=='nt':
os.chmod(arg, stat.S_IWRITE)
......@@ -1452,6 +1465,15 @@ def is_python(text, filename='<string>'):
else:
return True
def is_python_script(script_text, filename):
"""Is this text, as a whole, a Python script? (as opposed to shell/bat/etc.
"""
......@@ -1473,6 +1495,25 @@ def is_python_script(script_text, filename):
return False # Not any Python I can recognize
def get_script_args(dist, executable=sys_executable):
"""Yield write_script() argument tuples for a distribution's entrypoints"""
......
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