[BACK] Return to README.html CVS log [TXT][DIR] Up to [Pegasus] / pegasus

File: [Pegasus] / pegasus / README.html (download) (as text)
Revision 1.1, Fri Jan 5 19:46:56 2007 UTC (17 years, 3 months ago) by dave.sudlik
CVS Tags: TASK-PEP305_VXWORKS-root, TASK-PEP305_VXWORKS-branch-pre-solaris-port, TASK-PEP305_VXWORKS-branch-post-solaris-port, TASK-PEP305_VXWORKS-branch-beta2, TASK-PEP305_VXWORKS-branch, TASK-PEP305_VXWORKS-2008-10-23, TASK-PEP291_IPV6-root, TASK-PEP291_IPV6-branch, TASK-PEP286_PRIVILEGE_SEPARATION-root, TASK-PEP286_PRIVILEGE_SEPARATION-branch, TASK-PEP274_dacim-root, TASK-PEP274_dacim-merged_out_to_branch, TASK-PEP274_dacim-merged_out_from_trunk, TASK-PEP274_dacim-merged_in_to_trunk, TASK-PEP274_dacim-merged_in_from_branch, TASK-PEP274_dacim-branch, TASK-Bug2102_RCMPIWindows-root, TASK-Bug2102_RCMPIWindows-merged_out_to_branch, TASK-Bug2102_RCMPIWindows-merged_out_from_trunk, TASK-Bug2102_RCMPIWindows-merged_in_to_trunk, TASK-Bug2102_RCMPIWindows-merged_in_from_branch, TASK-Bug2102_RCMPIWindows-branch, TASK-Bug2102Final-root, TASK-Bug2102Final-merged_out_to_branch, TASK-Bug2102Final-merged_out_from_trunk, TASK-Bug2102Final-merged_in_to_trunk, TASK-Bug2102Final-merged_in_from_branch, TASK-Bug2102Final-branch, TASK-BUG7240-root, TASK-BUG7240-branch, RELEASE_2_7_0-RC1, RELEASE_2_7_0-BETA, RELEASE_2_6_3-RC2, RELEASE_2_6_3-RC1, RELEASE_2_6_3, RELEASE_2_6_2-RC1, RELEASE_2_6_2, RELEASE_2_6_1-RC1, RELEASE_2_6_1, RELEASE_2_6_0, RELEASE_2_6-root, RELEASE_2_6-branch-clean, RELEASE_2_6-branch
BUG#: 5974
TITLE: CVS commit of PEP 289, version 2.6 readme

DESCRIPTION: adding new README.html for 2.6

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Language" content="en-us">
  <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
  <meta name="ProgId" content="FrontPage.Editor.Document">
  <meta http-equiv="Content-Type"
 content="text/html; charset=windows-1252">
  <title>OpenPegasus 2.6 README</title>
  <link rel="stylesheet"
 href="http://www.opengroup.org/stylesheets/info1+margins.css">
</head>
<body>
<hr>
<p><b>Abstract:</b>&nbsp; Installation, build, and operation
information on
the OpenPegasus Version 2.6.0
Release. Note that if this readme
conflicts with the documentation in the release notes or interface
definition documents for a particular release, those documents should
be considered authoritative. This is a simplified
overview to act as an
introduction to OpenPegasus.</p>
<hr>
<p align="center"><b><font size="5">OpenPegasus - A Manageability
Services Broker for the DMTF CIM/WBEM Standards
</font></b></p>
<p align="left"><b>Tagline:</b> OpenPegasus is an object manager for
DMTF CIM objects written in C++
and hosted by The Open Group </p>
<a href="#Overview">OpenPegasus Overview</a>
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
 href="#avail_of_peg">Availability</a><br>
  <a href="#peg_sup_plat">Supported Platforms</a><br>
  <a href="#peg_dep">Dependencies</a><br>
  <a href="#cmnd">Commands</a><br>
  <a href="#docs">Documentation</a><br>
  <a href="#part">How to Participate</a><br>
