(file) Return to readme.html CVS log (file) (dir) Up to [Pegasus] / pegasus / Attic

Diff for /pegasus/Attic/readme.html between version 1.5 and 1.6

version 1.5, 2004/03/10 19:24:13 version 1.6, 2004/05/13 14:39:29
Line 1 
Line 1 
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html> <html>
   
 <head> <head>
 <meta name="GENERATOR" content="Microsoft FrontPage 5.0">    <meta name="GENERATOR" content="Microsoft FrontPage 3.0">
 <meta name="ProgId" content="FrontPage.Editor.Document"> <meta name="ProgId" content="FrontPage.Editor.Document">
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252">
 <title>OpenPegasus</title> <title>OpenPegasus</title>
 </head> </head>
   
 <body> <body>
   
 <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p> <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p>
 <p style="margin-top: 0; margin-bottom: 0"><b>PEP #:</b> 103</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 103</p>
 <p style="margin-top: 0; margin-bottom: 0"><b>Title: </b>OpenPegasus Version 2.3  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus
 Release Readme file</p>  Version 2.3 Release Readme file</p>
 <p style="margin-top: 0; margin-bottom: 0"><b>Version: </b>1.1</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b>1.1</p>
 <p style="margin-top: 0; margin-bottom: 0"><b>Created:</b> 12 November 2003</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 12
 <p style="margin-top: 0; margin-bottom: 0"><b>Authors: </b>Karl Schopmeyer, Konrad Rzeszutek</p>  November 2003</p>
 <p style="margin-top: 0; margin-bottom: 0"><b>Status:&nbsp; </b>draft</p>  <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Karl
 <p style="margin-top: 0; margin-bottom: 0"><b>Version History:</b></p>  Schopmeyer, Konrad Rzeszutek</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status:  </b>draft</p>
   <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p>
 <table border="1" cellspacing="1" bordercolordark="#666666" <table border="1" cellspacing="1" bordercolordark="#666666"
     bordercolorlight="#CCCCCC" width=100%   bordercolorlight="#CCCCCC" width="100%" style="font-family: Arial;">
     style='font-size=10.0pt;font-family:Arial'>    <tbody>
   <tr>   <tr>
     <th bgcolor="#CAE6CA">Version</th>        <th bgcolor="#cae6ca">Version</th>
     <th bgcolor="#CAE6CA">Date</th>        <th bgcolor="#cae6ca">Date</th>
     <th bgcolor="#CAE6CA">Author</th>        <th bgcolor="#cae6ca">Author</th>
     <th bgcolor="#CAE6CA">Change Description</th>        <th bgcolor="#cae6ca">Change Description</th>
   </tr>   </tr>
   <tr>   <tr>
     <td align="center">1.0</td>     <td align="center">1.0</td>
Line 40 
Line 41 
     <td>Added sections describing SSL and PAM configuration</td>     <td>Added sections describing SSL and PAM configuration</td>
   </tr>   </tr>
   <tr>   <tr>
     <td align="center">&nbsp;</td>        <td align="center"> </td>
     <td align="center">&nbsp;</td>        <td align="center"> </td>
     <td align="center">&nbsp;</td>        <td align="center"> </td>
     <td>&nbsp;</td>        <td> </td>
   </tr>   </tr>
     </tbody>
  </table>  </table>
 <hr> <hr>
 <p><b>Abstract:</b>&nbsp; Installation, build, operation information on the  <p><b>Abstract:</b>  Installation, build, operation information on the
 Pegasus Platform Version 2.3 Release. Note that if this readme conflicts with  Pegasus Platform Version 2.3 Release. Note that if this readme conflicts
 the documentation in the release notes or interface definition documents for a  with the documentation in the release notes or interface definition
 particular release, those documents should be considered authorative. This is a  documents for a particular release, those documents should be
 simplified overview to act as an introduction to Pegasus.</p>  considered authorative. This is a simplified overview to act as an
   introduction to Pegasus.</p>
 <hr> <hr>
   <p align="center"><b><font size="5">OpenPegasus - A Manageability
 <p align="Center"><b><font size="5">OpenPegasus - A Manageability Services Broker  Services Broker for the DMTF CIM/WBEM Standards </font></b></p>
 for the DMTF CIM/WBEM Standards  <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for
 </font>  DMTF CIM objects written in C++ and supported by The Open Group </p>
 </b>  <p align="left"><b>STATUS:</b> Revised November 2003 for  Pegasus
   release version 2.3.0  </p>
 <p align="left">  <p align="center"><b><font size="4">Table of Contents</font></b></p>
 <b>Tagline:</b> OpenPegasus is an object manager for DMTF CIM objects written in C++  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 and supported by The Open Group </p>   href="#Overview"> Overview</a> </p>
   <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <p align="left">   href="#Availability%20of%20Pegasus">Availability of Pegasus</a></p>
   <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <b>STATUS:</b> Revised November 2003 for&nbsp; Pegasus release version 2.3.0   href="#Pegasus%20Major%20Components">Pegasus Major Components</a></p>
 &nbsp;</p>  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
    href="#Pegasus%20Supported%20Platforms">Pegasus Supported Platforms</a></p>
 <p align="center">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <b><font size="4">Table of Contents</font></b><p align="left" style="margin-top: 0; margin-bottom: 0">   href="#Pegasus%20Dependencies">Pegasus Dependencies </a></p>
 <a href="#Overview">&nbsp;Overview</a>  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
    href="#The%20Pegasus%20Directory%20Structure">The Pegasus Directory
 <p align="left" style="margin-top: 0; margin-bottom: 0">  Structure</a> </p>
 <a href="#Availability of Pegasus">Availability of Pegasus</a><p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Pegasus Major Components">Pegasus Major Components</a><p align="left" style="margin-top: 0; margin-bottom: 0">   href="#Pegasus%20Installation">Installation</a> </p>
 <a href="#Pegasus Supported Platforms">Pegasus Supported Platforms</a><p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Pegasus Dependencies">Pegasus Dependencies </a>   href="#Building%20Pegasus">Building Pegasus </a></p>
   <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <p align="left" style="margin-top: 0; margin-bottom: 0">   href="#Populate%20the%20Repository">Populate the Repository</a> </p>
 <a href="#The Pegasus Directory Structure">The Pegasus Directory Structure</a>  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
    href="#Registering%20Providers%20in%20the%20Pegasus%20Environment">Registering
 <p align="left" style="margin-top: 0; margin-bottom: 0">  Providers</a></p>
 <a href="#Pegasus Installation">Installation</a>  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
    href="#The%20MU%20Utility">The MU Utility</a> </p>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Building Pegasus">Building Pegasus </a>   href="#Notes%20about%20Building%20Pegasus%20on%20Linux">Notes about
   Building Pegasus on Linux</a> </p>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Populate the Repository">Populate the Repository</a>   href="#Notes%20about%20Building%20Pegasus%20on%20Mac%20OS%20X/Darwin">Notes
   about Building Pegasus on Mac OS X/Darwin</a></p>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Registering Providers in the Pegasus Environment">Registering   href="#Notes%20about%20Building%20Pegasus%20with%20SSL">Notes on
 Providers</a><p align="left" style="margin-top: 0; margin-bottom: 0">  building Pegasus with SSL</a> </p>
 <a href="#The MU Utility">The MU Utility</a>  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
    href="#Building%20Pegasus%20on%20Windows%202000%20or%20Windows%20XP%20With%20Microsoft%20Visual%20C++">Building
   Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a></p>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Notes about Building Pegasus on Linux">Notes about Building Pegasus on Linux</a>   href="#Installing%20the%20Pegasus%20HTML%20Test%20Client">Installing
   the Pegasus HTML Test Client </a></p>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Notes about Building Pegasus with SSL">Notes on building Pegasus with SSL</a>   href="#Development%20with%20Pegasus%20and%20Pegasus%20Tools">Development
   with Pegasus and Pegasus Tools</a> </p>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++">Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><p align="left" style="margin-top: 0; margin-bottom: 0">   href="#Commands">Commands</a> </p>
 <a href="#Installing the Pegasus HTML Test Client">Installing the Pegasus HTML Test Client  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 </a>   href="#Creating%20SSL%20certifications">Creating SSL certifications</a> </p>
   <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <p align="left" style="margin-top: 0; margin-bottom: 0">   href="#Configuring%20SSL">Configuring Pegasus to use SSL</a> </p>
 <a href="#Development with Pegasus and Pegasus Tools">Development with Pegasus and Pegasus Tools</a>  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
    href="#Configuring%20PAM">Configuring Pegasus to use PAM</a> </p>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <a href="#Commands">Commands</a>   href="#Testing%20with%20ICU%20enabled">Testing with ICU enabled </a></p>
   <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
 <p align="left" style="margin-top: 0; margin-bottom: 0">   href="#Pegasus%20Documentation">Documentation</a> </p>
 <a href="#Creating SSL certifications">Creating SSL certifications</a>  <p align="left" style="margin-top: 0pt; margin-bottom: 0pt;"><a
    href="#Participate%21">Participate</a> </p>
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Configuring SSL">Configuring Pegasus to use SSL</a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Configuring PAM">Configuring Pegasus to use PAM</a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Testing with ICU enabled">Testing with ICU enabled </a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Pegasus Documentation">Documentation</a>  
   
 <p align="left" style="margin-top: 0; margin-bottom: 0">  
 <a href="#Participate!">Participate</a>  
   
 <h1><a name="Overview">Overview</a> </h1> <h1><a name="Overview">Overview</a> </h1>
   <p><b>OpenPegasus (also referred to as Pegasus):</b> Pegasus is an
 <p><b>OpenPegasus (also referred to as Pegasus):</b>  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
 Pegasus is an open-source CIM Server for DMTF CIM objects. It is written  implemenation of the CIMOperations over HTTP operations and their cimxml
 in C++ and includes the Object manager (CIMOM), a set of defined interfaces, an  HTTP encodings, and Interface libraries for both client and providers.
 implemenation of the CIMOperations over HTTP operations and their cimxml HTTP  It is maintained consistent with the DMTF CIM and WBEM specifications
 encodings, and  except for  exceptions noted in the documentation. </p>
 Interface libraries  <p>Pegasus is open source and is covered under the MIT open-source
 for both client and providers. It is maintained  license.</p>
 consistent with the DMTF CIM and WBEM specifications except for&nbsp; exceptions  <p>Pegasus is being developed and maintained under the auspices of The
 noted in the documentation.  Open Group. Pegasus is maintained under the license defined in the doc
 <P>  directory (LICENSE) of this release. This licensing is intended to
 Pegasus is open source and is covered under the MIT open-source license.<P>  support as wide a distribution as possible with minimal demands on the
 Pegasus is being developed and maintained under the auspices of The Open  users. </p>
 Group. Pegasus is maintained under the license defined in the doc directory  <p>More information on this project, access to the CVS, and
 (LICENSE) of this release. This licensing is intended to support as wide a  documentation on Pegasus are available from the OpenGroup WEB site. </p>
 distribution as possible with minimal demands on the users.  <p>    <a href="http://www.opengroup.org">http://www.openpegaus.org</a></p>
 <P>  <p>There are a number of separate documents representing the status and
 More information on this project, access to the CVS, and documentation on  each release of Pegasus </p>
 Pegasus are available from the OpenGroup WEB site.  <ul>
 <P>    <li>What's new for this release - See the PEPs (Pegasus Enhancement
 &nbsp;&nbsp;&nbsp; <a href="http://www.opengroup.org">http://www.openpegaus.org</a><p>  Procedures) release     notes on the Pegasus web site and duplicated in
 There are a number of separate documents representing the status and each  the source top level directory</li>
 release of Pegasus    <li>What's Broken - BUGS - See the ReleaseNotes for this release in
 <ul>  the CVS and the web site     as a Pegasus PEP.</li>
 <li>What's new for this release - See the PEPs (Pegasus Enhancement Procedures)  </ul>
 release notes on the Pegasus web site and duplicated in the source top level  <p>The release notes are available on the WEB site as Pegasus PEP
 directory<li>What's Broken - BUGS - See the ReleaseNotes for this release in the CVS and  documents and in the CVS for each release.</p>
 the web site as a Pegasus PEP.</ul>  
   
   
 <p>The release notes are available on the WEB site as Pegasus PEP documents and  
 in the CVS for each release.</p>  
 <table border="1" cellspacing="1" width="31%" id="AutoNumber3"> <table border="1" cellspacing="1" width="31%" id="AutoNumber3">
     <tbody>
   <tr>   <tr>
     <td width="42%"><b>Release</b></td>     <td width="42%"><b>Release</b></td>
     <td width="58%"><b>Release Notes PEP</b></td>     <td width="58%"><b>Release Notes PEP</b></td>
