From 65e9f126aa56226466d918b2c66d85290d183273 Mon Sep 17 00:00:00 2001 From: Tim Laszlo Date: Fri, 24 Sep 2010 03:44:25 +0000 Subject: Group paths to prune as an element Avoids a potential problem where paths with a : in the name are not removed. git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@6071 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Client/Tools/POSIX.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/Client/Tools/POSIX.py b/src/lib/Client/Tools/POSIX.py index 8fc07dd60..9d37b77d3 100644 --- a/src/lib/Client/Tools/POSIX.py +++ b/src/lib/Client/Tools/POSIX.py @@ -18,6 +18,7 @@ import string import time import Bcfg2.Client.Tools import Bcfg2.Options +from Bcfg2.Client import XML log = logging.getLogger('posix') @@ -219,6 +220,7 @@ class POSIX(Bcfg2.Client.Tools.Tool): nqtext += "Directory %s contains extra entries:" % entry.get('name') nqtext += ":".join(ex_ents) entry.set('qtest', nqtext) + [entry.append(XML.Element('Prune', path=x)) for x in ex_ents] except OSError: ex_ents = [] pruneTrue = True @@ -321,7 +323,8 @@ class POSIX(Bcfg2.Client.Tools.Tool): (entry.get('name'))) return False if entry.get('prune', 'false') == 'true' and entry.get("qtest"): - for pname in entry.get("qtest").split(":"): + for pent in entry.findall('Prune'): + pname = pent.get('path') ulfailed = False if os.path.isdir(pname): self.logger.info("Not removing extra directory %s, please check and remove manually" % pname) -- cgit v1.2.3-1-g7c22