</blockquote>
<a href="#inst_peg">Installing OpenPegasus</a>
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a
 href="#download">Download or Checkout</a><br>
  <a href="#vfy_req_sw">Verify Dependencies</a><br>
  <a href="#set_envt_var">Set the Environment Variables</a><br>
  <a href="#bld_peg">Build the Executables</a><br>
  <a href="#pop_peg_rep">Populate the Repository</a><br>
  <a href="#reg_prov">Register Providers</a><br>
  <a href="#note_bld_peg_lnx">Notes
about Building on Linux</a><br>
  <a href="#bld_peg_win">Notes about Building
on Windows</a><br>
  <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
 href="#mu_utility">The MU Utility</a><br>
  </blockquote>
  <a href="#note_bld_peg_ssl">Notes about
Building with SSL</a><br>
</blockquote>
<a href="#test">Testing an OpenPegasus installation</a><br>
<blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
 href="#test_icu">Testing with ICU enabled</a><br>
</blockquote>
<hr>
<h1><a name="Overview">OpenPegasus Overview</a> </h1>
<div style="margin-left: 40px;"><b>OpenPegasus </b>(also referred to
as <b>Pegasus</b>) is an open-source CIM Server for DMTF CIM objects.
It is
written
in C++ and includes the Object manager (CIMOM), a set of defined
interfaces, an implementation of the CIM Operations over HTTP
operations
and their cimxml HTTP encodings, and Interface libraries
for both clients and providers. It is maintained
to be compliant with
the DMTF CIM and WBEM specifications with
exceptions
noted in the documentation.<br>
<br>
<span class="norm"></span>OpenPegasus includes components for: <br>
</div>
<ol style="margin-left: 40px;">
  <li>A DMTF compliant CIM Server that processes CIM operations, CIM
Indications, and
includes class and instance repositories and interfaces for creating
CIM
Providers and CIM Clients.</li>
  <li>Provider interfaces so that providers may be build in multiple
languages (i.e.
C++, C, Java).</li>
  <li>A number of CIM Providers.</li>
  <li>A MOF compiler.</li>
  <li>A number of CIM Clients to provide usage examples, CIM Server
test functions,
and administrative
functions.</li>
  <li>More complete information on the exact functions
and their functional state is available from the release notes for each
OpenPegasus release, and at the OpenPegasus <a
 href="http://www.openpegasus.org/page.tpl?CALLER=index.tpl&amp;ggid=799">Feature
Status Page</a>.</li>
</ol>
<div style="margin-left: 40px;">OpenPegasus is open source and is
covered under the MIT open-source
license.
</div>
<p style="margin-left: 40px;">OpenPegasus is being developed and
maintained under the auspices of
The
Open
Group.&nbsp; OpenPegasus is maintained under the license defined in the
doc
directory of this release.&nbsp; The specific file is: <font
 style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.&nbsp;
This licensing is intended to support as
wide a
distribution as possible with minimal demands on the users.
</p>
<p style="margin-left: 40px;">More information on this project, access
to the CVS, and
documentation<span style="color: rgb(255, 0, 0);"><span
 style="text-decoration: line-through;"></span></span> is available
from the Ope<span style="color: rgb(255, 0, 0);"><span
 style="text-decoration: line-through;"></span></span>nPegasus web
site.
</p>
<p style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; <a target="blank"
 href="http://www.openpegasus.org/">http://www.openpegasus.org</a><br>
</p>
<p style="margin-left: 40px;">Note
that all references in this readme to files in the OpenPegasus source
tree are of the form pegasus/..., where "pegasus" is the top-level
directory and also the name of the OpenPegasus module in CVS.<br>
</p>
<h2><a name="avail_of_peg">Availability</a></h2>
<div style="margin-left: 40px;">OpenPegasus is distributed as open
source under the MIT open-source
license. The distribution is available via CVS, and as snapshot images
in
tar, zip, and (self-extracting) exe
file
formats on the OpenPegasus web site.</div>
<ol style="color: rgb(0, 0, 0);">
OpenPegasus can be obtained via any of the following:<br>
  <ol>
    <li>Released tarballs (see <a
 href="http://www.openpegasus.org/page.tpl?CALLER=page.tpl&amp;ggid=392">ZIP/GZ/EXE
link for this release</a>)</li>
    <li>CVS (See <a
 href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&amp;ggid=667">CVS
code repository</a> for
more information)</li>
    <li>Linux RPMs
