summaryrefslogtreecommitdiffstats
path: root/src/lib/Client/Tools/IPS.py
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2012-03-24 11:20:07 -0500
committerSol Jerome <sol.jerome@gmail.com>2012-03-24 11:20:07 -0500
commitdab1d03d81c538966d03fb9318a4588a9e803b44 (patch)
treef51e27fa55887e9fb961766805fe43f0da56c5b9 /src/lib/Client/Tools/IPS.py
parent5cd6238df496a3cea178e4596ecd87967cce1ce6 (diff)
downloadbcfg2-dab1d03d81c538966d03fb9318a4588a9e803b44.tar.gz
bcfg2-dab1d03d81c538966d03fb9318a4588a9e803b44.tar.bz2
bcfg2-dab1d03d81c538966d03fb9318a4588a9e803b44.zip
Allow to run directly from a git checkout (#1037)
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib/Client/Tools/IPS.py')
-rw-r--r--src/lib/Client/Tools/IPS.py60
1 files changed, 0 insertions, 60 deletions
diff --git a/src/lib/Client/Tools/IPS.py b/src/lib/Client/Tools/IPS.py
deleted file mode 100644
index e30bbd2a4..000000000
--- a/src/lib/Client/Tools/IPS.py
+++ /dev/null
@@ -1,60 +0,0 @@
-"""This is the Bcfg2 support for OpenSolaris packages."""
-
-import pkg.client.image as image
-import pkg.client.progress as progress
-
-import Bcfg2.Client.Tools
-
-
-class IPS(Bcfg2.Client.Tools.PkgTool):
- """The IPS driver implements OpenSolaris package operations."""
- name = 'IPS'
- pkgtype = 'ips'
- conflicts = ['SYSV']
- __handles__ = [('Package', 'ips')]
- __req__ = {'Package': ['name', 'version']}
- pkgtool = ('pkg install --no-refresh %s', ('%s', ['name']))
-
- def __init__(self, logger, setup, cfg):
- self.installed = {}
- self.pending_upgrades = set()
- self.image = image.Image()
- self.image.find_root('/', False)
- self.image.load_config()
- Bcfg2.Client.Tools.PkgTool.__init__(self, logger, setup, cfg)
- self.cfg = cfg
-
- def RefreshPackages(self):
- self.installed = dict()
- self.image.history.operation_name = "list"
- self.image.load_catalogs(progress.NullProgressTracker())
- for (pfmri, pinfo) in self.image.inventory([], False):
- pname = pfmri.pkg_name
- pversion = pfmri.version.get_short_version()
- self.installed[pname] = pversion
- if pinfo['upgradable']:
- self.pending_upgrades.add(pname)
-
- def VerifyPackage(self, entry, modlist):
- """Verify package for entry."""
- pname = entry.get('name')
- if not 'version' in entry.attrib:
- self.logger.info("Cannot verify unversioned package %s" % (pname))
- return False
- if pname not in self.installed:
- self.logger.debug("IPS: Package %s not installed" % pname)
- return False
- if entry.get('version') == 'auto':
- if pname in self.pending_upgrades:
- return False
- elif entry.get('version') == 'any':
- pass
- else:
- if entry.get('version') != self.installed[pname]:
- self.logger.debug("IPS: Package %s: have %s want %s" \
- % (pname, self.installed[pname],
- entry.get('version')))
- return False
-
- # need to implement pkg chksum validation
- return True