Documented Bastian's patch.
Made handling OSError in 'mkpath()' more standard.
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 6351bc7..8242e10 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -24,11 +24,13 @@
 # succeed in that case).
 def mkpath (name, mode=0777, verbose=0, dry_run=0):
     """Create a directory and any missing ancestor directories.  If the
-       directory already exists, return silently.  Raise
-       DistutilsFileError if unable to create some directory along the
-       way (eg. some sub-path exists, but is a file rather than a
-       directory).  If 'verbose' is true, print a one-line summary of
-       each mkdir to stdout."""
+       directory already exists (or if 'name' is the empty string, which
+       means the current directory, which of course exists), then do
+       nothing.  Raise DistutilsFileError if unable to create some
+       directory along the way (eg. some sub-path exists, but is a file
+       rather than a directory).  If 'verbose' is true, print a one-line
+       summary of each mkdir to stdout.  Return the list of directories
+       actually created."""
 
     global PATH_CREATED
 
@@ -71,9 +73,9 @@
             try:
                 os.mkdir (head)
                 created_dirs.append(head)
-            except os.error, (errno, errstr):
+            except OSError, exc:
                 raise DistutilsFileError, \
-                      "could not create '%s': %s" % (head, errstr)
+                      "could not create '%s': %s" % (head, exc[-1])
 
         PATH_CREATED[head] = 1
     return created_dirs