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

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

version 1.1, 2003/11/13 16:02:37 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.0</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</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>
     <td align="center">12 Novemberl 2003</td>        <td align="center">12 November 2003</td>
     <td align="center">Karl Schopmeyer</td>     <td align="center">Karl Schopmeyer</td>
     <td>Update from 2.2 Release notes. Converted to HTML</td>     <td>Update from 2.2 Release notes. Converted to HTML</td>
   </tr>   </tr>
   <tr>   <tr>
     <td align="center">&nbsp;</td>        <td align="center">1.1</td>
     <td align="center">&nbsp;</td>        <td align="center">March 10 2004</td>
     <td align="center">&nbsp;</td>        <td align="center">Konrad Rzeszutek</td>
     <td>&nbsp;</td>        <td>Added sections describing SSL and PAM configuration</td>
   </tr>   </tr>
       <tr>
         <td align="center"> </td>
         <td align="center"> </td>
         <td align="center"> </td>
         <td> </td>
       </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 defintion 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 October 2003 for&nbsp; Pegasus release version 2.3.   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="#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>OpenPegasus (also referred to as Pegasus):  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 object manager (CIMOM) for DMTF CIM objects. It is written  implemenation of the CIMOperations over HTTP operations and their cimxml
 in C++ and includes the Object manager, a set of defined interfaces, and  HTTP encodings, and Interface libraries for both client and providers.
 Interface libraries  It is maintained consistent with the DMTF CIM and WBEM specifications
 for both client and providers. It is maintained  except for  exceptions noted in the documentation. </p>
 consistent with the DMTF CIM and WBEM specifications except for&nbsp; exceptions  <p>Pegasus is open source and is covered under the MIT open-source
 noted in the documentation.  license.</p>
 <P>  <p>Pegasus is being developed and maintained under the auspices of The
 Pegasus is open source and is covered under the MIT open-source license.  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 being developed and maintained under the auspices of The Open  support as wide a distribution as possible with minimal demands on the
 Group. Pegasus is maintained under the license defined in the doc directory  users. </p>
 (LICENSE) of this release. This licensing is intended to support as wide a  <p>More information on this project, access to the CVS, and
 distribution as possible with minimal demands on the users.  documentation on Pegasus are available from the OpenGroup WEB site. </p>
 <P>  <p>    <a href="http://www.opengroup.org">http://www.openpegaus.org</a></p>
 More information on this project, access to the CVS, and documentation on  <p>There are a number of separate documents representing the status and
 Pegasus are available from the OpenGroup WEB site.  each release of Pegasus </p>
 <P>  <ul>
 &nbsp;&nbsp;&nbsp; <a href="http://www.opengroup.org">http://www.openpegaus.org</a><p>    <li>What's new for this release - See the PEPs (Pegasus Enhancement
 There are separate documents  Procedures) release     notes on the Pegasus web site and duplicated in
 <ul>  the source top level directory</li>
 <li>What's new for this release - WHATSNEW and the release notes for each    <li>What's Broken - BUGS - See the ReleaseNotes for this release in
 release.<li>What's Broken - BUGS - See the ReleaseNotes for this release in the CVS and  the CVS and the web site     as a Pegasus PEP.</li>
 the web site as a Pegasus PEP.<li>Release Notes for each released version</ul>  </ul>
   <p>The release notes are available on the WEB site as Pegasus PEP
   documents and in the CVS for each release.</p>
 <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%">Release</td>        <td width="42%"><b>Release</b></td>
     <td width="58%">Release Notes PEP</td>        <td width="58%"><b>Release Notes PEP</b></td>
   </tr>   </tr>
   <tr>   <tr>
     <td width="42%">2.0</td>     <td width="42%">2.0</td>
