~ubuntu-branches/ubuntu/vivid/openipmi/vivid

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Noèl Köthe
  • Date: 2006-09-15 17:56:24 UTC
  • mfrom: (1.1.2 upstream) (2.1.1 etch)
  • Revision ID: james.westby@ubuntu.com-20060915175624-ljk0mg3xtcm65tvm
Tags: 2.0.7-1
* new upstream release from 2006-06-08
  Thanks to John Wright <john.wright hp.com> for initial work
  (closes: Bug#380149)
* updated Standards Version
* new binaries openipmicmd, openipmish, rmcp_ping

Show diffs side-by-side

added added

removed removed

Lines of Context:
116
116
After you have configured OpenIPMI, type "make" to build it.  To
117
117
install it in the prefix you defined, do "make install".
118
118
 
 
119
OpenIPMI requires the following packages:
 
120
 
 
121
  * popt
 
122
  * curses, ncurses or termcap
 
123
 
 
124
OpenIPMI can use, but does not require, the following packages:
 
125
 
 
126
  * netsnmp or ucdsnmp - netsnmp is the preferred SNMP package, but
 
127
    it will use either of these.  Without this, the sample programs
 
128
    will not be able to receive SNMP traps, but there is no functional
 
129
    change to the library.
 
130
  * openssl - This is required for IPMI 2.0 RMCP+ encryption and
 
131
    authentication support.
 
132
  * glib (along with pkgconfig) - glib 2.0 is preferred, but glib 1.2
 
133
    will be used if 2.0 is not available.  This is simply an OS handler
 
134
    for glib and it not used for anything else in OpenIPMI itself, but
 
135
    is useful for users using glib.  Note that OpenIPMI will be able to
 
136
    use both glib 1.2 an glib 2.0 at the same time, but this is difficult
 
137
    and not recommended.
 
138
  * swig 1.3.21 or later - This is required for perl and python language
 
139
    support.  Without it, perl, python, and the GUI will not work.
 
140
  * perl - Support for writing scripts in the perl language that use
 
141
    the OpenIPMI library.
 
142
  * python - Support for writing scripts in the python language that use
 
143
    the OpenIPMI library.
 
144
  * Tcl/Tk - There is no Tcl language support (someone may contribute
 
145
    that, though).  However, A Tcl OS handler is provided so that
 
146
    Perl and Python may use the Tk widgets.  Without this, the GUI will
 
147
    not work.  Note that getting Tcl/Tk to work right can be difficult,
 
148
    see below for more details.
 
149
  * Tkinter/Tix - Python GUI libraries.  Required for the GUI to work.
 
150
  * gdbm - This is used on *nix for local SDR caching.  This is not
 
151
    required, but it *really* speeds up startup.
 
152
 
 
153
Note you need to install the development packages (generally ending in
 
154
-dev) of most of these for OpenIPMI to pick it up.  You can examine
 
155
the output of configure to make sure they are properly discovered.
 
156
 
 
157
 
 
158
Getting Tcl/Tk to work
 
159
======================
 
160
 
 
161
Tcl is installed in various places, and the configure script probably
 
162
won't find it.  If it doesn't, you must specify the install location
 
163
for Tcl by adding:
 
164
  --with-tclcflags=flags --with-tcllibs=lib
 
165
For instance, on my Debian Linux system, I have to specify:
 
166
  ./configure --with-tclcflags="-I /usr/include/tcl8.4" --with-tcllibs=-ltcl8.4
 
167
to make it work right.
 
168
 
 
169
If you don't get this right, you don't get a GUI!
 
170
 
119
171
 
120
172
Using ipmish
121
173
============
126
178
for more details.
127
179
 
128
180
 
 
181
The OpenIPMI GUI
 
182
================
 
183
 
 
184
The GUI is cleverly named openipmigui and provides a GUI interface to
 
185
most of OpenIPMI.  It also has the standard command language (like
 
186
ipmish) available in a window, so it has all the power of ipmish.
 
187
 
 
188
To use the GUI, you have to have the following optional packages:
 
189
  * swig 1.3.21 or later
 
190
  * python
 
191
  * Tcl/Tk
 
192
  * Tkinter/Tix
 
193
 
 
194
The GUI is documented in the openipmigui man page.
 
195
 
 
196
 
129
197
Using ipmi_ui
130
198
=============
131
199
 
140
208
what you use.  ipmish and the sample code is a much better example.
141
209
 
142
210
 
143
 
Perl and OpenIPMI
144
 
=================
 
211
Perl/Python and OpenIPMI
 
212
========================
145
213
 
146
 
OpenIPMI has perl bindings using swig.  The public interface of
147
 
OpenIPMI is available, but the private interfaces are not (and a few
148
 
other things like SNMP trap support, PET, PEF, and LANPARM support).
149
 
It is still somewhat new, but fairly functional.
 
214
OpenIPMI has perl and python bindings using swig.  The public
 
215
interface of OpenIPMI is available, but the private interfaces are not
 
216
(and a few other things like SNMP trap support).  It is fully
 
217
function.
150
218
 
151
219
I was hoping that swig would generate documentation from the comments,
152
220
but it turns out that it does not do that.  You can look at
153
221
swig/OpenIPMI.i for the documentation on all the interfaces, and
154
 
swig/perl/sample for a piece of sample code that uses most of the
155
 
interfaces.
 
222
swig/perl/sample and the gui in swig/python/openipmigui.py for a piece
 
223
of sample code that uses most of the interfaces.
156
224
 
157
225
The interface is object-oriented, so you have to know how to do OO
158
 
Perl to use this.  It is like this because that is the most natural
159
 
way to use SWIG (and it makes more OO languages like python easier).
 
226
Perl or Pythong to use this.  It is like this because that is the most
 
227
natural way to use SWIG (and it makes more OO languages like python
 
228
easier).
160
229
 
161
230
 
162
231
OpenIPMI and SNMP
234
303
 
235
304
The source tree here consists of the following directories:
236
305
 
237
 
  include - Most of the include files used by the systems, all the
238
 
  public ones.
239
 
 
240
 
  utils - Basic utilities (mostly authentication) that other parts of
241
 
  the system use.  This is a non-shared library that the other shared
242
 
  libraries pick up stuff from.
243
 
 
244
 
  lib - The main library for OpenIPMI.
245
 
 
246
 
  ui - A cheesy user interface for OpenIPMI, mostly for testing.
247
 
 
248
 
  lanserv - An IPMI LAN server, it turns an SMI interface into a LAN
249
 
  interface.
250
 
 
251
 
  sample - Some sample code, and the ipmicmd utility.
252
 
 
253
 
  doc - The documentation.
254
 
 
255
 
  man - The man pages.
 
306
+---cmdlang - A command-line interpreter that gives access to the
 
307
|             OpenIPMI library.  Includes a user interface named
 
308
|             openipmish that demonstrates how to use it.
 
309
|  
 
310
+--- doc - The main documentation for OpenIPMI
 
311
|
 
312
+---glib - A glib OS handler.
 
313
|  
 
314
+---include
 
315
|   +---linux - linux-specific include files
 
316
|   \---OpenIPMI - User-visible include files for OpenIPMI
 
317
|       \---internal - Internal include files, only for plugins
 
318
|
 
319
+---lanserv - Code to provide a LAN interface to an IPMI device and
 
320
|             to provide an IPMI simulator
 
321
|  
 
322
+---lib - The man OpenIPMI code.  This is where all the logic for the
 
323
|         handling of IPMI messages is.
 
324
|  
 
325
+---libedit - A readline replacement that provides cmdlang/openipmish
 
326
|   |         with command line editing.
 
327
|   \---editline - Include files for libedit
 
328
|
 
329
+---man - The man pages for the 
 
330
|
 
331
+---sample - Sample code and utilities that use the OpenIPMI library.
 
332
|  
 
333
+---swig - The main interpreter interface.  swig is a program that
 
334
|   |      takes a general description of a C/C++ interface and
 
335
|   |      provides the equivalent interface in various interpreters.
 
336
|   +---perl - Perl-specific code for swig, including sample code and
 
337
|   |          tests.
 
338
|   \---python - Python-specific code for swig.
 
339
|       \---openipmigui - A GUI for OpenIPMI, written in Python.
 
340
|
 
341
+---tcl - A TCL OS handler
 
342
|
 
343
+---ui - A depracated UI for OpenIPMI.
 
344
|  
 
345
+---unix - A POSIX OS handler, one for threaded and one for
 
346
|          non-threaded applications/
 
347
|  
 
348
\---utils - General utility code used by both the OpenIPMI library
 
349
            and by the lanserv code.
256
350
 
257
351