Part of the fix for bug #410541: add ensure_relative() function
diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py
index ca9fa9d..bd1ea0f 100644
--- a/Lib/distutils/dir_util.py
+++ b/Lib/distutils/dir_util.py
@@ -6,7 +6,7 @@
 
 __revision__ = "$Id$"
 
-import os
+import os, sys
 from types import *
 from distutils.errors import DistutilsFileError, DistutilsInternalError
 from distutils import log
@@ -212,3 +212,17 @@
         except (IOError, OSError), exc:
             log.warn(grok_environment_error(
                     exc, "error removing %s: " % directory))
+
+
+def ensure_relative (path):
+    """Take the full path 'path', and make it a relative path so
+    it can be the second argument to os.path.join().
+    """
+    drive, path = os.path.splitdrive(path)
+    if sys.platform == 'mac':
+        return os.sep + path
+    else:
+        if path[0:1] == os.sep:
+            path = drive + path[1:]
+        return path
+