Line 186 
Line 170 
     <td width="42%">2.3</td>     <td width="42%">2.3</td>
     <td width="58%">PEP 98</td>     <td width="58%">PEP 98</td>
   </tr>   </tr>
     </tbody>
 </table> </table>
   
   
 <h1><a name="Availability of Pegasus">Availability of Pegasus</a></h1> <h1><a name="Availability of Pegasus">Availability of Pegasus</a></h1>
   <p>Pegasus is distributed as open source under the MIT open-source
 <p>Pegasus is distributed as open source under the MIT open-source license. The distribution is available via  license. The distribution is available via CVS and snapshot images in
 CVS and snapshot images in tar and zip file formats on the web site.  tar and zip file formats on the web site. The source code from CVS can
 The source code from CVS can be found at the following Open Group CVS server;  be found at the following Open Group CVS server; </p>
 <p>  <p><font face="Courier New">    cvs.opengroup.org:/cvs/MSB </font></p>
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  <p>using the password authenticating server option (pserve). </p>
 cvs.opengroup.org:/cvs/MSB </font>  <p>Anonymous access for read is with the name and password "anon" as
 <p>  follows: </p>
 using the password authenticating server option (pserve).  <blockquote>
 <p>    <p style="margin-top: 0pt; margin-bottom: 0pt;"><font
 Anonymous access for read is with the name and password &quot;anon&quot; as follows:   face="Courier New">%export
 <blockquote>  CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB </font></p>
 <p style="margin-top: 0; margin-bottom: 0">    <p style="margin-top: 0pt; margin-bottom: 0pt;"><font
 <font face="Courier New">%export CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB   face="Courier New">%cvs login </font></p>
 </font>  </blockquote>
 <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">%cvs login  <p>When requested, enter the password "anon". The source tree is in the
 </font>  directory pegasus. To check out the complete Pegasus source tree just
 </blockquote>  type: </p>
 <p>  <p><font face="Courier New">    cvs co pegasus </font></p>
 When requested, enter the password &quot;anon&quot;.  <p>A Pegasus directory will be created under the current directory and
 The source tree is in the directory pegasus. To check out the complete Pegasus  populated with the complete source tree and documentation. To get the
 source tree just type:  latest updates after a checkout just type this from Pegasus root: </p>
 <p>  <p><font face="Courier New">    cvs update -d </font></p>
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  <p>Active contributors to Pegasus have write access to the CVS
 cvs co pegasus </font>  repository. If you are interested in contributing back to the Pegasus
 <p>  project, (i.e. write (checkin) access to CVS) please request access from
 A Pegasus directory will be created under the current directory and populated  either Martin Kirk (m.kirk@opengroup.org) or Karl Schopmeyer <a
 with the complete source tree and documentation. To get the latest updates   href="mailto:%28k.schopmeyer@opengroup.org">(k.schopmeyer@opengroup.org</a>).</p>
 after a checkout just type this from Pegasus root:  <h1><a name="Pegasus Major Components">Pegasus Major Components</a></h1>
 <p>  <p>The major components of Pegasus are: </p>
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  <ul>
 cvs update -d </font>    <li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for
   providers and clients </li>
 <p>    <li><b>Pegasus Repositories</b> - Today Pegasus provides a defined
 Active contributors to Pegasus have write access to the CVS repository.  class repository     interface and a simple file based class repository.
 If you are interested in contributing back to the Pegasus project,  It also includes an instance     repository. Note that these repository
 (i.e. write (checkin) access to CVS) please request access from either  were created for functionality, not efficieny. It is expected that
 Martin Kirk (m.kirk@opengroup.org) or Karl Schopmeyer  they will be replaced with other implementations of the respository
 <a href="mailto:(k.schopmeyer@opengroup.org">(k.schopmeyer@opengroup.org</a>).  function as the need arises. </li>
     <li><b>Pegasus Client Library</b> - Tools for building Pegasus clients
 <h1>  based on the Pegasus     C++ interfaces and using the WBEM HTTP/XML
 <a name="Pegasus Major Components">Pegasus Major Components</a></h1>  protocols or directly interfacing with Pegasus. </li>
     <li><b>Pegasus Test Clients</b> - Simple test clients being developed
 <p>The major components of Pegasus are:  as part of the Pegasus     development process. These can be seen in the
 <ul>  src/Clients directory and its subdirectories </li>
   <li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for providers and clients    <li><b>Pegasus HTML Test Client</b> - To aid in testing we created a
   </li>  test client for Pegasus     that uses a WEB server (ex. Apache) with a
   <li><b>Pegasus Repositories</b> - Today Pegasus provides a defined class repository  set of CGI modules and HTML to allow the entry     of Pegasus operations
 interface and a simple file based class repository. It also includes  from a WEB browser as forms and the receipt of the response as WEB
 an instance repository. Note that these repository were created for  pages. This has proven useful as a test tool and can be used for a wide
 functionality, not efficieny. It is expected that they will be replaced  variety of     demonstrations. </li>
 with other implementations of the respository function as the need arises.    <li><b>Pegasus Provider Library</b> - Tools for building Pegasus
   </li>  providers using the Pegasus     C++ interfaces. </li>
   <li><b>Pegasus Client Library</b> - Tools for building Pegasus clients based on the Pegasus    <li><b>Pegasus Providers</b> - Providers to illustrate the use of
 C++ interfaces and using the WBEM HTTP/XML protocols or directly  Pegasus services including     providers for test and demonstration. </li>
 interfacing with Pegasus.    <li><b>Pegasus Control Providers</b> - Common services for use by
   </li>  other Pegasus components     to extend Pegasus capabilites. </li>
   <li><b>Pegasus Test Clients</b> - Simple test clients being developed as part of the    <li><b>Pegasus MOF Compiler </b>- There  standalone compiler
 Pegasus development process. These can be seen in the src/Clients directory and  (cimmofl) for MOF files     that can be used to install MOF into the
   its subdirectories  Pegasus schema repository and also to check     syntax. There is also a
   </li>  compiler that operates as a Pegasus client(cimmof) There is also a
   <li><b>Pegasus HTML Test Client</b> - To aid in testing we created a test client for  tool to extract the MOF from the repository. </li>
 Pegasus that uses a WEB server (ex. Apache) with a set of CGI modules and  </ul>
 HTML to allow the entry of Pegasus operations from a WEB browser as forms  <h1><a name="Pegasus Supported Platforms">Pegasus Supported Platforms</a></h1>
 and the receipt of the response as WEB pages. This has proven useful as a  <p>Pegasus is regularly tested against a variety of platforms by the
 test tool and can be used for a wide variety of demonstrations.  development group.  The set of platforms and exact set of compilers for
   </li>  any given release is documented in the Release notes for that release
   <li><b>Pegasus Provider Library</b> - Tools for building Pegasus providers using the Pegasus  (see the CVS source tree root directory or the Pegasus PEP defining the
 C++ interfaces.  ReleaseNotes for any particular release).</p>
   </li>  <p>Generally Pegasus is supported on the following Platforms and
   <li><b>Pegasus Providers</b> - Providers to illustrate the use of Pegasus services  Compilers.</p>
 including providers for test and demonstration.  
   </li>  
   <li><b>Pegasus Control Providers</b> - Common services for use by other Pegasus  
 components to extend Pegasus capabilites.  
   </li>  
   <li><b>Pegasus MOF Compiler </b>- There&nbsp; standalone compiler (cimmofl) for MOF files that can be used  
 to install MOF into the Pegasus schema repository and also to check syntax.  
   There is also a compiler that operates as a Pegasus client(cimmof)  
 There is also a tool to extract the MOF from the repository.  
   
   </li>  
   </ul>  
   
 <h1>  
 <a name="Pegasus Supported Platforms">Pegasus Supported Platforms</a></h1>  
   
 <p>  
 Pegasus is regularly tested against a variety of platforms by the development  
 group.&nbsp; The set of platforms and exact set of compilers for any given  
 release is documented in the Release notes for that release (see the CVS source  
 tree root directory or the Pegasus PEP defining the ReleaseNotes for any  
 particular release).</p>  
   
 <p>  
 Generally Pegasus is supported on the following Platforms and Compilers.</p>  
 <table border="1" cellspacing="1" id="AutoNumber2" width="728"> <table border="1" cellspacing="1" id="AutoNumber2" width="728">
     <tbody>
   <tr>   <tr>
     <td width="169" bgcolor="#99FF99"><b>Platform and OS</b></td>        <td width="169" bgcolor="#99ff99"><b>Platform and OS</b></td>
     <td width="556" bgcolor="#99FF99"><b>Compilers</b></td>        <td width="556" bgcolor="#99ff99"><b>Compilers</b></td>
   </tr>   </tr>
   <tr>   <tr>
     <td width="169">AIX</td>     <td width="169">AIX</td>
