Catch errors from 'rmtree' and emit a warning.
diff --git a/Lib/distutils/command/dist.py b/Lib/distutils/command/dist.py
index 2e4aacd..9931e37 100644
--- a/Lib/distutils/command/dist.py
+++ b/Lib/distutils/command/dist.py
@@ -402,8 +402,16 @@
def nuke_release_tree (self, base_dir):
- self.execute (rmtree, (base_dir,),
- "removing %s" % base_dir)
+ try:
+ self.execute (rmtree, (base_dir,),
+ "removing %s" % base_dir)
+ except (IOError, OSError), exc:
+ if exc.filename:
+ msg = "error removing %s: %s (%s)" % \
+ (base_dir, exc.strerror, exc.filename)
+ else:
+ msg = "error removing %s: %s" % (base_dir, exc.strerror)
+ self.warn (msg)
def make_tarball (self, base_dir, compress="gzip"):