Index: trunk/src/build/get_syzygy_binaries.py |
=================================================================== |
--- trunk/src/build/get_syzygy_binaries.py (revision 273361) |
+++ trunk/src/build/get_syzygy_binaries.py (working copy) |
@@ -7,14 +7,12 @@ |
import cStringIO |
import hashlib |
-import errno |
import json |
import logging |
import optparse |
import os |
import re |
import shutil |
-import stat |
import subprocess |
import urllib2 |
import zipfile |
@@ -174,27 +172,6 @@ |
return not dirs and not files |
-def _RmTreeHandleReadOnly(func, path, exc): |
- """An error handling function for use with shutil.rmtree. This will |
- detect failures to remove read-only files, and will change their properties |
- prior to removing them. This is necessary on Windows as os.remove will return |
- an access error for read-only files, and git repos contain read-only |
- pack/index files. |
- """ |
- excvalue = exc[1] |
- if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES: |
- _LOGGER.debug('Removing read-only path: %s', path) |
- os.chmod(path, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO) |
- func(path) |
- else: |
- raise |
- |
- |
-def _RmTree(path): |
- """A wrapper of shutil.rmtree that handles read-only files.""" |
- shutil.rmtree(path, ignore_errors=False, onerror=_RmTreeHandleReadOnly) |
- |
- |
def _CleanState(output_dir, state, dry_run=False): |
"""Cleans up files/directories in |output_dir| that are referenced by |
the given |state|. Raises an error if there are local changes. Returns a |
@@ -239,7 +216,7 @@ |
if os.path.exists(p) and _DirIsEmpty(p): |
_LOGGER.debug('Deleting empty directory "%s".', p) |
if not dry_run: |
- _RmTree(p) |
+ shutil.rmtree(p, False) |
return deleted |
@@ -379,7 +356,7 @@ |
# If overwrite was specified then take a heavy-handed approach. |
_LOGGER.debug('Deleting entire installation directory.') |
if not options.dry_run: |
- _RmTree(options.output_dir) |
+ shutil.rmtree(options.output_dir, False) |
else: |
# Otherwise only delete things that the previous installation put in place, |
# and take care to preserve any local changes. |