summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2012-05-28 11:25:34 -0500
committerSol Jerome <sol.jerome@gmail.com>2012-05-28 11:25:34 -0500
commitd04670f08578d8be2b88d0d736c85361ec81e335 (patch)
tree1479a2741619962af3fb16088c224689d77b89ff
parentd4f401c09d501eab4c6f9d731bea9dacbdf04304 (diff)
downloadbcfg2-d04670f08578d8be2b88d0d736c85361ec81e335.tar.gz
bcfg2-d04670f08578d8be2b88d0d736c85361ec81e335.tar.bz2
bcfg2-d04670f08578d8be2b88d0d736c85361ec81e335.zip
POSIX: Fix symlink->dir removal (#1110)
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
-rw-r--r--src/lib/Bcfg2/Client/Tools/POSIX.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/POSIX.py b/src/lib/Bcfg2/Client/Tools/POSIX.py
index 0d67dbbab..519e6b232 100644
--- a/src/lib/Bcfg2/Client/Tools/POSIX.py
+++ b/src/lib/Bcfg2/Client/Tools/POSIX.py
@@ -758,7 +758,10 @@ class POSIX(Bcfg2.Client.Tools.Tool):
self.logger.error('Failed to remove %s: %s' % (ename,
e.strerror))
else:
- if os.path.isdir(ename):
+ if os.path.islink(ename):
+ os.remove(ename)
+ return True
+ elif os.path.isdir(ename):
try:
os.rmdir(ename)
return True