(see <a
 href="http://www.openpegasus.org/page.tpl?CALLER=page.tpl&amp;ggid=392">RPM
link for this release</a>)</li>
  </ol>
</ol>
<p style="margin-left: 40px;"><span class="norm"></span><font
 style="color: rgb(0, 0, 0);">CVS
write accounts are managed by Martin Kirk of The Open Group&nbsp;</font>
(<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)&nbsp;
</p>
<h2><a name="peg_sup_plat">Supported Platforms</a></h2>
<p style="margin-left: 40px;">OpenPegasus is regularly tested against a
variety of platforms by the
development group.&nbsp; The results of the nightly tests can be found
here on our <a
 href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
Build and Test Status</a> page.&nbsp; The Release Notes provide
additional details
regarding the platforms.&nbsp;
PEP 287 contains the Release Notes for the 2.6.0 release.<br>
</p>
<h2><a name="peg_dep">Dependencies</a></h2>
<p style="margin-left: 40px;">
We have worked to minimize the dependence of OpenPegasus on other
software
packages and tools. Currently OpenPegasus has the following
dependencies:
</p>
<ol style="margin-left: 40px;">
  <li><b>GNUMAKE</b> - To simplify the building of OpenPegasus across
multiple platforms we
have standardized on a set of build tools including: GNUMAKE. We are
using GNUMAKE 3.79.1 successfully both in Windows and Linux
environments. It is available from <a href="http://www.gnu.org">http://www.gnu.org</a>.
  </li>
  <li><b>FLEX </b>and<b> BISON</b> - These tools were used to develop
the
MOF
compiler and WQL
parser.&nbsp; <font style="color: rgb(0, 0, 0);">These tools are
required only for
development of the parsers, not for building OpenPegasus.</font></li>
  <li><b>DOC++ </b>- The OpenPegasus documentation is taken from a
combination of text files
and header files themselves. This documentation is
formatted with DOC++ and GAWK.&nbsp;&nbsp; <span class="norm"></span><font
 style="color: rgb(0, 0, 0);">These tools are required to build the
interface documentation set.</font> </li>
  <li><b>ICU Internationalization libraries</b> - These libraries are