Line 171 
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.  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;  
 cvs update -d </font>  
   
 <p>  
 Active contributors to Pegasus have write access to the CVS repository.  
 If you are interested in contributing back to the Pegasus project,  
 (i.e. write (checkin) access to CVS) please request access from either  
 Martin Kirk (m.kirk@opengroup.org) or Karl Schopmeyer  
 <a href="mailto:(k.schopmeyer@opengroup.org">(k.schopmeyer@opengroup.org</a>).  
   
 <h1>  
 <a name="Pegasus Major Components">Pegasus Major Components</a></h1>  
   
 <p>The major components of Pegasus are:  
 <ul> <ul>
   <li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for providers and clients    <li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for
   </li>  providers and clients </li>
   <li><b>Pegasus Repositories</b> - Today Pegasus provides a defined class repository    <li><b>Pegasus Repositories</b> - Today Pegasus provides a defined
 interface and a simple file based class repository. It also includes  class repository     interface and a simple file based class repository.
 an instance repository. Note that these repository were created for  It also includes an instance     repository. Note that these repository
 functionality, not efficieny. It is expected that they will be replaced  were created for functionality, not efficieny. It is expected that
 with other implementations of the respository function as the need arises.  they will be replaced with other implementations of the respository
   </li>  function as the need arises. </li>
   <li><b>Pegasus Client Library</b> - Tools for building Pegasus clients based on the Pegasus    <li><b>Pegasus Client Library</b> - Tools for building Pegasus clients
 C++ interfaces and using the WBEM HTTP/XML protocols or directly  based on the Pegasus     C++ interfaces and using the WBEM HTTP/XML
 interfacing with Pegasus.  protocols or directly interfacing with Pegasus. </li>
   </li>    <li><b>Pegasus Test Clients</b> - Simple test clients being developed
   <li><b>Pegasus Test Clients</b> - Simple test clients being developed as part of the  as part of the Pegasus     development process. These can be seen in the
 Pegasus development process  src/Clients directory and its subdirectories </li>
   </li>    <li><b>Pegasus HTML Test Client</b> - To aid in testing we created a
   <li><b>Pegasus HTML Test Client</b> - To aid in testing we created a test client for  test client for Pegasus     that uses a WEB server (ex. Apache) with a
 Pegasus that uses a WEB server (ex. Apache) with a set of CGI modules and  set of CGI modules and HTML to allow the entry     of Pegasus operations
 HTML to allow the entry of Pegasus operations from a WEB browser as forms  from a WEB browser as forms and the receipt of the response as WEB
 and the receipt of the response as WEB pages. This has proven useful as a  pages. This has proven useful as a test tool and can be used for a wide
 test tool and can be used for a wide variety of demonstrations.  variety of     demonstrations. </li>
   </li>    <li><b>Pegasus Provider Library</b> - Tools for building Pegasus
   <li><b>Pegasus Provider Library</b> - Tools for building Pegasus providers using the Pegasus  providers using the Pegasus     C++ interfaces. </li>
 C++ interfaces.    <li><b>Pegasus Providers</b> - Providers to illustrate the use of
   </li>  Pegasus services including     providers for test and demonstration. </li>
   <li><b>Pegasus Providers</b> - Providers to illustrate the use of Pegasus services    <li><b>Pegasus Control Providers</b> - Common services for use by
 including providers for test and demonstration.  other Pegasus components     to extend Pegasus capabilites. </li>
   </li>    <li><b>Pegasus MOF Compiler </b>- There  standalone compiler
   <li><b>Pegasus Control Providers</b> - Common services for use by other Pegasus  (cimmofl) for MOF files     that can be used to install MOF into the
 components to extend Pegasus capabilites.  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 MOF Compiler </b>- There&nbsp; standalone compiler (cimmofl) for MOF files that can be used  tool to extract the MOF from the repository. </li>
 to install MOF into the Pegasus schema repository and also to check syntax.  </ul>
   There is also a compiler that operates as a Pegasus client(cimmof)  <h1><a name="Pegasus Supported Platforms">Pegasus Supported Platforms</a></h1>
 There is also a tool to extract the MOF from the repository.  <p>Pegasus is regularly tested against a variety of platforms by the
   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
   </ul>  (see the CVS source tree root directory or the Pegasus PEP defining the
   ReleaseNotes for any particular release).</p>
 <h1>  <p>Generally Pegasus is supported on the following Platforms and
 <a name="Pegasus Supported Platforms">Pegasus Supported Platforms</a></h1>  Compilers.</p>
   
 <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 293 
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>
       <tr>
         <td width="169">Mac OS X/Darwin PPC</td>
         <td width="556">gcc (version 3.3)</td>
       </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).  
         </font></li>  
         <li><font face="Courier New"><b>Clients</b> Source for various test  
         clients and demonstration clients.</font></li>  
         <li><font face="Courier New"><b>CGICLIENT</b> Pegasus test client that uses a WEB browser  
 JAVA Java Client support modules  
 </font></li>  
         <li><font face="Courier New"><b>Pegasus</b> - Core pegasus modules.  
         </font>  
         <ul>  
           <li><font face="Courier New"><b>Client</b> Pegasus Client API Tests  
           depends tests </font></li>  
           <li><font face="Courier New"><b>Common</b> Pegasus Common Functions (C++ source and headers  
 tests Test programs for the common functions</font></li>  
           <li><font face="Courier New"><b>Compiler</b> Pegasus MOF compiler  
 </font></li>  
           <li><font face="Courier New"><b>Config</b> Pegasus Configuration  
           functions</font></li>  
           <li><font face="Courier New"><b>Consumer</b> TBD </font></li>  
           <li><font face="Courier New"><b>ControlProviders</b> Implementation of Pegasus internal providers  
           </font></li>  
           <li><font face="Courier New"><b>ExportClient</b> TBD  
 </font></li>  
           <li><font face="Courier New"><b>ExportServer</b> TBD  
 </font></li>  
           <li><font face="Courier New"><b>Handler</b> TBD </font></li>  
           <li><font face="Courier New"><b>HandlerService</b> TBD  
 </font></li>  
           <li><font face="Courier New"><b>IndicationService</b> TBD  
 </font></li>  
           <li><font face="Courier New"><b>Listener</b> TBD </font></li>  
           <li><font face="Courier New"><b>Protocol</b> Pegasus Client HTTP/XML Protocol Modules  
 depends </font></li>  
           <li><font face="Courier New"><b>Provider</b> Pegasus Provider interface functions  
           </font></li>  
           <li><font face="Courier New"><b>ProviderManager</b> Provider Manager service that manages providers  
           </font></li>  
           <li><font face="Courier New"><b>ProviderManager2</b> Pluggable Provider Manager service.  
           Today this is not enabled by default It will become the Pegasus  
           standard provider manager at some time in the future but for now, see  
           the release notes if you want to enable it.</font></li>  
           <li><font face="Courier New"><b>Repository</b> Pegasus Repository  
           Interfaces and Simple Repository tests </font>  
           <ul>           <ul>
             <li><font face="Courier New">Tests for Repository Functions </font>        <li><font face="Courier New"><b>ACEExample</b> Test directrory
             </li>  with examples of the use of         ACE (obsolete). </font></li>
         <li><font face="Courier New"><b>Clients</b> Source for various
   test clients and         demonstration clients.</font></li>
         <li><font face="Courier New"><b>CGICLIENT</b> Pegasus test client
   that uses a WEB browser         JAVA Java Client support modules </font></li>
         <li><font face="Courier New"><b>Pegasus</b> - Core pegasus
   modules. </font>
           <ul>
             <li><font face="Courier New"><b>Client</b> Pegasus Client API
   Tests depends tests </font></li>
             <li><font face="Courier New"><b>Common</b> Pegasus Common
   Functions (C++ source and headers             tests Test programs for
   the common functions</font></li>
             <li><font face="Courier New"><b>Compiler</b> Pegasus MOF
   compiler </font></li>
             <li><font face="Courier New"><b>Config</b> Pegasus
   Configuration functions</font></li>
             <li><font face="Courier New"><b>Consumer</b> Indication
   Consumer class header</font></li>
             <li><font face="Courier New"><b>ControlProviders</b>
   Implementation of Pegasus internal             providers </font></li>
             <li><font face="Courier New"><b>ExportClient</b> Client
   connect code for export of             indications</font></li>
             <li><font face="Courier New"><b>ExportServer</b> Server code
   for import of indications</font></li>
             <li><font face="Courier New"><b>Handler</b> Indication
   handlers. Today this includes cimxml,             SNMP and email handlers</font></li>
             <li><font face="Courier New"><b>HandlerService</b> Common code
   for indication handler             service</font></li>
             <li><font face="Courier New"><b>IndicationService</b> Common
   service functions for             indication subscription processing</font></li>
             <li><font face="Courier New"><b>Listener</b> Common code that
   allows CIM Listeners to be             created and connected.</font></li>
             <li><font face="Courier New"><b>Protocol</b> Pegasus Client
   HTTP/XML Protocol Modules             depends </font></li>
             <li><font face="Courier New"><b>Provider</b> Pegasus Provider
   interface functions </font></li>
             <li><font face="Courier New"><b>ProviderManager</b> Provider
   Manager service that manages             providers </font></li>
             <li><font face="Courier New"><b>ProviderManager2</b> Pluggable
   Provider Manager service.             Today this is not enabled by
   default It will become the Pegasus standard provider manager
   at some time in the future but for now, see the release notes if you
   want to enable it.</font></li>
             <li><font face="Courier New"><b>Repository</b> Pegasus
   Repository Interfaces and Simple             Repository tests </font>
               <ul>
                 <li><font face="Courier New">Tests for Repository
   Functions </font></li>
             </ul>             </ul>
           </li>           </li>
           <li><font face="Courier New"><b>Security</b> TBD </font></li>            <li><font face="Courier New"><b>Security</b> Authentication
           <li><font face="Courier New"><b>Server</b> Pegasus Server Modules  and user support functions.</font></li>
           </font></li>            <li><font face="Courier New"><b>Server</b> Pegasus Server
           <li><font face="Courier New"><b>WQL</b> TBD  Modules </font></li>
 </font></li>            <li><font face="Courier New"><b>WQL</b> the WQL query language
   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> TBD this and following IndicationConsumer        <li><font face="Courier New"><b>generic</b> A number of
             </font></li>  cross-platform providers </font></li>
             <li><font face="Courier New"><b>Linux</b> </font></li>        <li><font face="Courier New">IndicationConsumer - Provider that
   consumes indications</font></li>
         <li><font face="Courier New"><b>Linux</b> - A number of linux
   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; </font></li>        <li><font face="Courier New"><b>slp</b> -  Provider for slp
   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> - TBD</font></li>    <li><font face="Courier New"><b>Standard Includes</b> - </font></li>
             <li><font face="Courier New"><b>Standard Includes</b> - TBD</font></li>    <li><font face="Courier New"><b>test</b> - Directory of end-end tests
             <li><font face="Courier New"><b>test</b> - Directory of end-end  that are regularly     conducted on Pegasus</font></li>
             tests that are regularly conducted on Pegasus</font></li>    <li><font face="Courier New"><b>tools</b> MU and other utilities
             <li><font face="Courier New"><b>tools</b> MU and other utilities written for Pegasus support  written for Pegasus support </font></li>
             </font></li>    <li><font face="Courier New"><b>Unsupported</b> Code that is made
             <li><font face="Courier New"><b>Unsupported</b> Code that is made available but is not supported or included  available but is not     supported or included in the normal make. </font></li>
 in the normal make. </font></li>    <li><font face="Courier New"><b>WMIMapper</b> Pegasus implementation
             <li><font face="Courier New"><b>WMIMapper</b> Pegasus implementation that implements mapping to Microsoft  that provides mapping     to Microsoft WMI objects. </font></li>
 WMI objects.  </ul>
   <p><font face="Courier New">Pegasus Run Time directory structure
 </font></li>  (PEGASUS_HOME environment variable). Home directory for runtime. All
             </ul>  compiler, linker documentation creation, etc. are put here. </font> </p>
 <p>  <ul>
 <font face="Courier New">Pegasus Run Time directory structure (PEGASUS_HOME    <li><font face="Courier New"><b>bin</b> - Destination for executable
 environment variable). Home directory for runtime. All compiler, linker  and DLL modules from     Pegasus build. This directory should be make
 documentation creation, etc. are put here.  public so that the test functions, clients,     and cimserver can be
 </font>  executed with minimum effort.</font></li>
             <ul>    <li><font face="Courier New"><b>DevManualHTML</b> - HTML output of the
               <li><font face="Courier New"><b>bin</b> - Destination for executable and DLL modules from  Pegasus Manual. This     is only created when the make file for this
 Pegasus build. This directory should be make public so that the test functions,  manual is executed (doc/DevManual) and then     contains the html
               clients, and cimserver can be executed with minimum effort.</font></li>  representing the document.</font></li>
               <li><font face="Courier New"><b>DevManualHTML</b> - HTML output of the Pegasus Manual.    <li><font face="Courier New"><b>apidochtml</b> - HTML output of the
               This is only created when the make file for this manual is  creation of the public     API document.  This only exists when the make
               executed (doc/DevManual) and then contains the html representing  file for the api document is executed     (see doc/apidoc/Makefile)</font></li>
               the document.</font></li>    <li><font face="Courier New"><b>lib</b> - Destination for Pegasus LIB
               <li><font face="Courier New"><b>apidochtml</b> - HTML output of  modules </font></li>
               the creation of the public API document.&nbsp; This only exists  
               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.  <p>To install Pegasus, you must check it out using CVS (Common Version
 <p>  System) or download a snapshot. You download, compile, and use it. </p>
 To install Pegasus, you must check it out using CVS (Common Version System)  <p>For the snapshot, the installation of Pegasus involves expanding the
 or download a snapshot. You download, compile, and use it.  snapshot distribution files, building the runtime, the test files and
 <p>  test clients, and building the repository. </p>
 For the snapshot, the installation of Pegasus involves expanding the snapshot  <h1><a name="Building Pegasus">Building Pegasus </a></h1>
 distribution files, building the runtime, the test files and test clients, and  <p>1. Check that you have requisite programs (listed in Pegasus
 building the repository.  Dependencies). These include GNU Make, MU.EXE (if using Windows), Flex,
 <h1>  and Bison (Flex and Bison only required if changes will be made to the
   MOF compiler or WQL parser). </p>
 <a name="Building Pegasus">Building Pegasus </a>  <p>Be sure these are on the path. </p>
   <p>2. Define the following three environment variables: </p>
               </h1>  
   
 <p>  
 1. Check that you have requisite programs (listed in Pegasus Dependencies).  
   
 These include GNU Make, MU.EXE (if using Windows), Flex, and Bison (Flex  
 and Bison only required if changes will be made to the MOF compiler or WQL  
 parser).  
 <p>  
 Be sure these are on the path.  
   
 <p>  
 2. Define the following three environment variables:  
               <ul>               <ul>
                 <li><b>PEGASUS_ROOT</b> - this should be the &quot;pegasus&quot; directory you've pulled from CVS    <li><b>PEGASUS_ROOT</b> - this should be the "pegasus" directory
                 </li>  you've pulled     from CVS </li>
                 <li><b>PEGASUS_HOME</b> - to point to a directory to contain output binary files    <li><b>PEGASUS_HOME</b> - to point to a directory to contain output
 (e.g., set it to $HOME/pegasus_home). Then the output will go into  binary files (e.g., set     it to $HOME/pegasus_home). Then the output
 $HOME/pegasus_home/bin and $HOME/pegasus_home/lib  will go into $HOME/pegasus_home/bin and     $HOME/pegasus_home/lib </li>
                 </li>    <li><b>PEGASUS_PLATFORM</b> - this must be set to a supported platform
                 <li><b>PEGASUS_PLATFORM</b> - this must be set to a supported platform identifier.  identifier.</li>
                 </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 distrubution 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  <br>
 Microsoft Visual C++. (contained in the same directory as cl.exe).  Type these commands in your shell to create the SSL certifications. The
 <p>  PEGASUS_ROOT and PEGASUS_HOME have to be set to your respective
 For Windows, try the following for an example environment:  installation and source directory. </p>
   <blockquote>  <blockquote>
 <pre>REM call the standard Microsoft .bat for VC 6 setup.    <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>
 call 'C:/Program Files/Microsoft Visual Studio/VC98/Bin/Vcvars32.bat'  </blockquote>
 REM Set debug to something if you want compile in debug mode  <h1><a name="Configuring SSL">Configuring Pegasus to use SSL</a></h1>
 set PEGASUS_DEBUG=true  <p>Please follow section <a
 REM set PEGASUS_ROOT to top of source tree   href="#Notes%20about%20Building%20Pegasus%20with%20SSL">Notes on
 set PEGASUS_ROOT=C:/cimom/pegasus  building Pegasus with SSL</a> and <a
 REM set PEGASUS_HOME to where you want repository and executables   href="#Creating%20SSL%20certifications">Creating SSL certifications</a>
 set PEGASUS_HOME=%PEGASUS_ROOT%  before embarking on this endeavour.<br>
 REM setup the path to the runtime files.  <br>
 set path=%path%;%PEGASUS_HOME%/bin  To configure Pegasus to take advantage of SSL, configure CIMServer to
 </pre>  have the following configuration options set to: </p>
 </blockquote><h1><a name="Installing the Pegasus HTML Test Client">Installing the Pegasus HTML Test Client</a></h1><p>  <blockquote>
 This is a separate test tool that allows Pegasus requests to be initiated from    <pre> sslTrustFilePath=client.pem<br> sslCertificateFilePath=server.pem<br>   sslKeyFilePath=file.pem<br>     httpsPort=5989<br>      enableHttpsConnection=true<br></pre>
 any WEB browser and that uses a WEB browser, CGI scripts and HTML pages for  </blockquote>
 the formatting and connections. It requires a WEB server, etc. The  <p>using the <b>cimconfig</b> utility: </p>
 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>  <blockquote>
 ATTN: This section needs to be completed. It should reference the more    <pre> cimconfig -p -s enableHttpsConnection=true<br></pre>
 complete documentation  </blockquote>
 ATTN: Write about providers? <h1><a name="Commands">Commands</a></h1><p>  <p><br>
 The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on  (The client.pem and server.pem are the certifications files created per
 CVS) <p>  the steps in the earlier section). For good riddance you might consider
 To see simple help for each of the commands, use the &quot;-h&quot; flag. <blockquote><pre>Examples:  closing down the cleartext 5988 port. Modify your CIMServer
 bin/cimserver –s (Shuts it down)  configuration to include: </p>
 bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags)  <blockquote>
 bin/cimprovider –l –s (lists providers and their status)    <pre> enableHttpConnection=false<br></pre>
 bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider)  </blockquote>
 bin/cimuser –a –u guest –w ThePassword  <p>using <b>cimconfig</b>. </p>
 bin/cimuser –l (lists the users)  <h1><a name="Configuring PAM">Configuring Pegasus to use PAM</a></h1>
 bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type)  <p>In order to use PAM Authentication you have to compile Pegasus with
 </pre>  one extra enviroment flags: </p>
 </blockquote><h1><a name="Creating SSL certifications">Creating SSL certifications </a></h1><p>  <blockquote>
 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    <pre> PEGASUS_PAM_AUTHENTICATION=1<br></pre>
 directory. <blockquote><pre>CN=&quot;Common Name&quot;  </blockquote>
 EMAIL=&quot;test@email.address&quot;  <p>You can also set the PEGASUS_ALWAYS_USE_PAM=1 flag to disable
 HOSTNAME=`uname -n`  Pegasus password authentication using a flag text-file (recommended). <br>
 sed -e &quot;s/$CN/$HOSTNAME/&quot; \  After compiling (refer to section <a href="#Building%20Pegasus">Building
 -e &quot;s/$EMAIL/root@$HOSTNAME/&quot; $PEGASUS_ROOT/ssl.cnf \  Pegasus </a>for details), follow these two important steps: <br>
 &gt; $PEGASUS_HOME/ssl.cnf  </p>
 chmod 644 $PEGASUS_HOME/ssl.cnf  <ul>
 chown bin $PEGASUS_HOME/ssl.cnf    <ul>
 chgrp bin $PEGASUS_HOME/ssl.cnf      <p>a). Copy the rpm/wbem file in-to /etc/pam.d directory. This
   notifies PAM what kind of     libraries to use when authenticating
 /usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \  Pegasus.</p>
 -nodes -config $PEGASUS_HOME/ssl.cnf \    </ul>
 -keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem    <ul>
       <p>b). Modify CIMServer configuration options: </p>
 cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem &gt; $PEGASUS_HOME/server.pem      <blockquote>
 rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem        <pre>     usePAMAuthentication=true<br>   enableAuthentication=true<br>   </pre>
 cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem      </blockquote>
 </pre></blockquote><h1><a name="Testing with ICU enabled">Testing with ICU enabled</a></h1><p>      <p>And if you want to allow 'root' to login (*not recommended*) </p>
 ICU (International Components for Unicode) refers to the set of libraries that      <blockquote>
 Pegasus uses to run globalized. For example: these libraries are used to        <pre>     enableRemotePrivilegedUserAccess=true<br>       </pre>
 load messages in different languages, format currency and numbers according to      </blockquote>
 a specific locale etc. In order to enable globalization in Pegasus, Pegasus      <p>using the <b>cimconfig</b> utility, such as: </p>
 must be built with ICU enabled, ie. the right environment variables must be      <blockquote>
 set prior to running &quot;make&quot;. Refer to the GlobalizationHOWTO.htm in the docs        <pre>     cimconfig -p -s usePAMAuthentication=true<br>   </pre>
 directory for details. That said, when users run &quot;make poststarttests&quot;      </blockquote>
 to verify the integrity of a Pegasus download, a series of tests are run that    </ul>
   </ul>
 require the cimserver to be running. These tests currently depend on specific  <p>The user is authenticated using HTTP Basic method, thererfore it is
   strongly suggested you use SSL connection instead of normal HTTP
 messages returned from the server. When ICU is enabled, all messages come  connection. Refer to section <a href="#Configuring%20SSL">Configuring
 from the resource bundles and these usually do not match the hardcoded default messages within Pegasus. These hardcoded default messages  Pegasus to use SSL</a> for more details on creating and using SSL keys. </p>
 are what the various test programs expect in order to complete  <h1><a name="Testing with ICU enabled">Testing with ICU enabled</a></h1>
 successfully. If the ICU enabled server is started without  <p>ICU (International Components for Unicode) refers to the set of
 disabling message loading from the bundles, &quot;make poststartests&quot; will fail.  libraries that Pegasus uses to run globalized. For example: these
 In order to run &quot;make poststarttests&quot; successfully with ICU enabled, an  libraries are used to load messages in different languages, format
 environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist prior to  currency and numbers according to a specific locale etc. In order to
 starting the server. Once this is defined, when the cimserver starts, all  enable globalization in Pegasus, Pegasus must be built with ICU enabled,
 messages generated will be the default hardcoded messages. This will enable  ie. the right environment variables must be set prior to running
 &quot;make poststarttests&quot; to complete successfully. Once &quot;make poststarttests&quot; is  "make". Refer to the GlobalizationHOWTO.htm in the docs directory for
 complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES.  details. That said, when users run "make poststarttests" to verify the
 If this variable is left defined, Pegasus will not be able to load messages  integrity of a Pegasus download, a series of tests are run that require
 using ICU resource bundles. <h1><a name="Pegasus Documentation">Pegasus Documentation</a></h1><p>  the cimserver to be running. These tests currently depend on specific
 The documentation is currently in preparation.&nbsp; Much of Pegasus is  messages returned from the server. When ICU is enabled, all messages
 documented in the PEGASUS PEPs which are the basis for approval of Pegasus  come from the resource bundles and these usually do not match the
 functioanlity, changes, plans, etc.&nbsp; These documents are openly available  hardcoded default messages within Pegasus. These hardcoded default
 on the PEGASUS web site.&nbsp; The preliminary documentation  messages are what the various test programs expect in order to complete
 is not provided with this release. The current documentation is maintained both as a manual created  successfully. If the ICU enabled server is started without disabling
 under the tool DOC++ in the runtime subdirectory manual/html (see doc/devManual  message loading from the bundles, "make poststartests" will fail. In
 to create), as an api document also creatable from the source tree (see doc/apidoc)  order to run "make poststarttests" successfully with ICU enabled, an
 and as other miscellaneous documentation in the doc directory. Also there is a  environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist
 set of release notes. Normally the release notes for the current release are  prior to starting the server. Once this is defined, when the cimserver
 available in the root source directory of CVS.<p>  starts, all messages generated will be the default hardcoded messages.
 Note that the Pegasus WEB site at The Open Group will be the source of most  This will enable "make poststarttests" to complete successfully. Once
 documentation in the future and today is the source of most discussion and  "make poststarttests" is complete, you should stop the cimserver and
 design documentation. <h1><a name="Participate!">Participate!</a></h1><p>  then undefine PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left
 We are looking for people who want to join the Pegasus work group and  defined, Pegasus will not be able to load messages using ICU resource
 contribute to effort of getting this Pegasus off the ground. Please join  bundles. </p>
 the mailing list by visiting www.openpegasus.org, and click on Mailing Lists.  <h1><a name="Pegasus Documentation">Pegasus Documentation</a></h1>
 &nbsp;</p>  <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.1  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2