diff options
| author | Brian Dolbec <dolsen@gentoo.org> | 2012-01-22 09:48:36 -0800 |
|---|---|---|
| committer | Brian Dolbec <dolsen@gentoo.org> | 2012-01-22 09:48:36 -0800 |
| commit | 0f152f27af3b758b904d257931c17da490468b8e (patch) | |
| tree | 9b33030cb4ee1710fac5fe4eb7a3758067482ad5 | |
| parent | a6b7a7adced1a55327cd947c424987899e6f48ae (diff) | |
| download | gentoolkit-0f152f27af3b758b904d257931c17da490468b8e.tar.gz | |
fix bug 398103 to properly delete broken symlinks and not abort.
| -rw-r--r-- | pym/gentoolkit/eclean/clean.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/pym/gentoolkit/eclean/clean.py b/pym/gentoolkit/eclean/clean.py index b2cc562..fd59976 100644 --- a/pym/gentoolkit/eclean/clean.py +++ b/pym/gentoolkit/eclean/clean.py @@ -125,10 +125,22 @@ class CleanUp(object): try: statinfo = os.stat(file_) except EnvironmentError as er: - print( pp.error( - "Could not get stat info for:" + file_), file=sys.stderr) - print( pp.error( - "Error: %s" %str(er)), file=sys.stderr) + if not os.path.exists(os.readlink(file_)): + try: + os.remove(file_) + print( pp.error( + "Removed broken symbolic link " + file_), file=sys.stderr) + break + except EnvironmentError as er: + print( pp.error( + "Error deleting broken symbolic link " + file_), file=sys.stderr) + print( pp.error("Error: %s" %str(er)), file=sys.stderr) + break + else: + print( pp.error( + "Could not get stat info for:" + file_), file=sys.stderr) + print( pp.error( + "Error: %s" %str(er)), file=sys.stderr) if self.controller(statinfo.st_size, key, file_, file_type): # ... try to delete it. try: |