used as the basis for message catalogs for message
internationalization. See the ICU website
(<a href="http://icu.sourceforge.net/">http://icu.sourceforge.net</a>)
for more information on these
libraries.<span style="color: rgb(255, 0, 0);"></span><br>
  </li>
  <li><span style="font-weight: bold;"></span><b>OpenSSL </b>- If it
is intended to use SSL on the
communication protocol, the OpenSSL libraries are required (<a
 href="http://www.openssl.org">http://www.openssl.org</a>).</li>
  <li><span style="font-weight: bold;">OpenSLP</span> - If you choose
to use
OpenSLP as your choice of SLP implementations, then it will need to be
installed and available to OpenPegasus. Refer to the
PEGASUS_USE_OPENSLP and PEGASUS_OPENSLP_HOME build variables in PEP
277, and the OpenSLP web site (<a href="http://www.openslp.org">http://www.openslp.org</a>).</li>
  <li><span style="font-weight: bold;">zlib</span> - If you choose to
enable the compressed repository feature with the
PEGASUS_ENABLE_COMPRESSED_REPOSITORY build variable, you will need to
install the gzip (GNU zip) compression utility. Refer to
readme.compressed_repository in OpenPegasus source tree, and the gzip
web site (<a style="color: rgb(204, 51, 204);"
 href="http://www.gzip.org">http://www.gzip.org</a>).<br>
  </li>
</ol>
<p style="margin-left: 40px;"><span style="font-weight: bold;">NOTE</span>:
A set of the required
tools for building on the Windows platform is available on the
OpenPegasus <a
 href="http://www.openpegasus.org/pb/index.tpl?CALLER=index.tpl">Tools</a>
web page.<br>
</p>
<h2><a name="cmnd">Commands</a></h2>
<p style="margin-left: 40px;">
The manpages for each of the commands are in the pegasus/rpm/manLinux/
directory (from CVS). </p>
<p style="margin-left: 40px;">To see simple help for each command,
invoke it with the "--help" option.<br>
</p>
<div style="margin-left: 40px;"><span
 style="font-family: times new roman;"></span><span
 style="font-weight: bold;" class="norm"></span><span
 style="font-family: times new roman; font-weight: bold;"><span
 class="norm"></span></span><span style="font-weight: bold;">Some of
the basic commands:</span>
<br>
</div>
<ul>
  <ul>
    <li>cimserver (Start the server
cimserver)</li>
    <li>cimserver -s&nbsp; (Shuts down the cimserver)</li>
    <li>cimserver traceLevel=4 traceComponents=ALL&nbsp; (Starts server
with
config flags)</li>
    <li>cimprovider -l -s&nbsp; (Lists providers and their status)</li>
    <li>cimprovider -e -m OperatingSystemModule&nbsp; (Enables the
OperatingSystem provider)</li>
    <li>cimuser -a -u guest _w &lt;ThePassword&gt; (Adds the user <span
 style="font-style: italic;">guest</span> with specified password)<br>
    </li>
    <li>cimuser -l&nbsp; (Lists the users )</li>
    <li>cimconfig -l -c (Lists the
current config options and their current values)<br>
    </li>
  </ul>
</ul>
<div style="margin-left: 40px;"><span style="font-weight: bold;">NOTE</span>:
<br>
</div>
<ol style="margin-left: 40px;">
  <li>Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf
for
more information about administering the OpenPegasus CIM Server.</li>
  <li>There are some differences between Windows and other
platforms in
starting the server as a daemon/service. Whereas most supported
platforms use
the OpenPegasus <span style="font-weight: bold;">daemon</span>
configuration option to start the CIM Server as a daemon, on
Windows it
must be specifically installed as a service (ex. cimserver -install)
and then
started as a service (cimserver -start). The cimserver --help option
explains the
exact format of the start and stop options.</li>
  <li>The cimuser command is used to manage OpenPegasus users only when
the CIM Server is compiled without the PEGASUS_PAM_AUTHENTICATION
environment variable defined. See PEP
277 for more information.<span style="color: rgb(204, 51, 204);"></span><br>
  </li>
</ol>
<font><font color="RED"><span style="color: rgb(0, 0, 0);"></span></font></font><span
 style="font-family: monospace;"></span>
<h2><a name="docs">Documentation</a></h2>
<p style="margin-left: 40px;"><span
 style="color: rgb(255, 0, 0); text-decoration: line-through;"></span>Much
of
OpenPegasus
is documented in the <a
 href="http://www.openpegasus.org/pp/index.tpl?CALLER=index.tpl">Pegasus
Enhancement Process (PEPs)</a> which are the basis for approval of
OpenPegasus functionality, changes, plans, etc.&nbsp; The approved PEPs
are publicly available on the OpenPegasus web site.<span
 style="color: rgb(255, 0, 0);"><br>
</span></p>
<p style="margin-left: 40px;">Other
documentation available
is an api document (creatable
from the
source tree, see pegasus/doc/apidoc) and other miscellaneous
documentation
in the doc directory. Also, there is a set of Release Notes for each
release in the pegasus root
source directory of CVS.</p>
<p style="margin-left: 40px;">Note that the <a
 href="http://www.openpegasus.org/">OpenPegasus web
site</a> will be the source
of most
documentation in the future, and today is the source of most discussion
and
design documentation. </p>
<h2><a name="part">How to Participate</a></h2>
<p style="margin-left: 40px;"><span class="norm"></span><font
 style="color: rgb(0, 0, 0);">Contributors
are welcome to participate in the OpenPegasus development effort. Join
the mailing list by going to the <a
 href="http://www.openpegasus.org/mailinglists.tpl?CALLER=index.tpl">Mailing
Lists</a> web page from the OpenPegasus site.</font></p>
<h1>
<a name="inst_peg">Installing OpenPegasus</a> </h1>
<h2><a name="download"></a>Download or Checkout</h2>
<p style="margin-left: 40px;">Refer to the <a href="#avail_of_peg">Availability</a>
section for instructions on obtaining source code.<br>
</p>
<p style="margin-left: 40px;">If you want to install pre-built Pegasus
executables instead of building from source code, then refer to the <a
 href="http://www.openpegasus.org/pr/">RPM installation instructions</a>.<br>
</p>
<h2><strong><strong><a name="vfy_req_sw"></a>Verify Dependencies</strong></strong><strong><strong><span
 style="font-weight: normal;"></span></strong></strong></h2>
<p style="margin-left: 40px;"><strong><strong><span
 style="font-weight: normal;">Be</span></strong></strong>fore
you build, install, or run OpenPegasus, be sure you have the proper set
of software
it depends on.&nbsp; Refer to the section <a href="#peg_dep">Dependencies</a>
for
the complete list.<br>
</p>
<strong></strong>
<h2><a name="set_envt_var"><strong>Set the Environment
Variables</strong></a></h2>
<p style="margin-left: 40px;">Before building, installing, or running
OpenPegasus, some environment variables may
have to be defined or updated.&nbsp; See PEP 277 for the full list of
environment variables and configuration options for OpenPegasus. The
minimum set is:<br>
</p>
<ul>
  <ul>
    <li>PEGASUS_ROOT -- The directory
containing the pegasus root directory from CVS.</li>
    <li>PEGASUS_HOME -- The directory
that will contain all output from building and running OpenPegasus, it
can be the same as PEGASUS_ROOT if desired.</li>
    <li>PEGASUS_PLATFORM -- The
platform on which OpenPegasus is being built.<br>
    </li>
  </ul>
</ul>
<h2><a name="bld_peg"></a>Build the Executables<br>
</h2>
<div style="margin-left: 40px;">OpenPegasus
is compiled and linked using a make structure that recurses through the
source tree.<br>
<font><font color="RED"><span
 style="color: rgb(0, 0, 0); font-weight: bold;"><br>
Makefile commands
</span></font></font><br>
<div style="margin-left: 40px;"><font><font color="RED"><span
 style="color: rgb(0, 0, 0); font-weight: bold;"></span></font></font></div>
<br>
Open<font><font color="RED"><span
 style="color: rgb(0, 0, 0); font-weight: bold;"></span></font></font>Pegasus
includes several Makefiles that enable
you to quickly build or
refresh files for the server, clients, providers, test cases, and
repository. To use these Makefiles, type "make" followed by one of the
supplied targets.&nbsp; <br>
<br>
For more information on the
available make targets, enter "make usage" from the PEGASUS_ROOT
directory. A recommended minimum set
to know are:
<br>
<ul>
  <li>usage -- Explains the
available make targets in some detail.</li>
  <li>new -- Clean out all
objects, libs, executables, and the repository.</li>
  <li>build -- Builds
dependencies, compiles, links, and installs the server. After this
OpenPegasus is ready to run.</li>
  <li>alltests - Builds the
repository entries and other resources required by the tests, and then
executes all automated tests.</li>
</ul>
<font><font color="RED"><span
 style="color: rgb(0, 0, 0); font-weight: bold;"></span><span
 style="color: rgb(0, 0, 0);">For a comprehensive</span></font></font>
list of&nbsp; the
make targets, refer to pegasus/Makefile
at the top of the OpenPegasus source directory.<font><font color="RED"><span
 style="color: rgb(0, 0, 0);"></span></font></font><font
 style="text-decoration: line-through; color: rgb(204, 51, 204);"><span
 style="font-weight: bold;"></span></font><br>
</div>
<ul>
</ul>
<h2><a name="pop_peg_rep">Populate the Repository</a> </h2>
<p style="margin-left: 40px;">
Before using OpenPegasus you must populate the repository. Typically,
this
is done during the build process by the 'make repository' target<span
 style="color: rgb(255, 0, 0);"><span
 style="text-decoration: line-through;"></span></span>. However,
you
can also compile MOF (Managed Object Format) code manually with the
cimmof compiler.<br>
</p>
<p style="margin-left: 40px;">The 'make repository' target in pegasus<span
 style="color: rgb(255, 0, 0);"><span
 style="text-decoration: line-through;"></span></span>/Makefile doe<span
 style="color: rgb(255, 0, 0);"><span
 style="text-decoration: line-through;"></span></span>s several things:
</p>
<ul>
  <ul>
    <li><span style="color: rgb(0, 0, 0);">Removes the existing
repository (if one exists).</span><br>
    </li>
    <li>Generates the default
CIM Schema (currently v2.9)
in the repository (skeleton of CIM
objects).&nbsp; Refer to
PEGASUS_CIM_SCHEMA in PEP 277 for alternate versions.<br>
    </li>
    <li>Loads
schema for CIM Server functions (shutdown, add users, etc) and
CIM indications
(SNMP, Events, Alert, Threshold, etc)
internal to Pegasus. </li>
    <li>Registers included CIM Providers (libOSProvider.so,
libDNSProvider.so, … ) in OpenPegasus (which are located in
src/Providers) <br>
    </li>
  </ul>
</ul>
<h2><a name="reg_prov">Register
Providers</a></h2>
<p style="margin-left: 40px;">OpenPegasus registers Providers using a
set of provider registration classes
encoded in MOF. This set of classes is close
to, but not
exactly the same as, the experimental DMTF definition (See the DMTF
Interop
schema, experimental versions starting with 2.6). This will be
harmonized in the future when the DMTF schema is moved to final
status.&nbsp; </p>
<p style="margin-left: 40px;">Registration
is performed by creating instances of the
registration classes that represent the provider module, providers,
capabilities, etc. to be
registered.&nbsp; The easiest way to create a new
registration today is to copy from one of the existing registration
MOFs.&nbsp; See the src/Providers/sample/Load directory for examples of
several registration instance implementations that do work with
OpenPegasus
today.</p>
<h2><a name="note_bld_peg_lnx">Notes about
Building on Linux </a></h2>
<p style="margin-left: 40px;">
To build OpenPegasus on Linux, ensure that you you have the necessary
environment
variables set (eg. PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM).&nbsp;
For
32 bit linux, the definition of PEGASUS_PLATFORM is normally
LINUX_IX86_GNU. Use the g++
compiler to compile and link the executables.<br>
</p>
<h2><a name="bld_peg_win">Notes
about Building on Windows </a></h2>
<p style="margin-left: 40px;">
Use of Windows 2000 SP3 or later is recommended.&nbsp; OpenPegasus is
regularly tested on both Windows 2000 and Windows XP using the
Microsoft Visual C++ compilers.</p>
<p style="margin-left: 40px;">Today we build OpenPegasus on Windows
using a set of Makefiles
contained
in the source distribution, the Microsoft compilers (DevStudio 5.x is
not supported, Visual Studio 6.0 (SP5) or later is supported) and the
GNUMAKE
make utility.&nbsp; Note that you MUST have the OpenPegasus <a
 href="#mu_utility">mu.exe </a>utility compiled and available
before trying to compile OpenPegasus on the normal windows platform.
The
following is the basic setup steps for the environment.
</p>
<p style="margin-left: 40px;">Setup the environment variables and path
for the Micrososft Visual C
compiler.
Typically this can be done by running the VCVARS32.BAT file supplied
with Microsoft Visual C++. (contained in the same directory as cl.exe).
</p>
<p style="margin-left: 40px;">For Windows, try the following for an
example environment: </p>
<blockquote>
  <pre style="margin-left: 40px;">REM call the standard Microsoft .bat for VC 6 setup. <br>call 'C:/Program Files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat' <br>REM Set debug to something if you want to compile in debug mode <br>set PEGASUS_DEBUG=true <br>REM set PEGASUS_ROOT to top of source tree <br>set PEGASUS_ROOT=C:/cimom/pegasus (Note: <span
 class="norm">The '/' characters are intentional and required by the OpenPegasus build system)</span><br>REM set PEGASUS_HOME to where you want repository and executables, it can be the same as PEGASUS_ROOT<br>set PEGASUS_HOME=%PEGASUS_ROOT% <br>REM set PEGASUS_PLATFORM for Windows<br
 style="color: rgb(255, 0, 0);">set PEGASUS_PLATFORM=WIN32_IX86_MSVC<br>REM setup the path to the runtime files. <br>set path=%path%;%PEGASUS_HOME%\bin <br></pre>
</blockquote>
<h3>
<a name="mu_utility">The MU Utility </a></h3>
<p style="margin-left: 40px;">
In order to provide a consistent build structure across multiple
platforms, we
developed a utility to provide a consistent set of functions across
these platforms. The MU utility is a simple utility that
contains
many
commands. For example:
</p>
<p style="margin-left: 40px;"><font face="Courier New">&nbsp;&nbsp;&nbsp;
C:\&gt; mu rm myfile.cpp yourfile.cpp </font>
</p>
<p style="margin-left: 40px;">You may type "mu" to get a list of valid
commands. Here are some
of them:
</p>
<p style="margin-left: 40px;">&nbsp;&nbsp;&nbsp;
rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
</p>
<p style="margin-left: 40px;">The MU utility supports globing
(expansion of wildcards) so
you can do things like this:
</p>
<p style="margin-left: 40px;"><font face="Courier New">&nbsp;&nbsp;&nbsp;
C:\&gt; mu rm *.obj *.exe </font>
</p>
<p style="margin-left: 40px;">MU is required to build under the Windows
environment. MU is
available as part
of the distribution of OpenPegasus.<br>
</p>
<div style="margin-left: 40px;">NOTE: The binary for MU.EXE is not
distributed in the OpenPegasus bin
directory.
You must build it separately. MU source code is part of the
distribution
in the directory src/utils/MU with its own make file. You must compile
MU
before you initiate the OpenPegasus make. A copy of the binary is made
available as a zip file on the OpenPegasus <a
 href="http://www.openpegasus.org/pb/index.tpl?CALLER=index.tpl">Tools</a>
web page.<br>
</div>
<h2><a name="note_bld_peg_ssl">Notes about
Building with SSL
</a></h2>
<p style="margin-left: 40px;">
To build with SSL you need the OpenSSL libraries and header files. They
are NOT distributed with OpenPegasus. Make sure you have them in a
standard
directory so OpenPegasus can find them. If that's not
the case, set the environment variable OPENSSL_HOME= to point where
your OpenSSL
installation is (refer to PEP 277
for more details on build variables).<br>
</p>
<p style="margin-left: 40px;">You
must also have the PEGASUS_HAS_SSL variable defined. Then when you
build
OpenPegasus, it
will include the SSL support.
</p>
<div style="margin-left: 40px;">Refer to the OpenPegasus SSL Guide
(found in doc/PegasusSSLGuidelines.htm)
for details on
using OpenPegasus with SSL,
creating SSL certificates, etc.<br>
</div>
<h1>
<a name="test">Testing an OpenPegasus Installation</a></h1>
<p style="margin-left: 40px;">
OpenPegasus includes an extensive set of test facilities as part of the
CVS
environment, including:
</p>
<ul>
  <ul>
    <li><b>Test Clients</b> - There are several clients that have been
built specifically to test OpenPegasus, or parts of OpenPegasus,
including
TestClient, Client, cimcli, ipinfo,
osinfo, wbemexec,
etc. See the
src/Clients directory for more information. These programs require a
running CIM Server with a
complete repository.&nbsp; Note that some of
these tests use classes and instances that are only installed with the
"make testrepository" target including: test namespaces, extra
classes and instances in those namespaces, and additional sample and
test providers.<span
 style="color: rgb(255, 0, 0); text-decoration: line-through;"></span> </li>
    <li><b>Sample and Test Providers</b> -&nbsp; Test providers exist
for
the major provider types in the src/Providers/sample
and src/Providers/TestProviders directories. </li>
    <li><b>Unit Tests</b> - Most OpenPegasus functions include unit
tests
for
the functions.&nbsp; These are normally executed with the "make
unittests"
top-level target, or "make tests"
which can be executed at many different levels of the source
tree.&nbsp; Usually the unit test functions can be found
in test
directories immediately below their corresponding source code
(i.e&nbsp; Common/tests contains the unit test
functions for the Common
directory). Unit tests are executed with the CIM Server shutdown and
normally do not require the existence of class definitions in the
repository. </li>
    <li><b>An end-to-end Test Suite</b> - the directory "test" contains
a
set of operatio<span
 style="color: rgb(255, 0, 0); text-decoration: line-through;"></span>n
tests that cover the major CIM Operations.&nbsp; See<span
 style="color: rgb(255, 0, 0); text-decoration: line-through;"></span>
TestMakefile in the PEGASUS_ROOT directory to execute
these tests.&nbsp; This set of tests executes an extensive set of fixed
tests and compares the results against predefined results.</li>
  </ul>
</ul>
<h2><a name="test_icu">Testing with ICU enabled</a></h2>
<p style="margin-left: 40px;">ICU (International Components for
Unicode) refers to the set of
libraries that OpenPegasus uses to run with globalization support. For
example, these
libraries are used
to
load messages in different languages, format currency and numbers
according to
a specific locale etc. In order to enable globalization, OpenPegasus
must be built with ICU enabled, ie. the right environment variables
must be
set prior to running "make". Refer to the GlobalizationHOWTO.htm in the
pegasus/docs
directory for details.<br>
</p>
<p style="margin-left: 40px;">When users run "make servertests"
to verify the integrity of an OpenPegasus download, a series of tests
are
run that
require the CIM Server to be running. These tests currently depend on
specific
messages returned from the CIM Server. When ICU is enabled, all
messages
come from the resource bundles and these usually do not match the
hardcoded default messages within OpenPegasus. These hardcoded default
messages are what the various test programs expect in order to complete
successfully. If the ICU-enabled CIM Server is started without
disabling message loading from the bundles, "make servertests"
will
fail.
In order to run "make servertests"
successfully with ICU enabled, an
environment variable called PEGASUS_USE_DEFAULT_MESSAGES must be
defined
prior to
starting OpenPegasus. Once
this is defined, when OpenPegasus starts,
all
messages generated will be the default hardcoded messages. This will
enable
"make servertests"
to complete successfully. Once "make
servertests"
is
complete, you should stop OpenPegasus and
then undefine
PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined,
OpenPegasus
will not be able to load messages
using ICU resource bundles.<br>
</p>
<p style="margin-left: 40px;">When
running the "make unittests"
command with ICU enabled, the PEGASUS_MSG_HOME
environment variable must be set to the home directory where the ICU
resource bundles are built. By default the resource bundles are built
into directories below PEGASUS_HOME/msg, so that should be the setting
for PEGASUS_MSG_HOME.<font style="color: rgb(0, 0, 0);"><br>
</font></p>
<hr>
<p><br>
Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;<br>
EMC Corporation; Symantec Corporation; The Open Group.<br>
<br>
Permission is hereby granted, free of charge, to any person obtaining a
copy<br>
of this software and associated documentation files (the "Software"), to<br>
deal in the Software without restriction, including without limitation
the<br>
rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or<br>
sell copies of the Software, and to permit persons to whom the Software
is<br>
furnished to do so, subject to the following conditions:<br>
<br>
THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED
IN<br>
ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS
PROVIDED<br>
"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT<br>
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR<br>
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT<br>
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN<br>
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION<br>
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<hr>
</body>
</html>