Line 309 
Line 268 
   </tr>   </tr>
   <tr>   <tr>
     <td width="169">Windows 2000</td>     <td width="169">Windows 2000</td>
     <td width="556">Microsoft Visual C++ Ver 6 and Microsoft .Net compiler        <td width="556">Microsoft Visual C++ Ver 6 and Microsoft .Net
     Version <font color="#FF0000">7</font></td>  compiler Version <font color="#ff0000">7</font></td>
   </tr>   </tr>
   <tr>   <tr>
     <td width="169">Windows XP</td>     <td width="169">Windows XP</td>
     <td width="556">Microsoft Visual C++ Ver. 6 and Microsoft .Net compiler        <td width="556">Microsoft Visual C++ Ver. 6 and Microsoft .Net
     Version <font color="#FF0000">7</font></td>  compiler Version <font color="#ff0000">7</font></td>
       </tr>
       <tr>
         <td width="169">Mac OS X/Darwin PPC</td>
         <td width="556">gcc (version 3.3)</td>
   </tr>   </tr>
     </tbody>
   </table>   </table>
   <h1><a name="Pegasus Dependencies">Pegasus Dependencies </a></h1>
 <h1>  <p>We have worked to minimize the dependence of Pegasus on other
 <a name="Pegasus Dependencies">Pegasus Dependencies </a></h1>  software packages and tools. Currently Pegasus has the following
   dependencies: </p>
 <p>  <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across
 We have worked to minimize the dependence of Pegasus on other software  multiple platforms we have standardized on a set of build tools
 packages and tools. Currently Pegasus has the following dependencies:  including: GNUMAKE. We are using GNUMAKE 3.79.1 successfully both in
 <p>  Windows and Linux environments. </p>
 <b>1. GNUMAKE</b> - To simplify the building of Pegasus across multiple platforms we  <p>GNUMAKE is available from :</p>
   <p>        <a href="http://www.gnu.org">http://www.gnu.org</a> </p>
 have standardized on a set of build tools including: GNUMAKE. We are using  <p>       NOTE: A set of the required tools for windows platforms is
 GNUMAKE 3.79.1 successfully both in Windows and Linux environments.  available on the openpegasus web site.</p>
 <p>  <p><b>2. MU.EXE </b>- To minimize the difference between Linux and
 GNUMAKE is available from :<p>  Windows for GNUMAKE, we have created a utility called MU.exe. This
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.gnu.org">http://www.gnu.org</a>  utility is required for Pegasus make with ONLY Windows environment. It
   is provided as an alternative to requiring a number of UNIX utilities
 <p>  (SH, RM, etc.) on the windows platform and effectively provides the
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NOTE: A set of the required tools for  functions of these utilities that GNUMAKE needs. MU is not required on
 windows platforms is available on the openpegasus web site.<p>  UNIX or LINUX platforms. </p>
 <b>2. MU.EXE </b>- To minimize the difference between Linux and Windows for GNUMAKE,  <p>NOTE: The binary for MU.EXE is not distributed in the Pegasus bin
 we have created a utility called MU.exe. This utility is required for  directory. You must build it separately. MU source code is part of the
 Pegasus make with ONLY Windows environment. It is provided as an alternative to  distribution in the directory src/utils/MU with its own make file. You
 requiring a number of UNIX utilities (SH, RM, etc.) on the windows platform  must compile MU before you initiate the Pegausu make. </p>
 and effectively provides the functions of these utilities that GNUMAKE  <p>NOTE: A copy of the binary is made available as a zip file on the
 needs. MU is not required on UNIX or LINUX platforms.  Pegasus WEB site. </p>
 <p>  <p>Again, MU is used ONLY if you are using Windows. </p>
 NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory.  <p><b>3. FLEX and BISON</b> - These tools were used to develop the MOF
 You must build it separately. MU source code is part of the distribution  compiler and WQL parser. Anybody intending to recompile the compiler or
 in the directory src/utils/MU with its own make file. You must compile MU  parser from scratch will be required to have these tools. They are only
 before you initiate the Pegausu make.  required if changes need to be made to the files for parsing and
 <p>  compiling. </p>
 NOTE: A copy of the binary is made available as a zip file on the Pegasus  <p><b>4. DLCOMPAT - </b>dlcompat is a dlopen(3) et.al. compatibility
 WEB site.  library for Mac OS X/Darwin.<br>
 <p>  <br>
 Again, MU is used ONLY if you are using Windows.  <strong>NOTE</strong>:  The dlcompat is not distributed with pegasus
   source.<br>
 <p>  <br>
 <b>3. FLEX and BISON</b> - These tools were used to develop the MOF compiler and WQL  dlcomapt is available  from : <br>
 parser. Anybody intending to recompile the compiler or parser from scratch  <br>
 will be required to have these tools. They are only required if changes need  <a href="http://www.opendarwin.org/projects/dlcompat/">http://www.opendarwin.org/projects/dlcompat/</a><br>
 to be made to the files for parsing and compiling.  <br>
 <p><b>4. DOC++ </b>- The Pegasus documentation is taken from a combination of text files  Again, dlcomapt needs to be installed ONLY if you are using Mac OS
 and the Pegasus header files themselves. This documentation is formatted  X/Darwin.</p>
 with DOC++ and GAWK. These tools are required if the documentation is to  <p><b>5. DOC++ </b>- The Pegasus documentation is taken from a
 be recreated but we expect that only the core team will be recreating  combination of text files and the Pegasus header files themselves. This
 documentation.  documentation is formatted with DOC++ and GAWK. These tools are required
   if the documentation is to be recreated but we expect that only the
 <p><b>5. ICU Internationalization libraries</b> - These libraries are used as  core team will be recreating documentation. </p>
 the basis for message catalogs for message internationalization. See the ICU  <p><b>6. ICU Internationalization libraries</b> - These libraries are
 website (http://oss.software.ibm.com/icu/) for more information on these  used as the basis for message catalogs for message internationalization.
 libraries<p>6. <b>OpenSSL </b>- If it is intended to use SSL on the  See the ICU website (http://oss.software.ibm.com/icu/) for more
 communication protocol, the OpenSSL libraries are required.<h1>  information on these libraries</p>
 <a name="The Pegasus Directory Structure">The Pegasus Directory Structure</a></h1>  <p><strong>7</strong>. <b>OpenSSL </b>- If it is intended to use SSL
 <p>  on the communication protocol, the OpenSSL libraries are required.</p>
 Pegasus is distributed as a complete source directory structure that should be  <h1><a name="The Pegasus Directory Structure">The Pegasus Directory
 installed either from one of the snapshots or from CVS.  Structure</a></h1>
 <p>  <p>Pegasus is distributed as a complete source directory structure that
 This structure is generally as follows:<p>  should be installed either from one of the snapshots or from CVS. </p>
 <font face="Courier New">Pegasus Source Structure</font><p>  <p>This structure is generally as follows:</p>
 <font face="Courier New">Pegasus Root directory (PEGASUS_ROOT environment  <p><font face="Courier New">Pegasus Source Structure</font></p>
 variable)</font><ul>  <p><font face="Courier New">Pegasus Root directory (PEGASUS_ROOT
   <li><font face="Courier New"><b>cgi</b> Source for the Pegasus WEB Based Test client  environment variable)</font> </p>
   </font>  <ul>
   <ul>    <li><font face="Courier New"><b>cgi</b> Source for the Pegasus WEB
     <li><font face="Courier New">cgi-bin CGI Directories for WEB demonstration.  Based Test client </font>
 This directory is normally empty but can      <ul>
 be populated from the runtime with the make        <li><font face="Courier New">cgi-bin CGI Directories for WEB
 from cgi.  demonstration. This directory         is normally empty but can be
 </font></li>  populated from the runtime with the make from cgi. </font></li>
     <li><font face="Courier New">htdocs HTML Pages for Pegasus WEB demonstration        <li><font face="Courier New">htdocs HTML Pages for Pegasus WEB
     </font></li>  demonstration </font></li>
     </ul>     </ul>
     </li>     </li>
     <li><font face="Courier New"><b>doc</b> Miscellaneous Pegasus Documents.    <li><font face="Courier New"><b>doc</b> Miscellaneous Pegasus
     </font>  Documents. </font>
     <ul>     <ul>
       <li><font face="Courier New">apidoc - Source for the public api       <li><font face="Courier New">apidoc - Source for the public api
       documentation.</font></li>       documentation.</font></li>
       <li><font face="Courier New">DevManual Source and build files for developers' manual        <li><font face="Courier New">DevManual Source and build files for
 mak General make files (used by other makes)</font></li>  developers' manual mak         General make files (used by other makes)</font></li>
       </ul>       </ul>
       </li>       </li>
       <li><font face="Courier New"><b>mak</b> - Common make files for Pegasus    <li><font face="Courier New"><b>mak</b> - Common make files for
       compilation</font></li>  Pegasus compilation</font></li>
   <li><font face="Courier New"><b>Dummy</b> -</font></li>   <li><font face="Courier New"><b>Dummy</b> -</font></li>
   <li><font face="Courier New"><b>InterfaceArchive</b> -</font></li>   <li><font face="Courier New"><b>InterfaceArchive</b> -</font></li>
   <li><font face="Courier New"><b>rpm</b> - files for rpm installation for Linux</font></li>    <li><font face="Courier New"><b>rpm</b> - files for rpm installation
   <li><font face="Courier New"><b>Schemas</b> - Schemas used in the installation  for Linux</font></li>
   of Pegasus. This includes currently released versions of the DMTF schemas in    <li><font face="Courier New"><b>Schemas</b> - Schemas used in the
   subdirectories (ex. CIM27) and Pegasus local Schemas (ex. </font></li>  installation of Pegasus.     This includes currently released versions
       <li><font face="Courier New"><b>src</b> All Pegasus Source Files  of the DMTF schemas in subdirectories (ex.     CIM27) and Pegasus local
 </font>  Schemas (ex. </font></li>
       <ul>    <li><font face="Courier New"><b>src</b> All Pegasus Source Files </font>
         <li><font face="Courier New"><b>ACEExample</b> Test directrory with examples of the use of ACE (obsolete).      <ul>
         </font></li>        <li><font face="Courier New"><b>ACEExample</b> Test directrory
         <li><font face="Courier New"><b>Clients</b> Source for various test  with examples of the use of         ACE (obsolete). </font></li>
         clients and demonstration clients.</font></li>        <li><font face="Courier New"><b>Clients</b> Source for various
         <li><font face="Courier New"><b>CGICLIENT</b> Pegasus test client that uses a WEB browser  test clients and         demonstration clients.</font></li>
 JAVA Java Client support modules        <li><font face="Courier New"><b>CGICLIENT</b> Pegasus test client
 </font></li>  that uses a WEB browser         JAVA Java Client support modules </font></li>
         <li><font face="Courier New"><b>Pegasus</b> - Core pegasus modules.        <li><font face="Courier New"><b>Pegasus</b> - Core pegasus
         </font>  modules. </font>
         <ul>          <ul>
           <li><font face="Courier New"><b>Client</b> Pegasus Client API Tests            <li><font face="Courier New"><b>Client</b> Pegasus Client API
           depends tests </font></li>  Tests depends tests </font></li>
           <li><font face="Courier New"><b>Common</b> Pegasus Common Functions (C++ source and headers            <li><font face="Courier New"><b>Common</b> Pegasus Common
 tests Test programs for the common functions</font></li>  Functions (C++ source and headers             tests Test programs for
           <li><font face="Courier New"><b>Compiler</b> Pegasus MOF compiler  the common functions</font></li>
 </font></li>            <li><font face="Courier New"><b>Compiler</b> Pegasus MOF
           <li><font face="Courier New"><b>Config</b> Pegasus Configuration  compiler </font></li>
           functions</font></li>            <li><font face="Courier New"><b>Config</b> Pegasus
           <li><font face="Courier New"><b>Consumer</b> Indication Consumer class  Configuration functions</font></li>
           header</font></li>            <li><font face="Courier New"><b>Consumer</b> Indication
           <li><font face="Courier New"><b>ControlProviders</b> Implementation of Pegasus internal providers  Consumer class header</font></li>
           </font></li>            <li><font face="Courier New"><b>ControlProviders</b>
           <li><font face="Courier New"><b>ExportClient</b> Client connect code  Implementation of Pegasus internal             providers </font></li>
           for export of indications</font></li>            <li><font face="Courier New"><b>ExportClient</b> Client
           <li><font face="Courier New"><b>ExportServer</b> Server code for  connect code for export of             indications</font></li>
           import of indications</font></li>            <li><font face="Courier New"><b>ExportServer</b> Server code
           <li><font face="Courier New"><b>Handler</b> Indication handlers. Today  for import of indications</font></li>
           this includes cimxml, SNMP and email handlers</font></li>            <li><font face="Courier New"><b>Handler</b> Indication
           <li><font face="Courier New"><b>HandlerService</b> Common code for  handlers. Today this includes cimxml,             SNMP and email handlers</font></li>
           indication handler service</font></li>            <li><font face="Courier New"><b>HandlerService</b> Common code
           <li><font face="Courier New"><b>IndicationService</b> Common service  for indication handler             service</font></li>
           functions for indication subscription processing</font></li>            <li><font face="Courier New"><b>IndicationService</b> Common
           <li><font face="Courier New"><b>Listener</b> Common code that allows  service functions for             indication subscription processing</font></li>
           CIM Listeners to be created and connected.</font></li>            <li><font face="Courier New"><b>Listener</b> Common code that
           <li><font face="Courier New"><b>Protocol</b> Pegasus Client HTTP/XML Protocol Modules  allows CIM Listeners to be             created and connected.</font></li>
 depends </font></li>            <li><font face="Courier New"><b>Protocol</b> Pegasus Client
           <li><font face="Courier New"><b>Provider</b> Pegasus Provider interface functions  HTTP/XML Protocol Modules             depends </font></li>
           </font></li>            <li><font face="Courier New"><b>Provider</b> Pegasus Provider
           <li><font face="Courier New"><b>ProviderManager</b> Provider Manager service that manages providers  interface functions </font></li>
           </font></li>            <li><font face="Courier New"><b>ProviderManager</b> Provider
           <li><font face="Courier New"><b>ProviderManager2</b> Pluggable Provider Manager service.  Manager service that manages             providers </font></li>
           Today this is not enabled by default It will become the Pegasus            <li><font face="Courier New"><b>ProviderManager2</b> Pluggable
           standard provider manager at some time in the future but for now, see  Provider Manager service.             Today this is not enabled by
           the release notes if you want to enable it.</font></li>  default It will become the Pegasus standard provider manager
           <li><font face="Courier New"><b>Repository</b> Pegasus Repository  at some time in the future but for now, see the release notes if you
           Interfaces and Simple Repository tests </font>  want to enable it.</font></li>
           <ul>            <li><font face="Courier New"><b>Repository</b> Pegasus
             <li><font face="Courier New">Tests for Repository Functions </font>  Repository Interfaces and Simple             Repository tests </font>
             </li>              <ul>
             </ul>                <li><font face="Courier New">Tests for Repository
           </li>  Functions </font></li>
           <li><font face="Courier New"><b>Security</b> Authentication and user              </ul>
           support functions.</font></li>            </li>
           <li><font face="Courier New"><b>Server</b> Pegasus Server Modules            <li><font face="Courier New"><b>Security</b> Authentication
           </font></li>  and user support functions.</font></li>
             <li><font face="Courier New"><b>Server</b> Pegasus Server
   Modules </font></li>
           <li><font face="Courier New"><b>WQL</b> the WQL query language           <li><font face="Courier New"><b>WQL</b> the WQL query language
           interpreter.</font></li>           interpreter.</font></li>
           </ul>           </ul>
           </li>           </li>
           </ul>           </ul>
           </li>           </li>
           <li><font face="Courier New"><b>Providers</b> Pegasus test and required providers    <li><font face="Courier New"><b>Providers</b> Pegasus test and
           </font>  required providers </font>
           <ul>           <ul>
             <li><font face="Courier New"><b>generic</b> A number of             <li><font face="Courier New"><b>generic</b> A number of
             cross-platform providers  cross-platform providers </font></li>
             </font></li>  
             <li><font face="Courier New">IndicationConsumer - Provider that             <li><font face="Courier New">IndicationConsumer - Provider that
             consumes indications</font></li>             consumes indications</font></li>
             <li><font face="Courier New"><b>Linux</b> - A number of linux             <li><font face="Courier New"><b>Linux</b> - A number of linux
             providers</font></li>             providers</font></li>
             <li><font face="Courier New"><b>ManagedSystem</b> Providers             <li><font face="Courier New"><b>ManagedSystem</b> Providers
             associated with managing the Pegasus System</font></li>             associated with managing the Pegasus System</font></li>
             <li><font face="Courier New"><b>slp</b> -&nbsp; Provider for slp        <li><font face="Courier New"><b>slp</b> -  Provider for slp
             service agent support</font></li>             service agent support</font></li>
             <li><font face="Courier New"><b>statistic</b> - Providers for             <li><font face="Courier New"><b>statistic</b> - Providers for
             Pegasus statistics.</font></li>             Pegasus statistics.</font></li>
             <li><font face="Courier New"><b>sample</b> Sample providers for the        <li><font face="Courier New"><b>sample</b> Sample providers for
             major provider types.</font></li>  the major provider types.</font></li>
             <li><font face="Courier New"><b>testproviders</b> </font></li>             <li><font face="Courier New"><b>testproviders</b> </font></li>
             </ul>             </ul>
             </li>             </li>
             <li><font face="Courier New"><b>Server</b> Pegasus executable build    <li><font face="Courier New"><b>Server</b> Pegasus executable build </font></li>
             </font></li>  
             <li><font face="Courier New"><b>slp</b> - </font></li>             <li><font face="Courier New"><b>slp</b> - </font></li>
             <li><font face="Courier New"><b>Standard Includes</b> - </font></li>             <li><font face="Courier New"><b>Standard Includes</b> - </font></li>
             <li><font face="Courier New"><b>test</b> - Directory of end-end    <li><font face="Courier New"><b>test</b> - Directory of end-end tests
             tests that are regularly conducted on Pegasus</font></li>  that are regularly     conducted on Pegasus</font></li>
             <li><font face="Courier New"><b>tools</b> MU and other utilities written for Pegasus support    <li><font face="Courier New"><b>tools</b> MU and other utilities
             </font></li>  written for Pegasus support </font></li>
             <li><font face="Courier New"><b>Unsupported</b> Code that is made available but is not supported or included    <li><font face="Courier New"><b>Unsupported</b> Code that is made
 in the normal make. </font></li>  available but is not     supported or included in the normal make. </font></li>
             <li><font face="Courier New"><b>WMIMapper</b> Pegasus implementation that    <li><font face="Courier New"><b>WMIMapper</b> Pegasus implementation
             provides mapping to Microsoft WMI objects.  that provides mapping     to Microsoft WMI objects. </font></li>
   </ul>
 </font></li>  <p><font face="Courier New">Pegasus Run Time directory structure
             </ul>  (PEGASUS_HOME environment variable). Home directory for runtime. All
 <p>  compiler, linker documentation creation, etc. are put here. </font> </p>
 <font face="Courier New">Pegasus Run Time directory structure (PEGASUS_HOME  <ul>
 environment variable). Home directory for runtime. All compiler, linker    <li><font face="Courier New"><b>bin</b> - Destination for executable
 documentation creation, etc. are put here.  and DLL modules from     Pegasus build. This directory should be make
 </font>  public so that the test functions, clients,     and cimserver can be
             <ul>  executed with minimum effort.</font></li>
               <li><font face="Courier New"><b>bin</b> - Destination for executable and DLL modules from    <li><font face="Courier New"><b>DevManualHTML</b> - HTML output of the
 Pegasus build. This directory should be make public so that the test functions,  Pegasus Manual. This     is only created when the make file for this
               clients, and cimserver can be executed with minimum effort.</font></li>  manual is executed (doc/DevManual) and then     contains the html
               <li><font face="Courier New"><b>DevManualHTML</b> - HTML output of the Pegasus Manual.  representing the document.</font></li>
               This is only created when the make file for this manual is    <li><font face="Courier New"><b>apidochtml</b> - HTML output of the
               executed (doc/DevManual) and then contains the html representing  creation of the public     API document.  This only exists when the make
               the document.</font></li>  file for the api document is executed     (see doc/apidoc/Makefile)</font></li>
               <li><font face="Courier New"><b>apidochtml</b> - HTML output of    <li><font face="Courier New"><b>lib</b> - Destination for Pegasus LIB
               the creation of the public API document.&nbsp; This only exists  modules </font></li>
               when the make file for the api document is executed (see doc/apidoc/Makefile)</font></li>  
               <li><font face="Courier New"><b>lib</b> - Destination for Pegasus LIB modules  
               </font></li>  
               <li><font face="Courier New"><b>log</b> - Standard location for               <li><font face="Courier New"><b>log</b> - Standard location for
               Pegasus Logs</font></li>               Pegasus Logs</font></li>
               <li><font face="Courier New"><b>obj</b> - Destination for object               <li><font face="Courier New"><b>obj</b> - Destination for object
               modules. Note that today, the trace file is located in the               modules. Note that today, the trace file is located in the
               PEGASUS_HOME directory, not in the log directory if Pegasus  PEGASUS_HOME directory, not in the log directory if     Pegasus internal
               internal tracing is enabled.</font></li>  tracing is enabled.</font></li>
               <li><font face="Courier New"><b>repository</b> - This Directory               <li><font face="Courier New"><b>repository</b> - This Directory
               contains the created repository </font></li>               contains the created repository </font></li>
               </ul>               </ul>
   <h1><a name="Pegasus Installation">Pegasus Installation</a> </h1>
 <h1>  <p>Pegasus today is provided only as a source distribution.  Note that
 <a name="Pegasus Installation">Pegasus Installation</a> </h1>  there is code for a Linux RPM distribution but the project is not yet
 <p>  releasing binaies.</p>
 Pegasus today is provided only as a source distribution.&nbsp; Note that there  <p>To install Pegasus, you must check it out using CVS (Common Version
 is code for a Linux RPM distribution but the project is not yet releasing  System) or download a snapshot. You download, compile, and use it. </p>
 binaies.<p>  <p>For the snapshot, the installation of Pegasus involves expanding the
 To install Pegasus, you must check it out using CVS (Common Version System)  snapshot distribution files, building the runtime, the test files and
 or download a snapshot. You download, compile, and use it.  test clients, and building the repository. </p>
 <p>  <h1><a name="Building Pegasus">Building Pegasus </a></h1>
 For the snapshot, the installation of Pegasus involves expanding the snapshot  <p>1. Check that you have requisite programs (listed in Pegasus
 distribution files, building the runtime, the test files and test clients, and  Dependencies). These include GNU Make, MU.EXE (if using Windows), Flex,
 building the repository.  and Bison (Flex and Bison only required if changes will be made to the
 <h1>  MOF compiler or WQL parser). </p>
   <p>Be sure these are on the path. </p>
 <a name="Building Pegasus">Building Pegasus </a>  <p>2. Define the following three environment variables: </p>
   <ul>
               </h1>    <li><b>PEGASUS_ROOT</b> - this should be the "pegasus" directory
   you've pulled     from CVS </li>
 <p>    <li><b>PEGASUS_HOME</b> - to point to a directory to contain output
 1. Check that you have requisite programs (listed in Pegasus Dependencies).  binary files (e.g., set     it to $HOME/pegasus_home). Then the output
   will go into $HOME/pegasus_home/bin and     $HOME/pegasus_home/lib </li>
 These include GNU Make, MU.EXE (if using Windows), Flex, and Bison (Flex    <li><b>PEGASUS_PLATFORM</b> - this must be set to a supported platform
 and Bison only required if changes will be made to the MOF compiler or WQL  identifier.</li>
 parser).  
 <p>  
 Be sure these are on the path.  
   
 <p>  
 2. Define the following three environment variables:  
               <ul>  
                 <li><b>PEGASUS_ROOT</b> - this should be the &quot;pegasus&quot; directory you've pulled from CVS  
                 </li>  
                 <li><b>PEGASUS_HOME</b> - to point to a directory to contain output binary files  
 (e.g., set it to $HOME/pegasus_home). Then the output will go into  
 $HOME/pegasus_home/bin and $HOME/pegasus_home/lib  
                 </li>  
                 <li><b>PEGASUS_PLATFORM</b> - this must be set to a supported  
                 platform identifier.</li>  
                 </ul>                 </ul>
                 <blockquote>                 <blockquote>
 <p>    <p>This identifier has the following form: </p>
 This identifier has the following form:    <p><font face="Courier New">       
 <p>  &lt;Operating-System&gt;_&lt;Architecture&gt;_&lt;Compiler&gt; </font></p>
 <font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    <p>For example (Linux on IA32 platform using the GNU Compiler):
 &lt;Operating-System&gt;_&lt;Architecture&gt;_&lt;Compiler&gt; </font>  LINUX_IX86_GNU </p>
 <p>    <p>For a complete list of platforms supported and platform support
 For example (Linux on IA32 platform using the GNU Compiler):  keywords, refer to the   platform make files found in directory  <font
 LINUX_IX86_GNU   face="Courier New">pegasus/mak</font> </p>
 <p>  </blockquote>
 For a complete list of platforms supported and platform support keywords, refer to the platform make files found in directory&nbsp;  <p>Note: if you plan on doing parallel builds, you might consider
 <font face="Courier New">pegasus/mak</font>  setting PEGASUS_HOME to something like this: </p>
   <p><font face="Courier New">    $HOME/pegasus_home_LINUX_IX86_GNU </font></p>
                 </blockquote>  <p>That way, the output of each build will be placed in its own
   directory. </p>
 <p>  <p>3. Now place $PEGASUS_HOME/bin on your path </p>
 Note: if you plan on doing parallel builds, you might consider setting  <p>         and </p>
 PEGASUS_HOME to something like this:  <p>    Place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH (for Unix only).
 <p>  For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib </p>
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  <p>4. Change to the root of the Pegasus distribution and type "make"
 $HOME/pegasus_home_LINUX_IX86_GNU </font>  (where make refers to GNU make). </p>
 <p>  <p>5. Then create the repository, which is needed to serve data. "make
 That way, the output of each build will be placed in its own directory.  repository". Note that to create the additional namespaces, etc. that
 <p>  represent the test support you can also execute "make testrepository:</p>
 3. Now place $PEGASUS_HOME/bin on your path  <p>6. To test the build type "make tests". The following make targets
 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and  are supported: </p>
 <p>  <ul>
 &nbsp;&nbsp;&nbsp;    <li>&lt;default&gt; - Build everything. </li>
 Place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH (for Unix only).    <li>clean - Clean out all objects, libs, and executables. </li>
 For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib    <li>depend - Create the dependencies. </li>
 <p>    <li>repository - Create the repository in $PEGASUS_HOME/repository </li>
 4. Change to the root of the Pegasus distribution and type &quot;make&quot;    <li>tests - Execute all tests (except client server tests). </li>
 (where make refers to GNU make).    <li>rebuild - clean, depend, &lt;default&gt; </li>
 <p>    <li>world - depend, &lt;default&gt; </li>
 5. Then create the repository, which is needed to serve data.  </ul>
 &quot;make repository&quot;. Note that to create the additional namespaces, etc.  <p>The Pegasus Client server tests are executed separately from the
 that represent the test support you can also execute &quot;make testrepository:<p>  above because they require the initiation of separate process for the
 6. To test the build type &quot;make tests&quot;.  Pegasus server and Pegasus client. To execute these tests please refer
 The following make targets are supported:  to the scripts in pegasus/mak/BuildMakefile - refer to the prestarttests
 <UL>  and poststarttests. </p>
 <li>&lt;default&gt; - Build everything.  <p>For information on particular installation characteristics, tools,
 <li>clean - Clean out all objects, libs, and executables.  etc. for each platform see the appropriate sections below: </p>
 <li>depend - Create the dependencies.  <p>Generally the build commands are as follows: </p>
 <li>repository - Create the repository in $PEGASUS_HOME/repository  
 <li>tests - Execute all tests (except client server tests).  
 <li>rebuild - clean, depend, &lt;default&gt;  
 <li>world - depend, &lt;default&gt;  
 </UL>  
 The Pegasus Client server tests are executed separately from the above because  
 they require the initiation of separate process for the Pegasus server and  
 Pegasus client. To execute these tests please refer to the scripts in  
 pegasus/mak/BuildMakefile - refer to the prestarttests and poststarttests.  
 <p>  
 For information on particular installation characteristics, tools, etc. for  
 each platform see the appropriate sections below:  
 <p>  
 Generally the build commands are as follows:  
                 <ol>                 <ol>
                   <li>There is a Makefile in the Pegasus root directory. Simply executing    <li>There is a Makefile in the Pegasus root directory. Simply
 make in the Pegasus root directory will make everything. &quot;make rebuild&quot;  executing make in the Pegasus     root directory will make everything.
 will clean and rebuild everything. The &quot;make rebuild&quot; will also populate  "make rebuild" will clean and rebuild     everything. The "make rebuild"
 the repository with the current CIM Schemas.  will also populate the repository with the     current CIM Schemas. </li>
                   </li>    <li>To test a fresh release, go to the pegasus root and type "<font
                   <li>To test a fresh release, go to the pegasus root and type   face="Courier New">make     world</font>".  This will build
 &quot;<font face="Courier New">make world</font>&quot;.&nbsp;  dependencies, build binaries, and then run all     tests except the
 This will build dependencies, build binaries, and then run all  Client/Server tests. </li>
 tests except the Client/Server tests.    <li>To execute the basic test suite that is shipped with pegasus
                   </li>  type  "make     tests". This also reinstalls the repository.  Running
                   <li>To execute the basic test suite that is shipped with pegasus type&nbsp;  "make -s tests"     suppresses extraneous output such as the enter/leave
 &quot;make tests&quot;. This also reinstalls the repository.&nbsp;  directory messages. </li>
 Running &quot;make -s tests&quot; suppresses extraneous output such as the    <li>"make clean" removes all object and library files from the
 enter/leave directory messages.  structure. </li>
                   </li>    <li>A new build system has been added to Pegasus where a new CVS
                   <li>&quot;make clean&quot; removes all object and library files from the structure.  checkout is done, built,     and tests are run. Do it by: "make -f
   mak/BuildMakefile cleanbuild" </li>
                   </li>  
                   <li>A new build system has been added to Pegasus where a new CVS checkout is  
 done,  
 built, and tests are run. Do it by: &quot;make -f mak/BuildMakefile cleanbuild&quot;  
   
                   </li>  
                   </ol>                   </ol>
   <h1><a name="Populate the Repository">Populating the Pegasus Repository</a> </h1>
 <h1>  <p>Before using Pegasus you must populate the repository.. The makefile
 <a name="Populate the Repository">Populating the Pegasus Repository</a> </h1>  does it all for you, but in case you are wondering what it does or how
   to do it manually: </p>
 <p>  
 Before using Pegasus you must populate the repository.. The makefile  
 does it all for you, but in case you are wondering what it does or how to do it  
   
 manually:  
 <ol> <ol>
 <LI>Register the MOF (Managed Object Format) file describing the skeleton of the    <li>Register the MOF (Managed Object Format) file describing the
 object.  skeleton of the object. </li>
 <li>Register a second MOF which only points out which lib*.so file to be loaded    <li>Register a second MOF which only points out which lib*.so file to
 when a  be loaded when a     specific object is activated. </li>
 specific object is activated.  
 </ol> </ol>
 This is done automatically for the providers included in Pegasus by doing:  <p>This is done automatically for the providers included in Pegasus by
 make repository.  doing: make repository. </p>
 <p>  <p>The 'make repository' in pegasus/Schemas does three things Runs MOF
 The 'make repository' in pegasus/Schemas does three things  compiler (cimmofl) on: -Schema v2.7 Generates the CIM Schema v2.7 in the
 Runs MOF compiler (cimmofl) on:  repository (skeleton of CIM objects) -PG_InterOp Internal to Pegasus
 -Schema v2.7  schema for operating (shutdown, add users, etc) CIM_Indication’s (SNMP,
 Generates the CIM Schema v2.7 in the repository (skeleton of CIM objects)  Events, Alert, Threshold, etc) -PG_ManagedSystem Registers included CIM
 -PG_InterOp  Providers (libOSProvider.so, libDNSProvider.so, … ) in Pegasus (which
 Internal to Pegasus schema for operating (shutdown, add users, etc)  are located in src/Providers) </p>
 CIM_Indication’s (SNMP, Events, Alert, Threshold, etc)  <p>For more information about using the MOF compiler, refer to user's
 -PG_ManagedSystem  manual on the openpegasus.org. </p>
 Registers included CIM Providers (libOSProvider.so, libDNSProvider.so, … )  <h1><a name="Testing a Pegasus Installation">Testing a Pegasus
 in Pegasus (which are located in src/Providers)  Installation</a></h1>
 <p>  <p>Pegasus includes an extensive set of test facilities  as part of the
 For more information about using the MOF compiler, refer to user's manual on the  CVS enviromentthat can be executed including: </p>
   <ul>
 openpegasus.org.    <li><b>Test Clients</b> - There are several clients that have been
   built specifically to     test Pegasus or parts of Pegasus including
 <h1>  TestClient, Client, CLI, ipinfo, osinfo,     WbemEsec, etc. See the
 <a name="Testing a Pegasus Installation">Testing a Pegasus Installation</a></h1>  src/Clients directory for more information. These programs require a
 <p>  server complete with repository to be running.  Note that some of these
 Pegasus includes an extensive set of test facilities&nbsp; as part of the CVS  tests use     classes and instances that are only installed with the
 enviromentthat can be executed including:<ul>  "make testrepository"     functions including test namespaces and extra
   <li><b>Test Clients</b> - There are several clients that have been built  classes and instances in those namespaces     and additional providers
   specifically to test Pegasus or parts of Pegasus including TestClient, Client,  from the providers/sample and proviers/testproviders directories.</li>
   CLI, ipinfo, osinfo, WbemEsec, etc. See the src/Clients directory for more    <li><b>Sample and test providers</b> -  Test providers exist for the
   information. These programs require a server complete with repository to be  major provider     types in the providers/sample directories and the
   running.&nbsp; Note that some of these tests use classes and instances that  providers/testProviders directory</li>
   are only installed with the &quot;make testrepository&quot; functions including test    <li><b>Unit Tests</b> - Most Pegasus functions include unit tests for
   namespaces and extra classes and instances in those namespaces and additional  the functions.      These are normally executed with the "make tests"
   providers from the providers/sample and proviers/testproviders directories.</li>  command which can be executed     at many different levels of the source
   <li><b>Sample and test providers</b> -&nbsp; Test providers exist for the  tree from the top level to execute all of the unit     tests to
   major provider types in the providers/sample directories and the providers/testProviders  individual directories.  Usually the unit test functions can be found in
   directory</li>  test directories immediately below their corresponding source code
   <li><b>Unit Tests</b> - Most Pegasus functions include unit tests for the  (i.e  common/tests     is the unit test functions for the common
   functions.&nbsp; These are normally executed with the &quot;make tests&quot; command  directory). Unit tests are executed without the     server being
   which can be executed at many different levels of the source tree from the top  operational and normally do not require the existence of a Class
   level to execute all of the unit tests to individual directories.&nbsp;  
   Usually the unit test functions can be found in test directories immediately  
   below their corresponding source code (i.e&nbsp; common/tests is the unit test  
   functions for the common directory). Unit tests are executed without the  
   server being operational and normally do not require the existence of a Class  
   repository.</li>   repository.</li>
   <li><b>An end-to-end Test Suite</b> - the directory &quot;test&quot; contains a set of    <li><b>An end-to-end Test Suite</b> - the directory "test" contains a
   operations tests that cover the major CIM operations.&nbsp; See the make file  set of     operations tests that cover the major CIM operations.  See
   TestMakefile in the PEGASUS_ROOT directory to execute these tests.&nbsp; This  the make file TestMakefile     in the PEGASUS_ROOT directory to execute
   set of tests executes an extensive set of fixed tests and compares the results  these tests.  This set of tests executes an     extensive set of fixed
   against predefined results.</li>  tests and compares the results against predefined results.</li>
   </ul>  </ul>
   <h1><a name="Registering Providers in the Pegasus Environment">Registering
 <h1>  Providers in the Pegasus Environment</a></h1>
 <a name="Registering Providers in the Pegasus Environment">Registering Providers  <p>Pegasus registers providers with a set of provider registration
 in the Pegasus Environment</a></h1>  classes, not using the provider qualifier as is done in most DMTF CIM
   CIMOM implementations today. This set of classes is close to but not
 <p>  exactly the same as the current DMTF definition (See the DMTF Interop
 Pegasus registers providers with a set of provider registration classes, not  schema, experimental versions starting with 2.6). This will be
 using the provider qualifier as is done in most DMTF CIM CIMOM implementations  harmonized in the future when the DMTF scheme is moved to final status.  </p>
 today. This set of classes is close to but not exactly the same as the current  <p>Registration is performed by defining a MOF for the instances of the
 DMTF definition (See the DMTF Interop schema, experimental versions starting  registration classes that represent the porvider module, providers,
 with 2.6). This will be harmonized in the future when the DMTF scheme is moved  classes, etc. to be registered.  The easiest way to create a new
 to final status.&nbsp; </p>  registration today is to copy from one of the existing registration
   MOFs.  See the providers/sample/load directory for examples of several
 <p>  registration instance implementations that do work with Pegasus today.</p>
 Registration is performed by defining a MOF for the instances of the  <h1><a name="The MU Utility">The MU Utility </a></h1>
 registration classes that represent the porvider module, providers, classes,  <p>In order to provide a consistent build structure across multiple
 etc. to be registered.&nbsp; The easiest way to create a new registration today  platforms, we developed a small utility to provide a consistent set of
 is to copy from one of the existing registration MOFs.&nbsp; See the  small utilities across these platforms. The MU utilityis a simple
 providers/sample/load directory for examples of several registration instance  utility that contains many commands. For example: </p>
 implementations that do work with Pegasus today.</p>  <p><font face="Courier New">    C:\&gt; mu rm myfile.cpp yourfile.cpp </font></p>
   <p>You may type "mu" to get a list of valid commands. Here are some of
 <h1>  them: </p>
 <a name="The MU Utility">The MU Utility </a></h1>  <p>    rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare
   depend </p>
 <p>  <p>The MU utility supports globing (expansion of wildcards) so you can
 In order to provide a consistent build structure across multiple platforms, we  do things like this: </p>
 developed a small utility to provide a consistent set of small utilities  <p><font face="Courier New">    C:\&gt; mu rm *.obj *.exe </font></p>
 across these platforms. The MU utilityis a simple utility that contains many  <p>MU is required to build under the Windows environment. MU is
 commands. For example:  available as part of the distribution of Pegasus. </p>
   <h1><a name="Notes about Building Pegasus on Linux">Notes about
 <p>  Building Pegasus on Linux </a></h1>
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  <p>No problem. Just make sure you have the environment variables set
 C:\&gt; mu rm myfile.cpp yourfile.cpp </font>  (PEASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM.  For 32 bit linux, the
   defintion of PEGASUS_PLATFORM is normally LINUX_IX86_GNU. </p>
 <p>  <p> </p>
 You may type &quot;mu&quot; to get a list of valid commands. Here are some  <h1><a name="Notes about Building Pegasus on Mac OS X/Darwin">Notes
 of them:  about Building Pegasus on Mac OS X/Darwin</a><a
    name="Notes about Building Pegasus on Linux"> </a></h1>
 <p>  <p>No problem. Just make sure you have the environment variables set
 &nbsp;&nbsp;&nbsp;  (PEASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM. For Mac OS X/Darwin, the
 rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend  defination of PEGASUS_PLATFORM is <br>
   DARWIN_PPC_GNU.</p>
 <p>  <p> </p>
 The MU utility supports globing (expansion of wildcards) so  <h1><a name="Notes about Building Pegasus with SSL">Notes about
 you can do things like this:  Building Pegasus with SSL </a></h1>
 <p>  <p>To build with SSL you need the OpenSSL libraries and header files.
   They are NOT distributed with Pegasus. Make sure you have them in a
 <font face="Courier New">&nbsp;&nbsp;&nbsp;  standard directory so Pegasus can find them. If that's not the case, set
   the environment variable OPENSSL_HOME= to point where your OpenSSL
 C:\&gt; mu rm *.obj *.exe </font>  installation is. </p>
 <p>  <p>Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make'
 MU is required to build under the Windows environment. MU is available as part  in Pegasus directory and you will have Pegasus with SSL enabled. See
 of the distribution of Pegasus.  section "Creating SSL certificates" for more information of how to use
   SSL. </p>
 <h1>  <h1><a
 <a name="Notes about Building Pegasus on Linux">Notes about Building Pegasus on   name="Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++">Building
 Linux </a></h1>  Pegasus on Windows 2k or Windows XP with Microsoft Visual C++ </a></h1>
 <p>  <p>Use of Windows 2000 SP3 or later is recommended.  Pegasus is
 No problem. Just make sure you have the environment variables set (PEASUS_HOME,  regularly tested on both Windows 2000 and Windows XP using the Microsoft
 PEGASUS_ROOT, PEGASUS_PLATFORM.&nbsp; For 32 bit linux, the defintion of  compilers.</p>
 PEGASUS_PLATFORM is normally LINUX_IX86_GNU.  <p>Today we build Pegasus on Windows using a set of make files
   contained in the source distribution, the Microsoft compilers (DevStudio
 <h1><a name="Notes about Building Pegasus with SSL">Notes about Building Pegasus with SSL  5.x is not supported, Visual Studio 6.0, SP5 is supported) and the
 </a></h1>  GNUMAKE make utility.  Note that you MUST have the Pegasus <a
 <p>   href="#The%20MU%20Utility">mu.exe </a>utility compiled and available
 To build with SSL you need the OpenSSL libraries and header files. They are NOT  before trying to compile Pegasus on the normal windows platform. The
 distributed with Pegasus. Make sure  following is the basic setup steps for the environment. </p>
 you have them in a standard directory so Pegasus can find them. If that's not  <p>Setup the environment variables and path for the Micrososft Visual C
   compiler. Typically this can be done by running the VCVARS32.BAT file
 the case, set the environment variable OPENSSL_HOME= to point where your  supplied with Microsoft Visual C++. (contained in the same directory as
 OpenSSL  cl.exe). </p>
 installation is.  <p>For Windows, try the following for an example environment: </p>
 <p>  <blockquote>
 Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make' in Pegasus    <pre>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 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 <br>REM set PEGASUS_HOME to where you want repository and executables<br>set PEGASUS_HOME=%PEGASUS_ROOT% <br>REM setup the path to the runtime files. <br>set path=%path%;%PEGASUS_HOME%/bin <br></pre>
 directory and you will have Pegasus with SSL enabled. See section &quot;Creating SSL  </blockquote>
   <h1><a name="Installing the Pegasus HTML Test Client">Installing the
 certificates&quot; for more information of how to use SSL.  Pegasus HTML Test Client</a></h1>
   <p>This is a separate test tool that allows Pegasus requests to be
 <h1>  initiated from any WEB browser and that uses a WEB browser, CGI scripts
 <a name="Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++">  and HTML pages for the formatting and connections. It requires a WEB
 Building Pegasus on Windows 2k  or Windows XP with Microsoft Visual C++ </a></h1>  server, etc. The instructions for setting up this environment are
   maintained in a separate readme in the CGI directory. </p>
 <p>  <h1><a name="Development with Pegasus and Pegasus Tools">Development
 Use of Windows 2000 SP3 or later is recommended.&nbsp; Pegasus is regularly  with Pegasus and Pegasus Tools</a></h1>
 tested on both Windows 2000 and Windows XP using the Microsoft compilers.<p>  <p>ATTN: This section needs to be completed. It should reference the
 Today we build Pegasus on Windows using a set of make files contained  more complete documentation.</p>
 in the source distribution, the Microsoft compilers (DevStudio 5.x is not  <h1><a name="Commands">Commands</a></h1>
 supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE make utility.&nbsp;  <p>The manpages for each of the commands are in rpm/manLinux/man1.Z
 Note that you MUST have the Pegasus <a href="#The MU Utility">mu.exe </a>utility  directory (on CVS) </p>
 compiled and available before trying to compile Pegasus on the normal windows  <p>To see simple help for each of the commands, use the "-h" flag. </p>
 platform. The  <blockquote>
     <pre>Examples:<br>bin/cimserver –s (Shuts it down)<br>bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags)<br>bin/cimprovider –l –s (lists providers and their status)<br>bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider)<br>bin/cimuser –a –u guest –w ThePassword<br>bin/cimuser –l (lists the users)<br>bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type)<br></pre>
 following is the basic setup steps for the environment.  </blockquote>
 <p>  <h1><a name="Creating SSL certifications">Creating SSL certifications </a></h1>
   <p>Please follow section <a
 Setup the environment variables and path for the Micrososft Visual C compiler.   href="#Notes%20about%20Building%20Pegasus%20with%20SSL">Notes on
   building Pegasus with SSL</a> before embarking on this endeavour. <br>
 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>  
 For Windows, try the following for an example environment:  
   <blockquote>  
 <pre>REM call the standard Microsoft .bat for VC 6 setup.  
 call 'C:/Program Files/Microsoft Visual Studio/VC98/Bin/Vcvars32.bat'  
 REM Set debug to something if you want compile in debug mode  
 set PEGASUS_DEBUG=true  
 REM set PEGASUS_ROOT to top of source tree  
 set PEGASUS_ROOT=C:/cimom/pegasus  
 REM set PEGASUS_HOME to where you want repository and executables  
 set PEGASUS_HOME=%PEGASUS_ROOT%  
 REM setup the path to the runtime files.  
 set path=%path%;%PEGASUS_HOME%/bin  
 </pre>  
 </blockquote><h1><a name="Installing the Pegasus HTML Test Client">Installing the Pegasus HTML Test Client</a></h1><p>  
 This is a separate test tool that allows Pegasus requests to be initiated from  
 any WEB browser and that uses a WEB browser, CGI scripts and HTML pages for  
 the formatting and connections. It requires a WEB server, etc. The  
 instructions for setting up this environment are maintained in a separate readme in the CGI directory. <h1><a name="Development with Pegasus and Pegasus Tools">Development with Pegasus and Pegasus Tools</a></h1><p>  
 ATTN: This section needs to be completed. It should reference the more complete  
 documentation.<h1><a name="Commands">Commands</a></h1><p>  
 The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on  
 CVS) <p>  
 To see simple help for each of the commands, use the &quot;-h&quot; flag. <blockquote><pre>Examples:  
 bin/cimserver –s (Shuts it down)  
 bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags)  
 bin/cimprovider –l –s (lists providers and their status)  
 bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider)  
 bin/cimuser –a –u guest –w ThePassword  
 bin/cimuser –l (lists the users)  
 bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type)  
 </pre>  
 </blockquote><h1><a name="Creating SSL certifications">Creating SSL certifications </a></h1><p>  
 Please follow section <a href="#Notes about Building Pegasus with SSL">Notes on building Pegasus with SSL</a> before embarking on this endeavour.  
 <br><br>  
 Type these commands in your shell to create the SSL certifications. The PEGASUS_ROOT  
 and PEGASUS_HOME have to be set to your respective installation and source directory.  
   
 <blockquote><pre>CN=&quot;Common Name&quot;  
 EMAIL=&quot;test@email.address&quot;  
 HOSTNAME=`uname -n`  
 sed -e &quot;s/$CN/$HOSTNAME/&quot; \  
 -e &quot;s/$EMAIL/root@$HOSTNAME/&quot; $PEGASUS_ROOT/ssl.cnf \  
 &gt; $PEGASUS_HOME/ssl.cnf  
 chmod 644 $PEGASUS_HOME/ssl.cnf  
 chown bin $PEGASUS_HOME/ssl.cnf  
 chgrp bin $PEGASUS_HOME/ssl.cnf  
   
 /usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \  
 -nodes -config $PEGASUS_HOME/ssl.cnf \  
 -keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem  
   
 cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem &gt; $PEGASUS_HOME/server.pem  
 rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem  
 cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem  
   
 </pre></blockquote>  
 <h1><a name="Configuring SSL">Configuring Pegasus to use SSL</a></h1><p>  
   
 Please follow section <a href="#Notes about Building Pegasus with SSL">Notes on building Pegasus with SSL</a> and <a href="#Creating SSL certifications">Creating SSL certifications</a>  
 before embarking on this endeavour.<br><br>  
   
 To configure Pegasus to take advantage of SSL, configure  
 CIMServer to have the following configuration options set to:  
 <blockquote><pre>  
         sslTrustFilePath=client.pem  
         sslCertificateFilePath=server.pem  
         sslKeyFilePath=file.pem  
         httpsPort=5989  
         enableHttpsConnection=true  
 </pre></blockquote>  
 using the <b>cimconfig</b> utility:  
 <blockquote><pre>  
         cimconfig -p -s enableHttpsConnection=true  
 </pre></blockquote><br>  
 (The client.pem and server.pem are the certifications  
 files created per the steps in the earlier section).  
   
 For good riddance you might consider closing down  
 the cleartext 5988 port. Modify your CIMServer configuration  
 to include:  
 <blockquote><pre>  
         enableHttpConnection=false  
 </pre></blockquote>  
 using <b>cimconfig</b>.  
 <h1><a name="Configuring PAM">Configuring Pegasus to use PAM</a></h1><p>  
   
 In order to use PAM Authentication you have to compile Pegasus  
 with one extra enviroment flags:  
 <blockquote><pre>  
         PEGASUS_PAM_AUTHENTICATION=1  
 </blockquote></pre>  
 You can also set the PEGASUS_ALWAYS_USE_PAM=1 flag to disable  
 Pegasus password authentication using a flag text-file (recommended).  
 <br> <br>
 After compiling (refer to section <a href="#Building Pegasus">Building Pegasus </a>  Type these commands in your shell to create the SSL certifications. The
  for details), follow these two important steps:  PEGASUS_ROOT and PEGASUS_HOME have to be set to your respective
   installation and source directory. </p>
   <blockquote>
     <pre>CN="Common Name"<br>EMAIL="test@email.address"<br>HOSTNAME=`uname -n`<br>sed -e "s/$CN/$HOSTNAME/" \<br>-e "s/$EMAIL/root@$HOSTNAME/" $PEGASUS_ROOT/ssl.cnf \<br>&gt; $PEGASUS_HOME/ssl.cnf<br>chmod 644 $PEGASUS_HOME/ssl.cnf<br>chown bin $PEGASUS_HOME/ssl.cnf<br>chgrp bin $PEGASUS_HOME/ssl.cnf<br><br>/usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \<br>-nodes -config $PEGASUS_HOME/ssl.cnf \<br>-keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem <br><br>cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem &gt; $PEGASUS_HOME/server.pem<br>rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem<br>cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem<br><br></pre>
   </blockquote>
   <h1><a name="Configuring SSL">Configuring Pegasus to use SSL</a></h1>
   <p>Please follow section <a
    href="#Notes%20about%20Building%20Pegasus%20with%20SSL">Notes on
   building Pegasus with SSL</a> and <a
    href="#Creating%20SSL%20certifications">Creating SSL certifications</a>
   before embarking on this endeavour.<br>
 <br> <br>
 <ul>  To configure Pegasus to take advantage of SSL, configure CIMServer to
  <ul>a).  Copy the rpm/wbem file in-to /etc/pam.d directory.  have the following configuration options set to: </p>
       This notifies PAM what kind of libraries to use when authenticating  <blockquote>
       Pegasus.</uL>    <pre> sslTrustFilePath=client.pem<br> sslCertificateFilePath=server.pem<br>   sslKeyFilePath=file.pem<br>     httpsPort=5989<br>      enableHttpsConnection=true<br></pre>
  <ul>  </blockquote>
  b).  Modify CIMServer configuration options:  <p>using the <b>cimconfig</b> utility: </p>
         <blockquote><pre>  <blockquote>
         usePAMAuthentication=true    <pre> cimconfig -p -s enableHttpsConnection=true<br></pre>
         enableAuthentication=true  </blockquote>
         </blockquote></pre>  <p><br>
       And if you want to allow 'root' to login (*not recommended*)  (The client.pem and server.pem are the certifications files created per
   the steps in the earlier section). For good riddance you might consider
         <blockquote><pre>  closing down the cleartext 5988 port. Modify your CIMServer
         enableRemotePrivilegedUserAccess=true  configuration to include: </p>
         </blockquote></pre>  <blockquote>
     <pre> enableHttpConnection=false<br></pre>
         using the <b>cimconfig</b> utility, such as:  </blockquote>
         <blockquote><pre>  <p>using <b>cimconfig</b>. </p>
         cimconfig -p -s usePAMAuthentication=true  <h1><a name="Configuring PAM">Configuring Pegasus to use PAM</a></h1>
         </pre></blockquote>  <p>In order to use PAM Authentication you have to compile Pegasus with
   </ul>  one extra enviroment flags: </p>
 </ul>  <blockquote>
 The user is authenticated using HTTP Basic method, thererfore it is    <pre> PEGASUS_PAM_AUTHENTICATION=1<br></pre>
 strongly suggested you use SSL connection instead of normal HTTP connection.  </blockquote>
 Refer to section  <p>You can also set the PEGASUS_ALWAYS_USE_PAM=1 flag to disable
 <a href="#Configuring SSL">Configuring Pegasus to use SSL</a> for more details on creating and using SSL keys.  Pegasus password authentication using a flag text-file (recommended). <br>
   After compiling (refer to section <a href="#Building%20Pegasus">Building
   Pegasus </a>for details), follow these two important steps: <br>
 </p> </p>
 <h1><a name="Testing with ICU enabled">Testing with ICU enabled</a></h1><p>  <ul>
 ICU (International Components for Unicode) refers to the set of libraries that    <ul>
 Pegasus uses to run globalized. For example: these libraries are used to      <p>a). Copy the rpm/wbem file in-to /etc/pam.d directory. This
 load messages in different languages, format currency and numbers according to  notifies PAM what kind of     libraries to use when authenticating
 a specific locale etc. In order to enable globalization in Pegasus, Pegasus  Pegasus.</p>
 must be built with ICU enabled, ie. the right environment variables must be    </ul>
 set prior to running &quot;make&quot;. Refer to the GlobalizationHOWTO.htm in the docs    <ul>
 directory for details. That said, when users run &quot;make poststarttests&quot;      <p>b). Modify CIMServer configuration options: </p>
 to verify the integrity of a Pegasus download, a series of tests are run that      <blockquote>
         <pre>     usePAMAuthentication=true<br>   enableAuthentication=true<br>   </pre>
 require the cimserver to be running. These tests currently depend on specific      </blockquote>
       <p>And if you want to allow 'root' to login (*not recommended*) </p>
 messages returned from the server. When ICU is enabled, all messages come      <blockquote>
 from the resource bundles and these usually do not match the hardcoded default messages within Pegasus. These hardcoded default messages        <pre>     enableRemotePrivilegedUserAccess=true<br>       </pre>
 are what the various test programs expect in order to complete      </blockquote>
 successfully. If the ICU enabled server is started without      <p>using the <b>cimconfig</b> utility, such as: </p>
 disabling message loading from the bundles, &quot;make poststartests&quot; will fail.      <blockquote>
 In order to run &quot;make poststarttests&quot; successfully with ICU enabled, an        <pre>     cimconfig -p -s usePAMAuthentication=true<br>   </pre>
 environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist prior to      </blockquote>
 starting the server. Once this is defined, when the cimserver starts, all    </ul>
 messages generated will be the default hardcoded messages. This will enable  </ul>
 &quot;make poststarttests&quot; to complete successfully. Once &quot;make poststarttests&quot; is  <p>The user is authenticated using HTTP Basic method, thererfore it is
 complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES.  strongly suggested you use SSL connection instead of normal HTTP
 If this variable is left defined, Pegasus will not be able to load messages  connection. Refer to section <a href="#Configuring%20SSL">Configuring
 using ICU resource bundles. <h1><a name="Pegasus Documentation">Pegasus Documentation</a></h1><p>  Pegasus to use SSL</a> for more details on creating and using SSL keys. </p>
 The documentation is currently in preparation.&nbsp; Much of Pegasus is  <h1><a name="Testing with ICU enabled">Testing with ICU enabled</a></h1>
 documented in the PEGASUS PEPs which are the basis for approval of Pegasus  <p>ICU (International Components for Unicode) refers to the set of
 functionality, changes, plans, etc.&nbsp; These documents are openly available  libraries that Pegasus uses to run globalized. For example: these
 on the PEGASUS web site.&nbsp; The preliminary documentation  libraries are used to load messages in different languages, format
 is not provided with this release. The current documentation is maintained both as a manual created  currency and numbers according to a specific locale etc. In order to
 under the tool DOC++ in the runtime subdirectory manual/html (see doc/devManual  enable globalization in Pegasus, Pegasus must be built with ICU enabled,
 to create), as an api document also creatable from the source tree (see doc/apidoc)  ie. the right environment variables must be set prior to running
 and as other miscellaneous documentation in the doc directory. Also there is a  "make". Refer to the GlobalizationHOWTO.htm in the docs directory for
 set of release notes. Normally the release notes for the current release are  details. That said, when users run "make poststarttests" to verify the
 available in the root source directory of CVS.<p>  integrity of a Pegasus download, a series of tests are run that require
 Note that the Pegasus WEB site at The Open Group will be the source of most  the cimserver to be running. These tests currently depend on specific
 documentation in the future and today is the source of most discussion and  messages returned from the server. When ICU is enabled, all messages
 design documentation. <h1><a name="Participate!">Participate!</a></h1><p>  come from the resource bundles and these usually do not match the
 We are looking for people who want to join the Pegasus work group and  hardcoded default messages within Pegasus. These hardcoded default
 contribute to effort of getting this Pegasus off the ground. Please join  messages are what the various test programs expect in order to complete
 the mailing list by visiting www.openpegasus.org, and click on Mailing Lists.  successfully. If the ICU enabled server is started without disabling
 &nbsp;</p>  message loading from the bundles, "make poststartests" will fail. In
   order to run "make poststarttests" successfully with ICU enabled, an
   environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist
   prior to starting the server. Once this is defined, when the cimserver
   starts, all messages generated will be the default hardcoded messages.
   This will enable "make poststarttests" to complete successfully. Once
   "make poststarttests" is complete, you should stop the cimserver and
   then undefine PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left
   defined, Pegasus will not be able to load messages using ICU resource
   bundles. </p>
   <h1><a name="Pegasus Documentation">Pegasus Documentation</a></h1>
   <p>The documentation is currently in preparation.  Much of Pegasus is
   documented in the PEGASUS PEPs which are the basis for approval of
   Pegasus functionality, changes, plans, etc.  These documents are openly
   available on the PEGASUS web site.  The preliminary documentation is not
   provided with this release. The current documentation is maintained
   both as a manual created under the tool DOC++ in the runtime
   subdirectory manual/html (see doc/devManual to create), as an api
   document also creatable from the source tree (see doc/apidoc) and as
   other miscellaneous documentation in the doc directory. Also there is a
   set of release notes. Normally the release notes for the current release
   are available in the root source directory of CVS.</p>
   <p>Note that the Pegasus WEB site at The Open Group will be the source
   of most documentation in the future and today is the source of most
   discussion and design documentation. </p>
   <h1><a name="Participate!">Participate!</a></h1>
   <p>We are looking for people who want to join the Pegasus work group
   and contribute to effort of getting this Pegasus off the ground. Please
   join the mailing list by visiting www.openpegasus.org, and click on
   Mailing Lists.  </p>
 </body> </body>
   
 </html> </html>


Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2