summaryrefslogtreecommitdiffstats
path: root/mof
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 /mof
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 'mof')
-rw-r--r--mof/LMI_Software.mof315
-rw-r--r--mof/LMI_Software.reg23
-rw-r--r--mof/LMI_Yum.mof617
-rw-r--r--mof/LMI_Yum.reg23
4 files changed, 338 insertions, 640 deletions
diff --git a/mof/LMI_Software.mof b/mof/LMI_Software.mof
new file mode 100644
index 0000000..90c7974
--- /dev/null
+++ b/mof/LMI_Software.mof
@@ -0,0 +1,315 @@
+/*
+ * Copyright (C) 2012 Michal Minar <miminar@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma locale ("en_US")
+//#pragma namespace ("root/cimv2")
+
+[ Description (
+ "RPM package installed on particular computer system with"
+ " YUM (The Yellowdog Updated, Modified) package manager.")
+]
+class LMI_SoftwarePackage : CIM_SoftwareElement {
+
+ [ Description (
+ "The release number (referred to in some older documentation as a"
+ " \"vepoch\") is how the maintainer marks build revisions, starting"
+ " from 1. When a minor change (spec file changed, patch added/removed)"
+ " occurs, or a package is rebuilt to use newer headers or libraries,"
+ " the release number should be incremented. If a major change"
+ " (new version of the software being packaged) occurs, the version"
+ " number should be changed to reflect the new software version,"
+ " and the release number should be reset to 1.")
+ ]
+ String Release;
+
+ [ Description (
+ "It is important to be careful with the version of post-release"
+ " scheme, to ensure that package ordering is correct. It may be"
+ " necessary to use Epoch to ensure that the current package is"
+ " considered newer than the previous package.")
+ ]
+ uint16 Epoch;
+
+ [ Description (
+ "Architecture name, that package is compiled for. In case of no"
+ "architecture dependency, this will contain \"noarch\".")
+ ]
+ String Architecture;
+
+ [ Description (
+ "A software license is a legal instrument (usually by way of contract"
+ " law) governing the usage or redistribution of software."
+ " All software is copyright protected, except material in the public"
+ " domain. Contractual confidentiality is another way of protecting"
+ " software. A typical software license grants an end-user permission"
+ " to use one or more copies of software in ways where such a use would"
+ " otherwise potentially constitute copyright infringement of the"
+ " software owner's exclusive rights under copyright law. List of"
+ " possible values is based on list of licences approved by the"
+ " Free Software Foundation and OSI. The string is obtained from RPM"
+ " package." )
+ ]
+ String License;
+
+ [ Description (
+ "Denotes the package group, in which the package belongs.")
+ ]
+ String Group;
+
+ [ Description (
+ "Size of RPM package in Bytes" ) ]
+ uint64 Size;
+
+ [ Description (
+ "Will install available package."),
+ ValueMap { "0", "1", "2" },
+ Values { "Already installed", "Successful installation", "Failed" } ]
+ uint32 Install(
+ [ IN(false), OUT, Description (
+ "The reference to newly installed package, if installation was"
+ " successful. Reference to current package if it is already"
+ " installed and Null otherwise.") ]
+ LMI_SoftwareInstalledPackage REF Installed
+ );
+
+ [ Description (
+ "Will uninstall installed package."),
+ ValueMap { "0", "1", "2" },
+ Values { "Not installed", "Successful removal", "Failed" } ]
+ uint32 Remove();
+
+};
+
+[ Description (
+ "Identifies a file contained by RPM package. It's located"
+ " in directory identified in FileName. The Invoke methods"
+ " check for file existence and whether its attributes match"
+ " those given by RPM package.")
+]
+class LMI_SoftwareFileCheck : CIM_FileSpecification {
+
+ [ Key, Description (
+ "Absolute path of file being checked.") ]
+ String Name;
+
+ [ Description (
+ "Composition of RPM's name and absolute file path."
+ " It's format is \"rpm_name#path\"") ]
+ String CheckID;
+
+ [ Override("SoftwareElementID"), Description (
+ "RPM's nevra. This means: "
+ "\"name-[epoch:]version-release.architecture\"."
+ " If epoch part is missing, a \"0:\" is assumed." ) ]
+ String SoftwareElementID;
+
+ [ Override("Version"), Description (
+ "Version of packaged software as listed by RPM package.") ]
+ String Version;
+
+ [ Description (
+ "True, if file is present in file system.")]
+ Boolean FileExists;
+
+ [ Override("FileSize"),
+ Description("Size of installed file in Bytes.") ]
+ uint64 FileSize;
+ [ Units("KiloBytes"),
+ Description("File size in Bytes from RPM database.") ]
+ uint64 ExpectedFileSize;
+
+ [ Description("File mode of installed file as a number.") ]
+ uint32 FileMode;
+ [ Description("File mode as a number given by RPM database.") ]
+ uint32 ExpectedFileMode;
+
+ [ Description (
+ "File mode of installed file as an array of permissions."
+ " Each value represents a bit position in file mode."),
+ ValueMap { "0", "1", "2" //XWR Other
+ , "3", "4", "5" //XWR Group
+ , "6", "7", "8" //XWR User
+ , "9","10","11" //Sticky, SGID, SUID
+ },
+ Values { "Execute Other", "Write Other", "Read Other"
+ , "Execute Group", "Write Group", "Read Group"
+ , "Execute User" , "Write User" , "Read User"
+ , "Sticky", "SGID", "SUID"
+ } ]
+ Uint8 FileModeFlags[];
+ [ Description (
+ "File mode as an array of permissions of file from RPM database."
+ " Each value represents a bit position in file mode."),
+ ValueMap { "0", "1", "2" //XWR Other
+ , "3", "4", "5" //XWR Group
+ , "6", "7", "8" //XWR User
+ , "9","10","11" //Sticky, SGID, SUID
+ },
+ Values { "Execute Other", "Write Other", "Read Other"
+ , "Execute Group", "Write Group", "Read Group"
+ , "Execute User" , "Write User" , "Read User"
+ , "Sticky", "SGID", "SUID"
+ } ]
+ Uint8 ExpectedFileModeFlags[];
+
+ [ Override("MD5Checksum"),
+ Description("MD5 checksum of installed file.") ]
+ String MD5Checksum;
+ [ Description("Checksum of installed file."
+ " Hash algorithm used can be obtained with ChecksumType property.") ]
+ String Checksum;
+ [ Description("Checksum of file from RPM database."
+ " Hash algorithm used can be obtained with ChecksumType property.") ]
+ String ExpectedChecksum;
+
+ [ Description("Number of hash algorithm according to RFC4880."
+ " This algorithm is used for making checksums of RPM files and"
+ " packages. This algorithm is same for the whole RPM database."),
+ ValueMap { "0", "1", "2", "3"
+ , "8", "9","10","11" },
+ Values { "UNKNOWN", "MD5", "SHA-1", "RIPE-MD/160"
+ , "SHA256", "SHA384", "SHA512", "SHA224" } ]
+ uint16 ChecksumType;
+
+ [ Description("User ID of installed file.") ]
+ uint32 FileUserID;
+ [ Description("User ID of file from RPM database.") ]
+ uint32 ExpectedFileUserID;
+
+ [ Description("Group ID of installed file.") ]
+ uint32 FileGroupID;
+ [ Description("Group ID of file from RPM database.") ]
+ uint32 ExpectedFileGroupID;
+
+ [ Description("Time of last modification of installed file as number a"
+ " of secodns since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).") ]
+ uint64 LastModificationTime;
+ [ Description("Time of last modification of file from RPM database as"
+ " a number of secodns since the Epoch,"
+ " 1970-01-01 00:00:00 +0000 (UTC).") ]
+ uint64 ExpectedLastModificationTime;
+
+ [ Description("Target destination of symbolic link as returned by"
+ " readline. If file is not a symbolic link, NULL is returned.") ]
+ String LinkTarget;
+ [ Description("Target destination of symbolic link from RPM database"
+ " as returned by readline. If file is not a symbolic link,"
+ " NULL is returned.") ]
+ String ExpectedLinkTarget;
+
+ [ Description("File type."),
+ ValueMap { "0", "1", "2", "3"
+ , "4", "5", "6" },
+ Values { "Unknown", "File", "Directory", "Symlink"
+ , "FIFO", "Character Device", "Block Device" } ]
+ uint16 FileType;
+ [ Description("File type of file in RPM database."),
+ ValueMap { "0", "1", "2", "3"
+ , "4", "5", "6" },
+ Values { "Unknown", "File", "Directory", "Symlink"
+ , "FIFO", "Character Device", "Block Device" } ]
+ uint16 ExpectedFileType;
+
+ [ Description (
+ "Returns array of booleans for verification checks. Each value"
+ " is either true or false, whether file passed the check or not."
+ " True is present also if the check does not apply to the file"
+ " (file implicitly passes the check, if check can not be"
+ " performed)."
+ " PassedFlagsDescriptions returns a description for each field in"
+ " this array saying, what it means.") ]
+ Boolean PassedFlags[];
+
+ [ Description (
+ "Returns array of descriptions of checks corresponding to PassedFlags"
+ " array.")]
+ String PassedFlagsDescriptions[];
+
+};
+
+// ===================================================================
+// Associations
+// ===================================================================
+[ Association ]
+class LMI_SoftwareInstalledPackage : CIM_InstalledSoftwareElement {
+
+ [ Override("Software"), Weak, Description (
+ "Reference to the installed RPM package.")]
+ LMI_SoftwarePackage REF Software;
+
+ [ Override("System"), Min(1), Description (
+ "Reference to the ComputerSystem hosting a particular"
+ " RPM package.")]
+ CIM_ComputerSystem REF System;
+
+ [ Description (
+ "Updates the package to latest version."
+ " When any of \"epoch\", \"version\" or \"release\" argument is given"
+ ", install only matching available package. Otherwise try"
+ " to update to newest package available."
+ " If the \"epoch\", \"version\" and \"release\" of package is"
+ " already installed, or no newer package is available,"
+ " \"Already newest\" value is returned."),
+ ValueMap { "0", "1", "2" },
+ Values { "Already newest", "Successful installation", "Failed" } ]
+ uint16 Update(
+ [ IN(true), Description (
+ "Specify particular epoch of package to update to."
+ " Update to newest, when empty.") ]
+ String Epoch,
+ [ IN(true), Description (
+ "Specify particular version of package to update to."
+ " Update to newest, when empty") ]
+ String Version,
+ [ IN(true), Description (
+ "Specify particular release of package to update to."
+ " Update to newest, when empty.") ]
+ String Release,
+ [ IN(false), OUT, Description (
+ "The reference to newly installed package, if installation was"
+ " successful. Otherwise reference to current package.") ]
+ LMI_SoftwareInstalledPackage REF Installed
+ );
+
+ [ Description (
+ "Verify existence and attributes of files installed from"
+ " RPM package. If all files installed exist and their attributes"
+ " matches, method returns \"Pass\". \"Not passed\" is returned when"
+ " arbitrary file differs in its attributes. And \"Error\" if"
+ " verification could not be done."),
+ ValueMap { "0", "1", "2" },
+ Values { "Pass", "Not passed", "Error" } ]
+ uint32 CheckIntegrity(
+ [ IN(false), OUT, Description (
+ "Array of references to LMI_SoftwareFileCheck, that did not pass"
+ " verification.") ]
+ LMI_SoftwareFileCheck REF Failed[]
+ );
+
+};
+
+[ Association, Aggregation ]
+class LMI_SoftwarePackageChecks : CIM_SoftwareElementChecks {
+
+ [ Override("Element"), Description("The RPM package being checked") ]
+ LMI_SoftwarePackage REF Element;
+
+ [ Override("Check"), Description("The Check for the element.") ]
+ LMI_SoftwareFileCheck REF Check;
+
+};
+
diff --git a/mof/LMI_Software.reg b/mof/LMI_Software.reg
new file mode 100644
index 0000000..c75e69e
--- /dev/null
+++ b/mof/LMI_Software.reg
@@ -0,0 +1,23 @@
+[LMI_SoftwarePackage]
+ provider: /usr/lib/python2.7/site-packages/cura/software/LMI_SoftwarePackage.py
+ location: pyCmpiProvider
+ type: instance method
+ namespace: root/cimv2
+
+[LMI_SoftwareInstalledPackage]
+ provider: /usr/lib/python2.7/site-packages/cura/software/LMI_SoftwareInstalledPackage.py
+ location: pyCmpiProvider
+ type: instance association method
+ namespace: root/cimv2
+
+[LMI_SoftwareFileCheck]
+ provider: /usr/lib/python2.7/site-packages/cura/software/LMI_SoftwareFileCheck.py
+ location: pyCmpiProvider
+ type: instance method
+ namespace: root/cimv2
+
+[LMI_SoftwarePackageFile]
+ provider: /usr/lib/python2.7/site-packages/cura/software/LMI_SoftwarePackageFile.py
+ location: pyCmpiProvider
+ type: instance association
+ namespace: root/cimv2
diff --git a/mof/LMI_Yum.mof b/mof/LMI_Yum.mof
deleted file mode 100644
index 892c1fb..0000000
--- a/mof/LMI_Yum.mof
+++ /dev/null
@@ -1,617 +0,0 @@
-/*
- * Copyright (C) 2012 Michal Minar <miminar@redhat.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma locale ("en_US")
-//#pragma namespace ("root/cimv2")
-
-[ Description (
- "RPM package installed on particular computer system with"
- " YUM (The Yellowdog Updated, Modified) package manager.")
-]
-class LMI_YumPackage : CIM_SoftwareElement {
-
- [ Description (
- "The release number (referred to in some older documentation as a"
- " \"vepoch\") is how the maintainer marks build revisions, starting"
- " from 1. When a minor change (spec file changed, patch added/removed)"
- " occurs, or a package is rebuilt to use newer headers or libraries,"
- " the release number should be incremented. If a major change"
- " (new version of the software being packaged) occurs, the version"
- " number should be changed to reflect the new software version,"
- " and the release number should be reset to 1.")
- ]
- String Release;
-
- [ Description (
- "It is important to be careful with the version of post-release"
- " scheme, to ensure that package ordering is correct. It may be"
- " necessary to use Epoch to ensure that the current package is"
- " considered newer than the previous package.")
- ]
- uint16 Epoch;
-
- [ Description (
- "Architecture name, that package is compiled for. In case of no"
- "architecture dependency, this will contain \"noarch\"."),
- ValueMap { "0" , "1" , "2" , "3" , "4" ,
- "5" , "6" , "7" , "8" ,
- "10", "11", "12", "13",
- "15", "16", "17",
- "20", "21", "22", "23", "24",
- "30", "31",
- "35", "36",
- "40", "41", "42",
- "45", "46",
- "50", "51",
- "55",
- "60", "61", "62", "63", "64",
- "70", "71", "72", "73", "74" },
- Values { // 0
- "noarch", "other", "unknown", "x86", "i386",
- // 5
- "i586", "i686", "x86_64", "Athlon",
- // 10
- "IA32e", "IA64", "PowerPC", "PowerPC 64",
- // 15
- "SPARC", "SPARC V9", "SPARC 64",
- // 20
- "ARM", "ARMv6", "ARMv7", "ARMv8", "ARMv9",
- // 30
- "StrongARM", "XScale",
- // 35
- "PA-RISC", "PA-RISC 11",
- // 40
- "MIPS", "MIPS 32", "MIPS 64",
- // 45
- "MIPS NEC VR 4xxx", "MIPS RM7000",
- // 50
- "MIPS TX 39", "MIPS TX 49",
- // 55
- "V850",
- // 60
- "Alpha", "Alpha EV6", "Alpha EV7", "Alpha EV8", "Alpha EV9",
- // 70
- "SuperH", "SuperH 2", "SuperH 3", "SuperH 4", "SuperH 5" }
- ]
- uint16 Architecture;
-
- [ Description (
- "A software license is a legal instrument (usually by way of contract"
- " law) governing the usage or redistribution of software."
- " All software is copyright protected, except material in the public"
- " domain. Contractual confidentiality is another way of protecting"
- " software. A typical software license grants an end-user permission"
- " to use one or more copies of software in ways where such a use would"
- " otherwise potentially constitute copyright infringement of the"
- " software owner's exclusive rights under copyright law. List of"
- " possible values is based on list of licences approved by the"
- " Free Software Foundation and OSI. Values contain only most common"
- " Licences, so not every package's license will match. Moreover"
- " lot of software is distributed under more licenses. In these cases"
- " property will hold \"Other\" and LicenseString will contain precise"
- " value." ),
- ValueMap { "0" , "1" , "2" ,
- "5" , "6" , "7" ,
- "10" , "11" ,
- "15" , "16" , "17" , "18" , "19",
- "25" , "26" ,
- "30" , "31" , "32" , "33" ,
- "35" , "36" ,
- "40" , "41" , "42" , "43" , "44",
- "45" , "46" , "47" , "48" ,
- "50" , "51" , "52" , "53" ,
- "55" , "56" , "57" ,
- "65" , "66" , "67" , "68" ,
- "70" , "71" , "72" , "73" ,
- "75" , "76" , "77" ,
- "80" , "81" , "82" , "83" , "84",
- "85" , "86" , "87" , "88" , "89",
- "90" , "91",
- "100", "101", "102",
- "110", "111", "112", "113", "114",
- "115", "116", "117", "118", "119",
- "125", "126", "127",
- "130", "131", "132", "133",
- "135", "136", "137", "138", "139",
- "140", "141", "142",
- "145", "146",
- "150", "151", "152", "153", "154",
- "155", "156", "157", "158", "159",
- "160", "161", "162", "163", "164",
- "165", "166", "167", "168", "169",
- "170", "171", "172", "173", "174",
- "175", "176", "177", "178", "179",
- "180", "181", "182", "183", "184",
- "185", "186", "187", "188", "189",
- "190", "191", "192", "193", "194",
- "195", "196", "197", "198",
- "200", "201", "202", "203", "204",
- "205", "206", "207", "208", "209",
- "215", "216", "217",
- "220", "221", "222", "223", "224",
- "225", "226", "227", "228", "229",
- "230", "231", "232", "233",
- "235", "236", "237", "238", "239",
- "240", "241", "242", "243", "244",
- "245", "246", "247", "248", "249",
- "250", "251", "252", "253", "254",
- "255", "256", "257", "258", "259",
- "260", "261", "262", "263", "264",
- "265", "266",
- "270", "271",
- "275", "276", "277",
- "280", "281",
- "400", "401", "402", "403", "404",
- "405", "406", "407", "408", "409",
- "410", "411", "412", "413", "414",
- "415", "416", "417", "418", "419"
- "420", "421", "422", "423", "424",
- "425", "426", "427", "428", "429",
- "430", "431", "432", "433", "434",
- "435", "436", "437", "438", "439",
- "440" },
- Values { // 0
- "Other", "Unknown",
- "Freely redistributable without restriction",
- // 5
- "Glide", "AFL", "Adobe",
- // 10
- "MIT", "MIT with advertising",
- // 15
- "AGPL", "AGPLv1", "AGPLv3", "AGPLv3+", "AGPLv3 with exceptions",
- // 25
- "ADSL", "AMDPLPA",
- // 30
- "ASL", "ASL 1.0", "ASL 1.1", "ASL 2.0",
- // 35
- "Artistic clarified", "Artistic 2.0",
- // 40
- "ARL", "AAL", "Bahyph", "Barr", "Beerware",
- // 45
- "BeOpen", "Bibtex", "Boost", "Borceux",
- // 50
- "BSD", "BSD with advertising", "BSD with attribution",
- "BSD Protection",
- // 55
- "AMPAS BSD", "LBNL BSD", "RiceBSD",
- // 65
- "CATOSL", "CeCILL", "CeCILL-B", "CeCILL-C",
- // 70
- "Netscape", "CNRI", "CDDL", "CPL",
- // 75
- "Condor", "Copyright only", "CPAL",
- // 80
- "GPL", "GPL+", "GPL+ with exceptions", "GPLv1", "GPLv2",
- // 85
- "GPLv2 with exceptions", "GPLv2+", "GPLv2+ with exceptions",
- "GPLv3", "GPLv3 with exceptions",
- // 90
- "GPLv3+", "GPLv3+ with exceptions",
- // 100
- "GPL+ or Artistic", "GPLv2 or Artistic", "GPLv2+ or Artistic",
- // 110
- "LGPL", "LGPLV2", "LGPLv2 with exceptions", "LGPLV2+",
- "LGPLV2+ with exceptions",
- // 115
- "LGPLv3", "LGPLv3 with exceptions", "LGPLv3+",
- "LGPLv3+ with exceptions", "LLGPL",
- // 125
- "CC0", "Crossword", "Crystal Stacker",
- // 130
- "MPL", "MPLv1.0", "MPLv1.1", "MPLv2.0",
- // 135
- "diffmark", "WTFPL", "DOC", "Dotseqn", "DSDP",
- // 140
- "dvipdfm", "EPL", "eCos",
- // 145
- "ECL 1.0", "ECL 2.0",
- // 150
- "eGenix", "EFL 2.0", "Entessa", "ERPL", "EU Datagrid",
- // 155
- "EUPL 1.1", "Eurosym", "Fair", "FTL", "Gitware",
- // 160
- "GL2PS", "Glulxe", "gnuplot", "HaskellReport", "IBM",
- // 165
- "iMatrix", "ImageMagick", "Imlib2", "IJG", "Intel ACPI",
- // 170
- "Interbase", "ISC", "Jabber", "JasPer", "JPython",
- // 175
- "Julius", "Knuth", "LPPL", "Latex2e", "Leptonica",
- // 180
- "Lhcyr", "libtiff", "Logica", "MakeIndex", "mecab-ipadic",
- // 185
- "MS-PL", "MS-RL", "midnight", "MirOS", "mod_macro",
- // 190
- "Motosoto", "Naumen", "NCSA", "NetCDF", "NGPL",
- // 195
- "NOSL", "Newmat", "Newsletr", "Nokia",
- // 200
- "NLPL", "Noweb", "OpenLDAP", "OML", "OpenPBS",
- // 205
- "OSL 1.0", "OSL 1.1", "OSL 2.0", "OSL 2.1", "OSL 3.0",
- // 215
- "OpenSSL", "OReilly", "Par",
- // 220
- "Phorum", "PHP", "PlainTeX", "Plexus", "PostgreSQL",
- // 225
- "psfrag", "psutils", "Public Domain", "Python", "Qhull",
- // 230
- "QPL", "Rdisc", "RPSL", "Romio",
- // 235
- "Rsfs", "Ruby", "Saxpath", "SCEA", "SCRIP",
- // 240
- "Sendmail", "Sleepycat", "SLIB", "SNIA", "SISSL",
- // 245
- "SPL", "TCL", "Teeworlds", "TPL", "Threeparttable",
- // 250
- "TMate", "TORQUEv1.1", "TOSL", "UCD", "Vim",
- // 255
- "VNLSL", "VOSTROM", "VSL", "W3C", "Webmin",
- // 260
- "Wsuipa", "wxWidgets", "xinetd", "Xerox", "xpp",
- // 265
- "XSkat", "YPLv1.1",
- // 270
- "Zed", "Zend",
- // 275
- "ZPLv1.0", "ZPLv2.0", "ZPLv2.1",
- // 280
- "zlib", "zlib with acknowledgement",
-
- // 400 (Good documentation/content/font licenses)
- "CDL", "CC-BY", "CC-BY-SA", "CC-BY-ND",
- // 405
- "DSL", "DMTF", "OAL", "FBSDDL", "GFDL",
- // 410
- "IEEE", "LDPL", "OFSFDL", "Open Publication", "Public Use",
- // 415
- "EFML", "Free Art", "GeoTratis", "Green OpenMusic", "OFL",
- // 420
- "Utopia", "AMS", "Arphic", "Baekmuk", "Bitstream Vera",
- // 425
- "Charter", "DoubleStroke", "ec", "elvish", "LPPL",
- // 430
- "Hershey", "IPA", "Liberation", "Lucida", "MgOpen",
- // 435
- "mplus", "PTFL", "Punknova", "STIX", "Wadalab",
- // 440
- "XANO"
- }
- ]
- uint16 License;
-
- [ Description (
- "Provides the same information as License property, but"
- " contains the exact string obtained from RPM package.")]
- String LicenseString;
-
- [ Description (
- "Denotes the package group, in which the package belongs. Values"
- " contain only the most common groups. That means, that not every"
- " package belongs to any of them. In such case value \"Other\" is"
- " returned. For precise value contained in RPM package, check out"
- " GroupString property."),
- ValueMap { "0", "1", "2", "3", "4",
- "5", "6", "7", "8", "9",
- "10","11","12","13","14",
- "15","16","17","18","19",
- "20","21","22","23","24",
- "25","26","27","28","29",
- "30","31","32","33","34",
- "35","36","37","38","39",
- "40" },
- Values {
- // 0
- "Other", "Unknown", "Unspecified",
- "Amusements/Games", "Amusements/Graphics",
- // 5
- "Applications/Archiving",
- "Applications/Communications",
- "Applications/Databases",
- "Applications/Editors",
- "Applications/Emulators",
- // 10
- "Applications/Engineering",
- "Applications/File",
- "Applications/Internet",
- "Applications/Multimedia",
- "Applications/Productivity",
- // 15
- "Applications/Publishing",
- "Applications/System",
- "Applications/Text",
- "Development/Build Tools",
- "Development/Debug",
- // 20
- "Development/Debuggers",
- "Development/Documentation",
- "Development/Java",
- "Development/Languages",
- "Development/Libraries",
- // 25
- "Development/Libraries/Java",
- "Development/System",
- "Development/Tools",
- "Documentation",
- "Internet/WWW/Dynamic Content",
- // 30
- "System/Libraries",
- "System Environment/Base",
- "System Environment/Daemons",
- "System Environment/Kernel",
- "System Environment/Libraries",
- // 35
- "System Environment/Shells",
- "Text Processing/Markup/XML",
- "User Interface/Desktops",
- "User Interface/X",
- "User Interface/X Hardware Support",
- // 40
- "Utilities" }
- ]
- uint16 Group;
-
- [ Description (
- "Provides the same information as Group, but contains precise string"
- " contained in package. Lot of packages define their own custom"
- " group name, which results in \"Other\" value returned by Group"
- " property.") ]
- String GroupString;
-
- [ Description (
- "Size of RPM package in Bytes" ) ]
- uint64 Size;
-
- [ Description (
- "Will install available package."),
- ValueMap { "0", "1", "2" },
- Values { "Already installed", "Successful installation", "Failed" } ]
- uint32 Install(
- [ IN(false), OUT, Description (
- "The reference to newly installed package, if installation was"
- " successful. Reference to current package if it is already"
- " installed and Null otherwise.") ]
- LMI_YumInstalledPackage REF Installed
- );
-
- [ Description (
- "Will uninstall installed package."),
- ValueMap { "0", "1", "2" },
- Values { "Not installed", "Successful removal", "Failed" } ]
- uint32 Remove();
-
-};
-
-[ Description (
- "Identifies a file contained by RPM package. It's located"
- " in directory identified in FileName. The Invoke methods"
- " check for file existence and whether its attributes match"
- " those given by RPM package.")
-]
-class LMI_YumFileCheck : CIM_FileSpecification {
-
- [ Key, Description (
- "Absolute path of file being checked.") ]
- String Name;
-
- [ Description (
- "Composition of RPM's name and absolute file path."
- " It's format is \"rpm_name#path\"") ]
- String CheckID;
-
- [ Override("SoftwareElementID"), Description (
- "RPM's nevra. This means: "
- "\"name-[epoch:]version-release.architecture\"."
- " If epoch part is missing, a \"0:\" is assumed." ) ]
- String SoftwareElementID;
-
- [ Override("Version"), Description (
- "Version of packaged software as listed by RPM package.") ]
- String Version;
-
- [ Description (
- "True, if file is present in file system.")]
- Boolean FileExists;
-
- [ Override("FileSize"),
- Description("Size of installed file in Bytes.") ]
- uint64 FileSize;
- [ Units("KiloBytes"),
- Description("File size in Bytes from RPM database.") ]
- uint64 ExpectedFileSize;
-
- [ Description("File mode of installed file as a number.") ]
- uint32 FileMode;
- [ Description("File mode as a number given by RPM database.") ]
- uint32 ExpectedFileMode;
-
- [ Description (
- "File mode of installed file as an array of permissions."
- " Each value represents a bit position in file mode."),
- ValueMap { "0", "1", "2" //XWR Other
- , "3", "4", "5" //XWR Group
- , "6", "7", "8" //XWR User
- , "9","10","11" //Sticky, SGID, SUID
- },
- Values { "Execute Other", "Write Other", "Read Other"
- , "Execute Group", "Write Group", "Read Group"
- , "Execute User" , "Write User" , "Read User"
- , "Sticky", "SGID", "SUID"
- } ]
- Uint8 FileModeFlags[];
- [ Description (
- "File mode as an array of permissions of file from RPM database."
- " Each value represents a bit position in file mode."),
- ValueMap { "0", "1", "2" //XWR Other
- , "3", "4", "5" //XWR Group
- , "6", "7", "8" //XWR User
- , "9","10","11" //Sticky, SGID, SUID
- },
- Values { "Execute Other", "Write Other", "Read Other"
- , "Execute Group", "Write Group", "Read Group"
- , "Execute User" , "Write User" , "Read User"
- , "Sticky", "SGID", "SUID"
- } ]
- Uint8 ExpectedFileModeFlags[];
-
- [ Override("MD5Checksum"),
- Description("MD5 checksum of installed file.") ]
- String MD5Checksum;
- [ Description("Checksum of installed file."
- " Hash algorithm used can be obtained with ChecksumType property.") ]
- String Checksum;
- [ Description("Checksum of file from RPM database."
- " Hash algorithm used can be obtained with ChecksumType property.") ]
- String ExpectedChecksum;
-
- [ Description("Number of hash algorithm according to RFC4880."
- " This algorithm is used for making checksums of RPM files and"
- " packages. This algorithm is same for the whole RPM database."),
- ValueMap { "0", "1", "2", "3"
- , "8", "9","10","11" },
- Values { "UNKNOWN", "MD5", "SHA-1", "RIPE-MD/160"
- , "SHA256", "SHA384", "SHA512", "SHA224" } ]
- uint16 ChecksumType;
-
- [ Description("User ID of installed file.") ]
- uint32 FileUserID;
- [ Description("User ID of file from RPM database.") ]
- uint32 ExpectedFileUserID;
-
- [ Description("Group ID of installed file.") ]
- uint32 FileGroupID;
- [ Description("Group ID of file from RPM database.") ]
- uint32 ExpectedFileGroupID;
-
- [ Description("Time of last modification of installed file as number a"
- " of secodns since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).") ]
- uint64 LastModificationTime;
- [ Description("Time of last modification of file from RPM database as"
- " a number of secodns since the Epoch,"
- " 1970-01-01 00:00:00 +0000 (UTC).") ]
- uint64 ExpectedLastModificationTime;
-
- [ Description("Target destination of symbolic link as returned by"
- " readline. If file is not a symbolic link, NULL is returned.") ]
- String LinkTarget;
- [ Description("Target destination of symbolic link from RPM database"
- " as returned by readline. If file is not a symbolic link,"
- " NULL is returned.") ]
- String ExpectedLinkTarget;
-
- [ Description("File type."),
- ValueMap { "0", "1", "2", "3"
- , "4", "5", "6" },
- Values { "Unknown", "File", "Directory", "Symlink"
- , "FIFO", "Character Device", "Block Device" } ]
- uint16 FileType;
- [ Description("File type of file in RPM database."),
- ValueMap { "0", "1", "2", "3"
- , "4", "5", "6" },
- Values { "Unknown", "File", "Directory", "Symlink"
- , "FIFO", "Character Device", "Block Device" } ]
- uint16 ExpectedFileType;
-
- [ Description (
- "Returns array of booleans for verification checks. Each value"
- " is either true or false, whether file passed the check or not."
- " True is present also if the check does not apply to the file"
- " (file implicitly passes the check, if check can not be"
- " performed)."
- " PassedFlagsDescriptions returns a description for each field in"
- " this array saying, what it means.") ]
- Boolean PassedFlags[];
-
- [ Description (
- "Returns array of descriptions of checks corresponding to PassedFlags"
- " array.")]
- String PassedFlagsDescriptions[];
-
-};
-
-// ===================================================================
-// Associations
-// ===================================================================
-[ Association ]
-class LMI_YumInstalledPackage : CIM_InstalledSoftwareElement {
-
- [ Override("Software"), Weak, Description (
- "Reference to the installed RPM package.")]
- LMI_YumPackage REF Software;
-
- [ Override("System"), Min(1), Description (
- "Reference to the ComputerSystem hosting a particular"
- " RPM package.")]
- CIM_ComputerSystem REF System;
-
- [ Description (
- "Updates the package to latest version."
- " When any of \"epoch\", \"version\" or \"release\" argument is given"
- ", install only matching available package. Otherwise try"
- " to update to newest package available."
- " If the \"epoch\", \"version\" and \"release\" of package is"
- " already installed, or no newer package is available,"
- " \"Already newest\" value is returned."),
- ValueMap { "0", "1", "2" },
- Values { "Already newest", "Successful installation", "Failed" } ]
- uint16 Update(
- [ IN(true), Description (
- "Specify particular epoch of package to update to."
- " Update to newest, when empty.") ]
- String Epoch,
- [ IN(true), Description (
- "Specify particular version of package to update to."
- " Update to newest, when empty") ]
- String Version,
- [ IN(true), Description (
- "Specify particular release of package to update to."
- " Update to newest, when empty.") ]
- String Release,
- [ IN(false), OUT, Description (
- "The reference to newly installed package, if installation was"
- " successful. Otherwise reference to current package.") ]
- LMI_YumInstalledPackage REF Installed
- );
-
- [ Description (
- "Verify existence and attributes of files installed from"
- " RPM package. If all files installed exist and their attributes"
- " matches, method returns \"Pass\". \"Not passed\" is returned when"
- " arbitrary file differs in its attributes. And \"Error\" if"
- " verification could not be done."),
- ValueMap { "0", "1", "2" },
- Values { "Pass", "Not passed", "Error" } ]
- uint32 CheckIntegrity(
- [ IN(false), OUT, Description (
- "Array of references to LMI_YumFileCheck, that did not pass"
- " verification.") ]
- LMI_YumFileCheck REF Failed[]
- );
-
-};
-
-[ Association, Aggregation ]
-class LMI_YumPackageFile : CIM_SoftwareElementChecks {
-
- [ Override("Element"), Description("The RPM package being checked") ]
- LMI_YumPackage REF Element;
-
- [ Override("Check"), Description("The Check for the element.") ]
- LMI_YumFileCheck REF Check;
-
-};
-
diff --git a/mof/LMI_Yum.reg b/mof/LMI_Yum.reg
deleted file mode 100644
index 7ada5df..0000000
--- a/mof/LMI_Yum.reg
+++ /dev/null
@@ -1,23 +0,0 @@
-[LMI_YumPackage]
- provider: /usr/lib/python2.7/site-packages/cura/yum/LMI_YumPackage.py
- location: pyCmpiProvider
- type: instance method
- namespace: root/cimv2
-
-[LMI_YumInstalledPackage]
- provider: /usr/lib/python2.7/site-packages/cura/yum/LMI_YumInstalledPackage.py
- location: pyCmpiProvider
- type: instance association method
- namespace: root/cimv2
-
-[LMI_YumFileCheck]
- provider: /usr/lib/python2.7/site-packages/cura/yum/LMI_YumFileCheck.py
- location: pyCmpiProvider
- type: instance method
- namespace: root/cimv2
-
-[LMI_YumPackageFile]
- provider: /usr/lib/python2.7/site-packages/cura/yum/LMI_YumPackageFile.py
- location: pyCmpiProvider
- type: instance association
- namespace: root/cimv2