summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Minar <miminar@redhat.com>2012-10-10 17:55:12 +0200
committerMichal Minar <miminar@redhat.com>2012-10-10 17:55:12 +0200
commit2aa4f8635b13e1849763a1964eb45032ee30948c (patch)
tree3563082116a1a3464a365668505a4db68d55a20a /src
parent167c13bdf07c2a86ff7043b4b874073556858e69 (diff)
downloadopenlmi-providers-2aa4f8635b13e1849763a1964eb45032ee30948c.tar.gz
openlmi-providers-2aa4f8635b13e1849763a1964eb45032ee30948c.tar.xz
openlmi-providers-2aa4f8635b13e1849763a1964eb45032ee30948c.zip
renamed yum package providers to software
renamed LMI_Yum* to LMI_Software* removed attributes GroupString and LicenseString from LMI_SoftwarePackage modified attributes Group, Architecture and License of LMI_SoftwarePackage to return string instead of Uints - because values and valuemaps would need frequent updates
Diffstat (limited to 'src')
-rw-r--r--src/software/TODO (renamed from src/yum/TODO)0
-rw-r--r--src/software/providers/LMI_SoftwareFileCheck.py (renamed from src/yum/providers/LMI_YumFileCheck.py)32
-rw-r--r--src/software/providers/LMI_SoftwareInstalledPackage.py (renamed from src/yum/providers/LMI_YumInstalledPackage.py)54
-rw-r--r--src/software/providers/LMI_SoftwarePackage.py (renamed from src/yum/providers/LMI_YumPackage.py)32
-rw-r--r--src/software/providers/LMI_SoftwarePackageFile.py (renamed from src/yum/providers/LMI_YumPackageFile.py)36
-rw-r--r--src/software/providers/__init__.py (renamed from src/yum/providers/__init__.py)0
-rw-r--r--src/software/providers/util/__init__.py (renamed from src/yum/providers/util/__init__.py)0
-rw-r--r--src/software/providers/util/common.py (renamed from src/yum/providers/util/common.py)367
-rw-r--r--src/software/providers/util/singletonmixin.py (renamed from src/yum/providers/util/singletonmixin.py)0
-rw-r--r--src/software/setup.py (renamed from src/yum/setup.py)0
-rw-r--r--src/software/test/README (renamed from src/yum/test/README)0
-rw-r--r--src/software/test/common.py (renamed from src/yum/test/common.py)2
-rwxr-xr-xsrc/software/test/test_software_file_check.py (renamed from src/yum/test/test_yum_file_check.py)4
-rwxr-xr-xsrc/software/test/test_software_installed_package.py (renamed from src/yum/test/test_yum_installed_package.py)6
-rwxr-xr-xsrc/software/test/test_software_package.py (renamed from src/yum/test/test_yum_package.py)4
15 files changed, 112 insertions, 425 deletions
diff --git a/src/yum/TODO b/src/software/TODO
index 18c155b..18c155b 100644
--- a/src/yum/TODO
+++ b/src/software/TODO
diff --git a/src/yum/providers/LMI_YumFileCheck.py b/src/software/providers/LMI_SoftwareFileCheck.py
index 9e6e8d1..0058f78 100644
--- a/src/yum/providers/LMI_YumFileCheck.py
+++ b/src/software/providers/LMI_SoftwareFileCheck.py
@@ -15,9 +15,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-"""Python Provider for LMI_YumFileCheck
+"""Python Provider for LMI_SoftwareFileCheck
-Instruments the CIM class LMI_YumFileCheck
+Instruments the CIM class LMI_SoftwareFileCheck
"""
@@ -25,11 +25,11 @@ import pywbem
from pywbem.cim_provider2 import CIMProvider2
from util.common import *
-filecheck2model = YumFileCheck.filecheck_wrapper(
- 'root/cimv2', 'LMI_YumFileCheck')
+filecheck2model = SoftwareFileCheck.filecheck_wrapper(
+ 'root/cimv2', 'LMI_SoftwareFileCheck')
-class LMI_YumFileCheck(CIMProvider2):
- """Instrument the CIM class LMI_YumFileCheck
+class LMI_SoftwareFileCheck(CIMProvider2):
+ """Instrument the CIM class LMI_SoftwareFileCheck
Identifies a file contained by RPM package. It's located in directory
identified in FileName. The Invoke methods check for file existence
@@ -70,7 +70,7 @@ class LMI_YumFileCheck(CIMProvider2):
logger.log_debug('Entering %s.get_instance()' \
% self.__class__.__name__)
- vpkg = YumFileCheck.object_path2yumcheck(env, model.path)
+ vpkg = SoftwareFileCheck.object_path2yumcheck(env, model.path)
pkg = vpkg.po
fi = pkg.hdr.fiFromHeader()
return filecheck2model(vpkg, model['Name'], env, False)
@@ -168,7 +168,7 @@ class LMI_YumFileCheck(CIMProvider2):
raise pywbem.CIMError(pywbem.CIM_ERR_NOT_SUPPORTED) # Remove to implement
def cim_method_invoke(self, env, object_name):
- """Implements LMI_YumFileCheck.Invoke()
+ """Implements LMI_SoftwareFileCheck.Invoke()
The Invoke method evaluates this Check. The details of the
evaluation are described by the specific subclasses of CIM_Check.
@@ -210,17 +210,17 @@ class LMI_YumFileCheck(CIMProvider2):
% self.__class__.__name__)
with YumDB.getInstance(env) as yb:
- vpkg = YumFileCheck.object_path2yumcheck(env, object_name)
- fc = YumFileCheck.test_file(env,
- YumFileCheck.pkg_checksum_type(vpkg.po),
+ vpkg = SoftwareFileCheck.object_path2yumcheck(env, object_name)
+ fc = SoftwareFileCheck.test_file(env,
+ SoftwareFileCheck.pkg_checksum_type(vpkg.po),
vpkg._files[object_name["Name"]])
out_params = []
- ret = 0 if YumFileCheck.filecheck_passed(fc) else 2
+ ret = 0 if SoftwareFileCheck.filecheck_passed(fc) else 2
return (pywbem.Uint32(ret), out_params)
def cim_method_invokeonsystem(self, env, object_name,
param_targetsystem=None):
- """Implements LMI_YumFileCheck.InvokeOnSystem()
+ """Implements LMI_SoftwareFileCheck.InvokeOnSystem()
The InvokeOnSystem method evaluates this Check. The details of the
evaluation are described by the specific subclasses of CIM_Check.
@@ -399,10 +399,10 @@ class LMI_YumFileCheck(CIMProvider2):
Character_Device = pywbem.Uint16(5)
Block_Device = pywbem.Uint16(6)
-## end of class LMI_YumFileCheckProvider
+## end of class LMI_SoftwareFileCheckProvider
## get_providers() for associating CIM Class Name to python provider class name
def get_providers(env):
- lmi_yumfilecheck_prov = LMI_YumFileCheck(env)
- return {'LMI_YumFileCheck': lmi_yumfilecheck_prov}
+ lmi_softwarefilecheck_prov = LMI_SoftwareFileCheck(env)
+ return {'LMI_SoftwareFileCheck': lmi_softwarefilecheck_prov}
diff --git a/src/yum/providers/LMI_YumInstalledPackage.py b/src/software/providers/LMI_SoftwareInstalledPackage.py
index 915ff2b..008a47b 100644
--- a/src/yum/providers/LMI_YumInstalledPackage.py
+++ b/src/software/providers/LMI_SoftwareInstalledPackage.py
@@ -16,21 +16,21 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-"""Python Provider for LMI_YumInstalledPackage
+"""Python Provider for LMI_SoftwareInstalledPackage
-Instruments the CIM class LMI_YumInstalledPackage
+Instruments the CIM class LMI_SoftwareInstalledPackage
"""
import itertools
import pywbem
from pywbem.cim_provider2 import CIMProvider2
-from LMI_YumPackage import pkg2model, LMI_YumPackage
-from LMI_YumFileCheck import filecheck2model
+from LMI_SoftwarePackage import pkg2model, LMI_SoftwarePackage
+from LMI_SoftwareFileCheck import filecheck2model
from util.common import *
-class LMI_YumInstalledPackage(CIMProvider2):
- """Instrument the CIM class LMI_YumInstalledPackage
+class LMI_SoftwareInstalledPackage(CIMProvider2):
+ """Instrument the CIM class LMI_SoftwareInstalledPackage
The InstalledSoftwareElement association allows the identification of
the ComputerSystem on which a particular SoftwareElement is installed.
@@ -71,7 +71,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
check_computer_system_op(env, model['System'])
with YumDB.getInstance(env):
- pkg = YumPackage.object_path2pkg(env, model['Software'])
+ pkg = SoftwarePackage.object_path2pkg(env, model['Software'])
model['Software'] = pkg2model(env, pkg, True)
return model
@@ -107,7 +107,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
# we set property values on the model.
model.path.update({'System': None, 'Software': None})
- yum_package_path = pywbem.CIMInstanceName("LMI_YumPackage",
+ yum_package_path = pywbem.CIMInstanceName("LMI_SoftwarePackage",
namespace=model.path.namespace,
host=model.path.host)
model['System'] = get_computer_system_op()
@@ -164,7 +164,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
check_computer_system_op(env, instance['System'])
with YumDB.getInstance(env) as yb:
- pkg = YumPackage.object_path2pkg_search(env, instance['Software'])
+ pkg = SoftwarePackage.object_path2pkg_search(env, instance['Software'])
if isinstance(pkg, yum.rpmsack.RPMInstalledPackage):
raise pywbem.CIMError(pywbem.CIM_ERR_ALREADY_EXISTS,
"Package is already installed.")
@@ -179,9 +179,9 @@ class LMI_YumInstalledPackage(CIMProvider2):
# return instance
pkg_iname = pkg2model(env, pkg, True)
pkg_iname["SoftwareElementState"] = \
- LMI_YumPackage.Values.SoftwareElementState.Executable
+ LMI_SoftwarePackage.Values.SoftwareElementState.Executable
instance["Software"] = pkg_iname
- return LMI_YumInstalledPackage(env).get_instance(env, instance)
+ return LMI_SoftwareInstalledPackage(env).get_instance(env, instance)
def delete_instance(self, env, instance_name):
"""Delete an instance.
@@ -211,7 +211,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
check_computer_system_op(env, instance_name['System'])
with YumDB.getInstance(env) as yb:
- pkg = YumPackage.object_path2pkg(env, instance_name["Software"])
+ pkg = SoftwarePackage.object_path2pkg(env, instance_name["Software"])
logger.log_info('removing package "%s"' % pkg.nevra)
yb.remove(pkg)
yb.buildTransaction()
@@ -289,12 +289,12 @@ class LMI_YumInstalledPackage(CIMProvider2):
super='CIM_ComputerSystem') or \
ch.is_subclass(object_name.namespace,
sub=object_name.classname,
- super='LMI_YumPackage'):
+ super='LMI_SoftwarePackage'):
return self.simple_refs(env, object_name, model,
result_class_name, role, result_role, keys_only)
def cim_method_checkintegrity(self, env, object_name):
- """Implements LMI_YumPackage.CheckIntegrity()
+ """Implements LMI_SoftwarePackage.CheckIntegrity()
Verify existence and attributes of files installed from RPM
package. If all files installed exist and their attributes
@@ -314,8 +314,8 @@ class LMI_YumInstalledPackage(CIMProvider2):
Output parameters:
Failed -- (type REF (pywbem.CIMInstanceName(
- classname='LMI_YumFileCheck', ...))
- Array of references to LMI_YumFileCheck, that did not pass
+ classname='LMI_SoftwareFileCheck', ...))
+ Array of references to LMI_SoftwareFileCheck, that did not pass
verification.
Possible Errors:
@@ -336,13 +336,13 @@ class LMI_YumInstalledPackage(CIMProvider2):
failed = []
with YumDB.getInstance(env) as yb:
- pkg = YumPackage.object_path2pkg(env, object_name['Software'])
- csum = YumFileCheck.pkg_checksum_type(pkg)
+ pkg = SoftwarePackage.object_path2pkg(env, object_name['Software'])
+ csum = SoftwareFileCheck.pkg_checksum_type(pkg)
vpkg = yum.packages._RPMVerifyPackage(
pkg, pkg.hdr.fiFromHeader(), csum, [], True)
for vpf in vpkg:
- fc = YumFileCheck.test_file(env, csum, vpf)
- if YumFileCheck.filecheck_passed(fc): continue
+ fc = SoftwareFileCheck.test_file(env, csum, vpf)
+ if SoftwareFileCheck.filecheck_passed(fc): continue
failed.append(filecheck2model(
vpkg, vpf.filename, env, keys_only=True, fc=fc))
out_params = [ pywbem.CIMParameter('Failed', type='reference',
@@ -355,7 +355,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
param_epoch=None,
param_release=None,
param_version=None):
- """Implements LMI_YumInstalledPackage.Update()
+ """Implements LMI_SoftwareInstalledPackage.Update()
Updates the package to latest version. When any of "version" or
"release" argument is given, install only matching available
@@ -379,7 +379,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
Output parameters:
Installed -- (type REF (pywbem.CIMInstanceName(
- classname='LMI_YumInstalledPackage', ...))
+ classname='LMI_SoftwareInstalledPackage', ...))
The reference to newly installed package, if installation was
successful. Otherwise reference to current package.
@@ -402,7 +402,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
check_computer_system_op(env, object_name['System'])
with YumDB.getInstance(env) as yb:
- orig = YumPackage.object_path2pkg(env, object_name['Software'])
+ orig = SoftwarePackage.object_path2pkg(env, object_name['Software'])
evr_str = []
for name, param in (
@@ -451,7 +451,7 @@ class LMI_YumInstalledPackage(CIMProvider2):
orig.name, pkg.evra))
out_params[0].value["SoftwareElementState"] = \
- LMI_YumPackage.Values.SoftwareElementState.Executable
+ LMI_SoftwarePackage.Values.SoftwareElementState.Executable
return (self.Values.Update.Successful_installation, out_params)
@@ -466,10 +466,10 @@ class LMI_YumInstalledPackage(CIMProvider2):
Not_passed = pywbem.Uint32(1)
Error = pywbem.Uint32(2)
-## end of class LMI_YumInstalledPackage
+## end of class LMI_SoftwareInstalledPackage
## get_providers() for associating CIM Class Name to python provider class name
def get_providers(env):
- lmi_yuminstalledpackage_prov = LMI_YumInstalledPackage(env)
- return {'LMI_YumInstalledPackage': lmi_yuminstalledpackage_prov}
+ lmi_softwareinstalledpackage_prov = LMI_SoftwareInstalledPackage(env)
+ return {'LMI_SoftwareInstalledPackage': lmi_softwareinstalledpackage_prov}
diff --git a/src/yum/providers/LMI_YumPackage.py b/src/software/providers/LMI_SoftwarePackage.py
index 3b93c86..9ef3266 100644
--- a/src/yum/providers/LMI_YumPackage.py
+++ b/src/software/providers/LMI_SoftwarePackage.py
@@ -16,23 +16,22 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-"""Python Provider for LMI_YumPackage
+"""Python Provider for LMI_SoftwarePackage
-Instruments the CIM class LMI_YumPackage
+Instruments the CIM class LMI_SoftwarePackage
"""
import itertools
import datetime
-#import yum
import pywbem
from pywbem.cim_provider2 import CIMProvider2
from util.common import *
-pkg2model = YumPackage.pkg2model_wrapper('root/cimv2', "LMI_YumPackage")
+pkg2model = SoftwarePackage.pkg2model_wrapper('root/cimv2', "LMI_SoftwarePackage")
-class LMI_YumPackage(CIMProvider2):
- """Instrument the CIM class LMI_YumPackage
+class LMI_SoftwarePackage(CIMProvider2):
+ """Instrument the CIM class LMI_SoftwarePackage
RPM package installed on particular computer system with YUM (The
Yellowdog Updated, Modified) package manager.
@@ -72,7 +71,7 @@ class LMI_YumPackage(CIMProvider2):
% self.__class__.__name__)
with YumDB.getInstance(env):
- pkg = YumPackage.object_path2pkg(env, model.path, 'all')
+ pkg = SoftwarePackage.object_path2pkg(env, model.path, 'all')
return pkg2model(env, pkg, keys_only=False, model=model)
def enum_instances(self, env, model, keys_only):
@@ -182,7 +181,7 @@ class LMI_YumPackage(CIMProvider2):
raise pywbem.CIMError(pywbem.CIM_ERR_NOT_SUPPORTED)
def cim_method_install(self, env, object_name):
- """Implements LMI_YumPackage.Install()
+ """Implements LMI_SoftwarePackage.Install()
Will install available package.
@@ -197,7 +196,7 @@ class LMI_YumPackage(CIMProvider2):
Output parameters:
Installed -- (type REF (pywbem.CIMInstanceName(
- classname='LMI_YumInstalledPackage', ...))
+ classname='LMI_SoftwareInstalledPackage', ...))
The reference to newly installed package, if installation was
successful. Null otherwise.
@@ -218,7 +217,7 @@ class LMI_YumPackage(CIMProvider2):
with YumDB.getInstance(env) as yb:
# get available packages
- pkg = YumPackage.object_path2pkg_search(env, object_name)
+ pkg = SoftwarePackage.object_path2pkg_search(env, object_name)
out_params = [ pywbem.CIMParameter('Installed', type='reference') ]
if isinstance(pkg, yum.rpmsack.RPMInstalledPackage):
out_params[0].value = pkg2model(env, pkg, True)
@@ -231,16 +230,13 @@ class LMI_YumPackage(CIMProvider2):
yb.processTransaction()
logger.log_info('package installed'.format(pkg.nevra))
- # return object_name
out_params[0].value = pkg2model(env, pkg, True, object_name)
- # pkg's class is YumAvailablePackage and pkg2model thinks it's
- # not installed
out_params[0].value['SoftwareElementState'] = \
self.Values.SoftwareElementState.Executable
return (self.Values.Install.Successful_installation, out_params)
def cim_method_remove(self, env, object_name):
- """Implements LMI_YumPackage.Remove()
+ """Implements LMI_SoftwarePackage.Remove()
Will uninstall installed package.
@@ -272,7 +268,7 @@ class LMI_YumPackage(CIMProvider2):
% self.__class__.__name__)
with YumDB.getInstance(env) as yb:
- pkg = YumPackage.object_path2pkg(env, object_name, 'all')
+ pkg = SoftwarePackage.object_path2pkg(env, object_name, 'all')
if isinstance(pkg, yum.rpmsack.RPMInstalledPackage):
logger.log_info('removing package "%s"' % pkg.nevra)
yb.remove(pkg)
@@ -513,10 +509,10 @@ class LMI_YumPackage(CIMProvider2):
Successful_installation = pywbem.Uint32(1)
Failed = pywbem.Uint32(2)
-## end of class LMI_YumPackage
+## end of class LMI_SoftwarePackage
## get_providers() for associating CIM Class Name to python provider class name
def get_providers(env):
- lmi_yumpackage_prov = LMI_YumPackage(env)
- return {'LMI_YumPackage': lmi_yumpackage_prov}
+ lmi_softwarepackage_prov = LMI_SoftwarePackage(env)
+ return {'LMI_SoftwarePackage': lmi_softwarepackage_prov}
diff --git a/src/yum/providers/LMI_YumPackageFile.py b/src/software/providers/LMI_SoftwarePackageFile.py
index 45df4c3..389dbbf 100644
--- a/src/yum/providers/LMI_YumPackageFile.py
+++ b/src/software/providers/LMI_SoftwarePackageFile.py
@@ -15,20 +15,20 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-"""Python Provider for LMI_YumPackageFile
+"""Python Provider for LMI_SoftwarePackageFile
-Instruments the CIM class LMI_YumPackageFile
+Instruments the CIM class LMI_SoftwarePackageFile
"""
import pywbem
from pywbem.cim_provider2 import CIMProvider2
-from LMI_YumFileCheck import filecheck2model
-from LMI_YumPackage import pkg2model
+from LMI_SoftwareFileCheck import filecheck2model
+from LMI_SoftwarePackage import pkg2model
from util.common import *
-class LMI_YumPackageFile(CIMProvider2):
- """Instrument the CIM class LMI_YumPackageFile
+class LMI_SoftwarePackageFile(CIMProvider2):
+ """Instrument the CIM class LMI_SoftwarePackageFile
This association ties a SoftwareElement to a specific Check to validate
its state or its movement to the next state. Note that
@@ -70,7 +70,7 @@ class LMI_YumPackageFile(CIMProvider2):
logger.log_debug('Entering %s.get_instance()' \
% self.__class__.__name__)
- vpkg = YumCheckFile.object_path2yumcheck(env, model['Check'])
+ vpkg = SoftwareFileCheck.object_path2yumcheck(env, model['Check'])
model['Check'] = filecheck2model(vpkg, model['Check']['Name'],
env, keys_only=True)
model['Element'] = pkg2model(env, vpkg.po, keys_only=True)
@@ -111,8 +111,8 @@ class LMI_YumPackageFile(CIMProvider2):
while False: # TODO more instances?
# TODO fetch system resource
# Key properties
- #model['Check'] = pywbem.CIMInstanceName(classname='LMI_YumFileCheck', ...) # TODO (type = REF (pywbem.CIMInstanceName(classname='LMI_YumFileCheck', ...))
- #model['Element'] = pywbem.CIMInstanceName(classname='LMI_YumPackage', ...) # TODO (type = REF (pywbem.CIMInstanceName(classname='LMI_YumPackage', ...))
+ #model['Check'] = pywbem.CIMInstanceName(classname='LMI_SoftwareFileCheck', ...) # TODO (type = REF (pywbem.CIMInstanceName(classname='LMI_SoftwareFileCheck', ...))
+ #model['Element'] = pywbem.CIMInstanceName(classname='LMI_SoftwarePackage', ...) # TODO (type = REF (pywbem.CIMInstanceName(classname='LMI_SoftwarePackage', ...))
if keys_only:
yield model
else:
@@ -259,17 +259,17 @@ class LMI_YumPackageFile(CIMProvider2):
if ( (not role or role.lower() == 'element')
and ch.is_subclass(object_name.namespace,
sub=object_name.classname,
- super='LMI_YumPackage')):
+ super='LMI_SoftwarePackage')):
filecheck_model = pywbem.CIMInstanceName(
- classname='LMI_YumFileCheck',
+ classname='LMI_SoftwareFileCheck',
namespace="root/cimv2",
host=model.path.host)
model['Element'] = object_name
- pkg = YumPackage.object_path2pkg(env, object_name)
+ pkg = SoftwarePackage.object_path2pkg(env, object_name)
vpkg = yum.packages._RPMVerifyPackage(
pkg, pkg.hdr.fiFromHeader(),
- YumFileCheck.pkg_checksum_type(pkg), [], True)
+ SoftwareFileCheck.pkg_checksum_type(pkg), [], True)
for fc in vpkg:
model['Check'] = filecheck2model(
vpkg, fc.filename, env, keys_only=True,
@@ -279,10 +279,10 @@ class LMI_YumPackageFile(CIMProvider2):
if ( (not role or role.lower() == 'check')
and ch.is_subclass(object_name.namespace,
sub=object_name.classname,
- super='LMI_YumFileCheck')):
+ super='LMI_SoftwareFileCheck')):
model['Check'] = object_name
- vpkg = YumFileCheck.object_path2yumcheck(env, object_name)
+ vpkg = SoftwareFileCheck.object_path2yumcheck(env, object_name)
model['Element'] = pkg2model(
env, vpkg.po, keys_only=True)
yield model
@@ -292,10 +292,10 @@ class LMI_YumPackageFile(CIMProvider2):
In_State = pywbem.Uint16(0)
Next_State = pywbem.Uint16(1)
-## end of class LMI_YumPackageFileProvider
+## end of class LMI_SoftwarePackageFileProvider
## get_providers() for associating CIM Class Name to python provider class name
def get_providers(env):
- lmi_yumpackagefile_prov = LMI_YumPackageFile(env)
- return {'LMI_YumPackageFile': lmi_yumpackagefile_prov}
+ lmi_softwarepackagefile_prov = LMI_SoftwarePackageFile(env)
+ return {'LMI_SoftwarePackageFile': lmi_softwarepackagefile_prov}
diff --git a/src/yum/providers/__init__.py b/src/software/providers/__init__.py
index 452bf25..452bf25 100644
--- a/src/yum/providers/__init__.py
+++ b/src/software/providers/__init__.py
diff --git a/src/yum/providers/util/__init__.py b/src/software/providers/util/__init__.py
index fddeea6..fddeea6 100644
--- a/src/yum/providers/util/__init__.py
+++ b/src/software/providers/util/__init__.py
diff --git a/src/yum/providers/util/common.py b/src/software/providers/util/common.py
index ba0d16d..4190d41 100644
--- a/src/yum/providers/util/common.py
+++ b/src/software/providers/util/common.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-"""Common utilities for LMI_Yum* providers
+"""Common utilities for LMI_Software* providers
"""
import collections
@@ -206,316 +206,12 @@ def match_pkg(pkg, **kwargs):
return False
return True
-class YumPackage:
+class SoftwarePackage:
"""
- Just a namespace for common function related to YumPackage provider.
+ Just a namespace for common function related to SoftwarePackage provider.
"""
@staticmethod
- def parse_arch(arch, env):
- try:
- res = \
- { "noarch" : 0
- , "i386" : 4
- , "i586" : 5
- , "i686" : 6
- , "x86_64" : 7
- , "athlon" : 8
- , "ia32e" : 10
- , "ia64" : 11
- , "powerpc" : 12
- , "ppc" : 12
- , "ppc64" : 13
- , "sparc" : 15
- , "sparcv9" : 16
- , "sparc64" : 17
- , "arm" : 20
- , "arm6" : 21
- , "arm7" : 22
- , "arm8" : 23
- , "arm9" : 24
- , "strongarm" : 30
- , "xscale" : 31
- , "parisc" : 35
- , "parisc11" : 36
- , "mips" : 40
- , "mips32" : 41
- , "mips64" : 42
- , "mipsnecvr4xxx" : 45
- , "mipsrm7000" : 46
- , "mipstx39" : 50
- , "mipstx49" : 51
- , "v850" : 55
- , "alpha" : 60
- , "alphaev6" : 61
- , "alphaev7" : 62
- , "alphaev8" : 63
- , "alphaev9" : 64
- , "sh" : 70
- , "sh2" : 71
- , "sh3" : 72
- , "sh4" : 73
- , "sh5" : 74
- }[arch.lower()]
- except KeyError:
- logger = env.get_logger()
- logger.log_error("failed to parse architecture '{}'".format(arch))
- res = 2
- return pywbem.Uint16(res)
-
- @staticmethod
- def parse_license(lic, env):
- try:
- res = \
- { "freely redistributable without restriction" : 2
- , "glide" : 5
- , "afl" : 6
- , "adobe" : 7
- , "mit" : 10
- , "mit with advertising" : 11
- , "agpl" : 15
- , "agplv1" : 16
- , "agplv3" : 17
- , "agplv3+" : 18
- , "agplv3 with exceptions" : 19
- , "adsl" : 25
- , "amdplpa" : 26
- , "asl" : 30
- , "asl 1.0" : 31
- , "asl 1.1" : 32
- , "asl 2.0" : 33
- , "artistic clarified" : 35
- , "artistic 2.0" : 36
- , "arl" : 40
- , "aal" : 41
- , "bahyph" : 42
- , "barr" : 43
- , "beerware" : 44
- , "beopen" : 45
- , "bibtex" : 46
- , "boost" : 47
- , "borceux" : 48
- , "bsd" : 50
- , "bsd with advertising" : 51
- , "bsd with attribution" : 52
- , "bsd protection" : 53
- , "ampas bsd" : 55
- , "lbnl bsd" : 56
- , "ricebsd" : 57
- , "catosl" : 65
- , "cecill" : 66
- , "cecill-b" : 67
- , "cecill-c" : 68
- , "netscape" : 70
- , "cnri" : 71
- , "cddl" : 72
- , "cpl" : 73
- , "condor" : 75
- , "copyright only" : 76
- , "cpal" : 77
- , "gpl" : 80
- , "gpl+" : 81
- , "gpl+ with exceptions" : 82
- , "gplv1" : 83
- , "gplv2" : 84
- , "gplv2 with exceptions" : 85
- , "gplv2+" : 86
- , "gplv2+ with exceptions" : 87
- , "gplv3" : 88
- , "gplv3 with exceptions" : 89
- , "gplv3+" : 90
- , "gplv3+ with exceptions" : 91
- , "gpl+ or artistic" : 100
- , "gplv2 or artistic" : 101
- , "gplv2+ or artistic" : 102
- , "lgpl" : 110
- , "lgplv2" : 111
- , "lgplv2 with exceptions" : 112
- , "lgplv2+" : 113
- , "lgplv3" : 115
- , "lgplv3 with exceptions" : 116
- , "lgplv3+" : 117
- , "cc0" : 125
- , "crossword" : 126
- , "crystal stacker" : 127
- , "mpl" : 130
- , "mplv1.0" : 131
- , "mplv1.1" : 132
- , "mplv2.0" : 133
- , "diffmark" : 135
- , "wtfpl" : 136
- , "doc" : 137
- , "dotseqn" : 138
- , "dsdp" : 139
- , "dvipdfm" : 140
- , "epl" : 141
- , "ecos" : 142
- , "ecl 1.0" : 145
- , "ecl 2.0" : 146
- , "egenix" : 150
- , "efl 2.0" : 151
- , "entessa" : 152
- , "erpl" : 153
- , "eu datagrid" : 154
- , "eupl 1.1" : 155
- , "eurosym" : 156
- , "fair" : 157
- , "ftl" : 158
- , "gitware" : 159
- , "gl2ps" : 160
- , "glulxe" : 161
- , "gnuplot" : 162
- , "haskellreport" : 163
- , "ibm" : 164
- , "imatrix" : 165
- , "imagemagick" : 166
- , "imlib2" : 167
- , "ijg" : 168
- , "intel acpi" : 169
- , "interbase" : 170
- , "isc" : 171
- , "jabber" : 172
- , "jasper" : 173
- , "jpython" : 174
- , "julius" : 175
- , "knuth" : 176
- , "lppl" : 177
- , "latex2e" : 178
- , "leptonica" : 179
- , "lhcyr" : 180
- , "libtiff" : 181
- , "logica" : 182
- , "makeindex" : 183
- , "mecab-ipadic" : 184
- , "ms-pl" : 185
- , "ms-rl" : 186
- , "midnight" : 187
- , "miros" : 188
- , "mod_macro" : 189
- , "motosoto" : 190
- , "naumen" : 191
- , "ncsa" : 192
- , "netcdf" : 193
- , "ngpl" : 194
- , "nosl" : 195
- , "newmat" : 196
- , "newsletr" : 197
- , "nokia" : 198
- , "nlpl" : 200
- , "noweb" : 201
- , "openldap" : 202
- , "oml" : 203
- , "openpbs" : 204
- , "osl 1.0" : 205
- , "osl 1.1" : 206
- , "osl 2.0" : 207
- , "osl 2.1" : 208
- , "osl 3.0" : 209
- , "openssl" : 215
- , "oreilly" : 216
- , "par" : 217
- , "phorum" : 220
- , "php" : 221
- , "plaintex" : 222
- , "plexus" : 223
- , "postgresql" : 224
- , "psfrag" : 225
- , "psutils" : 226
- , "public domain" : 227
- , "python" : 228
- , "qhull" : 229
- , "qpl" : 230
- , "rdisc" : 231
- , "rpsl" : 232
- , "romio" : 233
- , "rsfs" : 235
- , "ruby" : 236
- , "saxpath" : 237
- , "scea" : 238
- , "scrip" : 239
- , "sendmail" : 240
- , "sleepycat" : 241
- , "slib" : 242
- , "snia" : 243
- , "sissl" : 244
- , "spl" : 245
- , "tcl" : 246
- , "teeworlds" : 247
- , "tpl" : 248
- , "threeparttable" : 249
- , "tmate" : 250
- , "torquev1.1" : 251
- , "tosl" : 252
- , "ucd" : 253
- , "vim" : 254
- , "vnlsl" : 255
- , "vostrom" : 256
- , "vsl" : 257
- , "w3c" : 258
- , "webmin" : 259
- , "wsuipa" : 260
- , "wxwidgets" : 261
- , "xinetd" : 262
- , "xerox" : 263
- , "xpp" : 264
- , "xskat" : 265
- , "yplv1.1" : 266
- , "zed" : 270
- , "zend" : 271
- , "zplv1.0" : 275
- , "zplv2.0" : 276
- , "zplv2.1" : 277
- , "zlib" : 280
- , "zlib with acknowledgement" : 281
-
- , "cdl" : 400
- , "cc-by" : 401
- , "cc-by-sa" : 402
- , "cc-by-nd" : 403
- , "dsl" : 405
- , "dmtf" : 406
- , "oal" : 407
- , "fbsddl" : 408
- , "gfdl" : 409
- , "ieee" : 410
- , "ldpl" : 411
- , "ofsfdl" : 412
- , "open publication" : 413
- , "public use" : 414
- , "efml" : 415
- , "free art" : 416
- , "geotratis" : 417
- , "green openmusic" : 418
- , "ofl" : 419
- , "utopia" : 420
- , "ams" : 421
- , "arphic" : 422
- , "baekmuk" : 423
- , "bitstream vera" : 424
- , "charter" : 425
- , "doublestroke" : 426
- , "ec" : 427
- , "elvish" : 428
- , "lppl" : 429
- , "hershey" : 430
- , "ipa" : 431
- , "liberation" : 432
- , "lucida" : 433
- , "mgopen" : 434
- , "mplus" : 435
- , "ptfl" : 436
- , "punknova" : 437
- , "stix" : 438
- , "wadalab" : 439
- , "xano" : 440
- }[lic.lower()]
- except KeyError:
- logger = env.get_logger()
- logger.log_error("failed to parse license '{}'".format(lic))
- res = 1
- return pywbem.Uint16(res)
-
- @staticmethod
def parse_group(group, env):
try:
res = \
@@ -746,20 +442,15 @@ class YumPackage:
model['Manufacturer'] = pkg.vendor
model['Release'] = pkg.release
model['Epoch'] = pywbem.Uint16(pkg.epoch)
- model["Architecture"] = YumPackage.parse_arch(
- pkg.arch, env)
- model['License'] = YumPackage.parse_license(
- pkg.license, env)
- model['LicenseString']= pkg.license
- model['Group'] = YumPackage.parse_group(
- pkg.group, env)
- model['GroupString'] = pkg.group
+ model["Architecture"] = pkg.arch
+ model['License'] = pkg.license
+ model['Group'] = pkg.group
model['Size'] = pywbem.Uint64(pkg.size)
return model
return pkg2model
-class YumFileCheck:
+class SoftwareFileCheck:
"""
Just a namespace for functions related to FileCheck provider.
"""
@@ -788,7 +479,7 @@ class YumFileCheck:
if isinstance(pkg, yum.rpmsack.RPMInstalledPackage):
return pkg.hdr[rpm.RPMTAG_FILEDIGESTALGO]
with self: # ensure, that _yum is inited
- return YumFileCheck.checksumtype_str2pywbem(
+ return SoftwareFileCheck.checksumtype_str2pywbem(
pkg.yumdb_info.checksum_type)
@staticmethod
@@ -798,7 +489,7 @@ class YumFileCheck:
@staticmethod
def checksumtype_str2pywbem(alg):
try:
- res = YumFileCheck.checksumtype_str2num[alg.lower()]
+ res = SoftwareFileCheck.checksumtype_str2num[alg.lower()]
except KeyError: res = 0
return pywbem.Uint16(res)
@@ -875,14 +566,14 @@ class YumFileCheck:
if file does not exists, (None, None) is returned
"""
hashers = [hashlib.md5()]
- if checksum_type != YumFileCheck.checksumtype_str2num["md5"]:
- hashers.append(YumFileCheck.checksumtype_num2hash(checksum_type)())
- if file_type != YumFileCheck.filetype_str2pywbem('file'):
+ if checksum_type != SoftwareFileCheck.checksumtype_str2num["md5"]:
+ hashers.append(SoftwareFileCheck.checksumtype_num2hash(checksum_type)())
+ if file_type != SoftwareFileCheck.filetype_str2pywbem('file'):
rslts = ['0'*len(h.hexdigest()) for h in hashers]
else:
try:
with open(file_path, 'rb') as f:
- rslts = YumFileCheck.hashfile(f, hashers)
+ rslts = SoftwareFileCheck.hashfile(f, hashers)
except (OSError, IOError) as e:
env.get_logger().log_error("could not open file \"%s\""
" for reading: %s" % (file_path, e))
@@ -893,7 +584,7 @@ class YumFileCheck:
def object_path2yumcheck(env, op):
"""
@return instance of yum.packages._RPMVerifyPackage
- this object holds YumInstalledPackage under its po attribute
+ this object holds RPMInstalledPackage under its po attribute
"""
if not isinstance(op, pywbem.CIMInstanceName):
raise TypeError("op must be instance of CIMInstanceName, "
@@ -940,7 +631,7 @@ class YumFileCheck:
fi = pkg.hdr.fiFromHeader()
vpkg = yum.packages._RPMVerifyPackage(pkg, fi,
- YumFileCheck.pkg_checksum_type(pkg), [], True)
+ SoftwareFileCheck.pkg_checksum_type(pkg), [], True)
if not op['Name'] in vpkg:
raise pywbem.CIMError(pywbem.CIM_ERR_NOT_FOUND,
"File not found in RPM package.")
@@ -976,7 +667,7 @@ class YumFileCheck:
exists = os.path.lexists(vpf.filename)
md5_checksum = None
expected = {
- "file_type" : YumFileCheck.filetype_str2pywbem(vpf.ftype),
+ "file_type" : SoftwareFileCheck.filetype_str2pywbem(vpf.ftype),
"user_id" : pywbem.Uint32(pwd.getpwnam(vpf.user).pw_uid),
"group_id" : pywbem.Uint32(grp.getgrnam(vpf.group).gr_gid),
"file_mode" : pywbem.Uint32(vpf.mode),
@@ -992,7 +683,7 @@ class YumFileCheck:
else:
fstat = os.lstat(vpf.filename)
reality = {
- "file_type" : YumFileCheck.filetype_mode2pywbem(fstat.st_mode),
+ "file_type" : SoftwareFileCheck.filetype_mode2pywbem(fstat.st_mode),
"user_id" : pywbem.Uint32(fstat.st_uid),
"group_id" : pywbem.Uint32(fstat.st_gid),
"file_mode" : pywbem.Uint32(fstat.st_mode),
@@ -1000,20 +691,20 @@ class YumFileCheck:
"last_modification_time" : pywbem.Uint64(fstat.st_mtime)
}
reality["device"] = (pywbem.Uint64(fstat.st_dev)
- if reality['file_type'] == YumFileCheck.filetype_str2pywbem(
+ if reality['file_type'] == SoftwareFileCheck.filetype_str2pywbem(
"device") else None)
reality["link_target"] = (os.readlink(vpf.filename)
if os.path.islink(vpf.filename) else None)
- md5_checksum, checksum = YumFileCheck.compute_checksums(
+ md5_checksum, checksum = SoftwareFileCheck.compute_checksums(
env, checksum_type, reality["file_type"], vpf.filename)
reality["checksum"] = checksum
kwargs = dict(exists=exists, md5_checksum=md5_checksum,
**dict((k, (expected[k], reality[k])) for k in expected))
- return YumFileCheck.FileCheck(**kwargs)
+ return SoftwareFileCheck.FileCheck(**kwargs)
@staticmethod
def filecheck_passed(fc):
- if not isinstance(fc, YumFileCheck.FileCheck):
+ if not isinstance(fc, SoftwareFileCheck.FileCheck):
raise TypeError("fc must be an instance of FileCheck")
return ( fc.exists
and all( v[0] == v[1]
@@ -1021,7 +712,7 @@ class YumFileCheck:
isinstance(v, tuple)
and ( k != "last_modification_time"
or fc.file_type[0] == \
- YumFileCheck.filetype_str2pywbem("file")
+ SoftwareFileCheck.filetype_str2pywbem("file")
))))
@staticmethod
@@ -1032,7 +723,7 @@ class YumFileCheck:
for k, v in fc._asdict().items():
if isinstance(v, tuple):
if ( k != "last_modification_time"
- or fc.file_type[0] == YumFileCheck.filetype_str2pywbem(
+ or fc.file_type[0] == SoftwareFileCheck.filetype_str2pywbem(
'file')):
# last_modification_time check is valid only for
# regular files
@@ -1057,7 +748,7 @@ class YumFileCheck:
if not keys_only:
model = pywbem.CIMInstance(classname, path=model)
if fc is not None:
- if not isinstance(fc, YumFileCheck.FileCheck):
+ if not isinstance(fc, SoftwareFileCheck.FileCheck):
raise TypeError("fc must be an instance of FileCheck")
pkg = vpkg.po
vpf = vpkg._files[fn]
@@ -1079,9 +770,9 @@ class YumFileCheck:
#model['InstanceID'] = '' # TODO
model['FileName'] = os.path.basename(vpf.filename)
model['ChecksumType'] = csumt = \
- pywbem.Uint16(YumFileCheck.pkg_checksum_type(pkg))
+ pywbem.Uint16(SoftwareFileCheck.pkg_checksum_type(pkg))
if fc is None:
- fc = YumFileCheck.test_file(env, csumt, vpf)
+ fc = SoftwareFileCheck.test_file(env, csumt, vpf)
for mattr, fattr in (
('FileType', 'file_type'),
('FileUserID', 'user_id'),
@@ -1097,16 +788,16 @@ class YumFileCheck:
if rea is not None:
model[mattr] = rea
model['ExpectedFileModeFlags'] = \
- YumFileCheck.mode2pywbem_flags(fc.file_mode[0])
+ SoftwareFileCheck.mode2pywbem_flags(fc.file_mode[0])
if fc.exists:
- model['FileModeFlags'] = YumFileCheck.mode2pywbem_flags(
+ model['FileModeFlags'] = SoftwareFileCheck.mode2pywbem_flags(
fc.file_mode[1])
model['FileExists'] = fc.exists
if fc.md5_checksum is not None:
model['MD5Checksum'] = fc.md5_checksum
model['PassedFlags'] = _filecheck2model_flags(fc)
model['PassedFlagsDescriptions'] = list(
- YumFileCheck.passed_flags_descriptions)
+ SoftwareFileCheck.passed_flags_descriptions)
return model
return filecheck2model
diff --git a/src/yum/providers/util/singletonmixin.py b/src/software/providers/util/singletonmixin.py
index 8051695..8051695 100644
--- a/src/yum/providers/util/singletonmixin.py
+++ b/src/software/providers/util/singletonmixin.py
diff --git a/src/yum/setup.py b/src/software/setup.py
index 4823b59..4823b59 100644
--- a/src/yum/setup.py
+++ b/src/software/setup.py
diff --git a/src/yum/test/README b/src/software/test/README
index d60d1e8..d60d1e8 100644
--- a/src/yum/test/README
+++ b/src/software/test/README
diff --git a/src/yum/test/common.py b/src/software/test/common.py
index 0da5695..d88b2bb 100644
--- a/src/yum/test/common.py
+++ b/src/software/test/common.py
@@ -87,7 +87,7 @@ def is_installed(*args, **kwargs):
def verify_pkg(name):
return subprocess.call(["rpm", "--quiet", "-Va", name]) == 0
-class YumBaseTestCase(unittest.TestCase):
+class SoftwareBaseTestCase(unittest.TestCase):
def setUp(self):
unittest.TestCase.setUp(self)
diff --git a/src/yum/test/test_yum_file_check.py b/src/software/test/test_software_file_check.py
index 82c8650..66b2452 100755
--- a/src/yum/test/test_yum_file_check.py
+++ b/src/software/test/test_software_file_check.py
@@ -11,9 +11,9 @@ re_checksum = re.compile(r'^([0-9a-fA-F]+)\s+.*')
PassedFlags = namedtuple("PassedFlags",
"exists, type, size, mode, checksum, dev, ltarget, uid, gid, mtime")
-class TestYumInstalledPackage(YumBaseTestCase):
+class TestSoftwareInstalledPackage(SoftwareBaseTestCase):
- CLASS_NAME = "LMI_YumFileCheck"
+ CLASS_NAME = "LMI_SoftwareFileCheck"
KEYS = ( "CheckID", "Name", "SoftwareElementID", "SoftwareElementState"
, "TargetOperatingSystem", "Version")
diff --git a/src/yum/test/test_yum_installed_package.py b/src/software/test/test_software_installed_package.py
index e78aaaa..5bcb9d2 100755
--- a/src/yum/test/test_yum_installed_package.py
+++ b/src/software/test/test_software_installed_package.py
@@ -5,15 +5,15 @@ import shutil
import socket
import stat
-class TestYumInstalledPackage(YumBaseTestCase):
+class TestSoftwareInstalledPackage(SoftwareBaseTestCase):
- CLASS_NAME = "LMI_YumInstalledPackage"
+ CLASS_NAME = "LMI_SoftwareInstalledPackage"
KEYS = ( "Software", "System")
def make_op(self, name, epoch, ver, rel, arch, ses=2):
op = self.op.copy()
pkg_op = pywbem.CIMInstanceName(
- classname="LMI_YumPackage", namespace="root/cimv2",
+ classname="LMI_SoftwarePackage", namespace="root/cimv2",
keybindings={
"Name" : name,
"SoftwareElementID" : make_nevra(
diff --git a/src/yum/test/test_yum_package.py b/src/software/test/test_software_package.py
index b631e21..cdaf04d 100755
--- a/src/yum/test/test_yum_package.py
+++ b/src/software/test/test_software_package.py
@@ -2,9 +2,9 @@
from common import *
-class TestYumPackage(YumBaseTestCase):
+class TestSoftwarePackage(SoftwareBaseTestCase):
- CLASS_NAME = "LMI_YumPackage"
+ CLASS_NAME = "LMI_SoftwarePackage"
KEYS = ( "Name", "SoftwareElementID", "SoftwareElementState"
, "TargetOperatingSystem", "Version")