diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2012-06-05 17:01:08 -0500 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2012-06-05 17:01:08 -0500 |
commit | f46d4216cd4d6a4b272bfff1465a19a5649a93e7 (patch) | |
tree | fba2f131e6b8c70a9bbb7ab463dfeaa0e4d3aed3 /src/lib | |
parent | 200f79387247eefa01d60e4f6e573ba5162054bc (diff) | |
download | bcfg2-f46d4216cd4d6a4b272bfff1465a19a5649a93e7.tar.gz bcfg2-f46d4216cd4d6a4b272bfff1465a19a5649a93e7.tar.bz2 bcfg2-f46d4216cd4d6a4b272bfff1465a19a5649a93e7.zip |
OpenCSW: Add client tool
It seems like Blastwave is (mostly) dead. The opencsw fork appears to be
alive and kicking. This is preliminary support based on the Blast client
driver.
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/OpenCSW.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/OpenCSW.py b/src/lib/Bcfg2/Client/Tools/OpenCSW.py new file mode 100644 index 000000000..6aafe316f --- /dev/null +++ b/src/lib/Bcfg2/Client/Tools/OpenCSW.py @@ -0,0 +1,33 @@ +# This is the bcfg2 support for opencsw packages (pkgutil) +"""This provides Bcfg2 support for OpenCSW packages.""" + +import tempfile +import Bcfg2.Client.Tools.SYSV + + +class OpenCSW(Bcfg2.Client.Tools.SYSV.SYSV): + """Support for OpenCSW packages.""" + pkgtype = 'opencsw' + pkgtool = ("/opt/csw/bin/pkgutil -y -i %s", ("%s", ["bname"])) + name = 'OpenCSW' + __execs__ = ['/opt/csw/bin/pkgutil', "/usr/bin/pkginfo"] + __handles__ = [('Package', 'opencsw')] + __ireq__ = {'Package': ['name', 'version', 'bname']} + + def __init__(self, logger, setup, config): + # dont use the sysv constructor + Bcfg2.Client.Tools.PkgTool.__init__(self, logger, setup, config) + noaskfile = tempfile.NamedTemporaryFile() + self.noaskname = noaskfile.name + try: + noaskfile.write(Bcfg2.Client.Tools.SYSV.noask) + except: + pass + + # VerifyPackage comes from Bcfg2.Client.Tools.SYSV + # Install comes from Bcfg2.Client.Tools.PkgTool + # Extra comes from Bcfg2.Client.Tools.Tool + # Remove comes from Bcfg2.Client.Tools.SYSV + def FindExtraPackages(self): + """Pass through to null FindExtra call.""" + return [] |