summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Client/Tools/MacPorts.py
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2012-04-19 09:39:32 -0500
committerSol Jerome <sol.jerome@gmail.com>2012-04-19 09:39:32 -0500
commit232963077d5883d3e7b15ad15a10063bb1986de9 (patch)
tree2b7c09dfdce07662dd7028e5a6f76ec06444f603 /src/lib/Bcfg2/Client/Tools/MacPorts.py
parentfb63e457428f5bb91e5e80be40f5ac166d712d50 (diff)
parent3824f10c6edaa7ee1cfff65d1eb17343a5b20b9c (diff)
downloadbcfg2-232963077d5883d3e7b15ad15a10063bb1986de9.tar.gz
bcfg2-232963077d5883d3e7b15ad15a10063bb1986de9.tar.bz2
bcfg2-232963077d5883d3e7b15ad15a10063bb1986de9.zip
Merge branch 'maint'
Conflicts: src/sbin/bcfg2-info Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib/Bcfg2/Client/Tools/MacPorts.py')
-rw-r--r--src/lib/Bcfg2/Client/Tools/MacPorts.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/MacPorts.py b/src/lib/Bcfg2/Client/Tools/MacPorts.py
index e8c911390..9724fab57 100644
--- a/src/lib/Bcfg2/Client/Tools/MacPorts.py
+++ b/src/lib/Bcfg2/Client/Tools/MacPorts.py
@@ -10,7 +10,7 @@ class MacPorts(Bcfg2.Client.Tools.PkgTool):
__handles__ = [('Package', 'macport')]
__req__ = {'Package': ['name', 'version']}
pkgtype = 'macport'
- pkgtool = ("/opt/local/bin/port install %s")
+ pkgtool = ('/opt/local/bin/port install %s', ('%s', ['name']))
def __init__(self, logger, setup, config):
Bcfg2.Client.Tools.PkgTool.__init__(self, logger, setup, config)
@@ -26,7 +26,7 @@ class MacPorts(Bcfg2.Client.Tools.PkgTool):
continue
pkgname = pkg.split('@')[0].strip()
version = pkg.split('@')[1].split(' ')[0]
- self.logger.info(" pkgname: %s\n version: %s" % (pkgname, version))
+ self.logger.info(" pkgname: %s version: %s" % (pkgname, version))
self.installed[pkgname] = version
def VerifyPackage(self, entry, modlist):
@@ -37,13 +37,20 @@ class MacPorts(Bcfg2.Client.Tools.PkgTool):
return False
if entry.attrib['name'] in self.installed:
- if self.installed[entry.attrib['name']] == entry.attrib['version']:
+ if (self.installed[entry.attrib['name']] == entry.attrib['version'] or
+ entry.attrib['version'] == 'any'):
#if not self.setup['quick'] and \
# entry.get('verify', 'true') == 'true':
#FIXME: We should be able to check this once
# http://trac.macports.org/ticket/15709 is implemented
return True
else:
+ self.logger.info(" %s: Wrong version installed. "
+ "Want %s, but have %s" % (entry.get("name"),
+ entry.get("version"),
+ self.installed[entry.get("name")],
+ ))
+
entry.set('current_version', self.installed[entry.get('name')])
return False
entry.set('current_exists', 'false')