-
Notifications
You must be signed in to change notification settings - Fork 5
/
README
103 lines (77 loc) · 2.73 KB
/
README
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
Swig based CMPI bindings
------------------------
This implements a CMPI-compliant provider interface for various languages
via SWIG.
Currently supported languages
- Ruby
- Python
- Perl (beginning support)
Implementation
--------------
cmpi-bindings is implemented as a single CMPI-compliant provider (per
supported language) that serves as a "multiplexer" to the instrumented
language-specific providers.
Using a python provider for class Py_Foo as an example, cmpi-bindings
project provides a cmpi-compliant provider (libpyCmpiProvider.so) that
will be registered with the cimom as the provider that handles Py_Foo
requests. When libpyCmpiProvider gets the request, it will then forward
it on to the python module that instruments the Py_Foo class.
cmpi-bindings also provides supported-language-interfaces for the Provider
Environment and BrokerCIMOMHandle, so that providers can make "up-calls"
into the cimom.
For the stack discussion below, use the following 'type' abbreviations:
Ruby: rb
Python: py
Perl: pl
The cmpi-bindings provider interfaces under CMPI consist of the following
stack:
CIMOM
->
lib<type>CmpiProvider.so
->
cmpi_<type>wbem_bindings.<type>
->
<python: pywbem/cim_provider2.py>
->
language-specific provider module
Build / Installation
--------------------
The build scripts will only build the modules for which you have appropriate
devel packages. It will skip any others.
Requirements
------------
cmake 2.4 or later
CMPI header files, e.g. from sblim-cmpi-devel
Python interface requires: python-devel, pywbem-0.7.0
Perl interface requires: perl
Ruby interface requires: ruby ruby-devel (1.8, 1.9, or 2.0)
Build
-----
From root of tarball's source tree, create a directory 'build' and move
(cd) into that directory
'cmake ..'
'make'
'sudo make install'
You can pass various parameters to cmake to control the build, e.g.
cmake -DCMAKE_INSTALL_PREFIX=/usr/local
-DCMAKE_C_FLAGS_RELEASE:STRING="-Wall -O2 -g"
-DCMAKE_CXX_FLAGS_RELEASE:STRING="-Wall -O2 -g"
-DCMAKE_BUILD_TYPE=Release
Test
----
For each language, there is a test/<language> directory.
Within that directory, there should be test providers, scripts that use
the test providers, and scripts to register the mofs and providers with
CIMOMs.
Testing
-------
The test/ subdir contains a couple of tests and some sample code. If
you have Ruby, rake, sblim-sfcb, sblim-sfcc and sfcc.gem installed,
test/rake gives you a more complete testsuite.
See test/rake/README for details.
Language-specific documentation
-------------------------------
Python
-----
Visit http://pywbem.wiki.sourceforge.net/Provider+Home for QuickStart Guide,
Tutorials, sample providers, etc.