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

  1 a.dunfey 1.10.8.1 //%2006////////////////////////////////////////////////////////////////////////
  2                   //
  3                   // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4                   // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5                   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6                   // IBM Corp.; EMC Corporation, The Open Group.
  7                   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8                   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9                   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10                   // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11                   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12                   // EMC Corporation; Symantec Corporation; The Open Group.
 13                   //
 14                   // Permission is hereby granted, free of charge, to any person obtaining a copy
 15                   // of this software and associated documentation files (the "Software"), to
 16                   // deal in the Software without restriction, including without limitation the
 17                   // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18                   // sell copies of the Software, and to permit persons to whom the Software is
 19                   // furnished to do so, subject to the following conditions:
 20                   // 
 21                   // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22 a.dunfey 1.10.8.1 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23                   // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24                   // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25                   // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26                   // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27                   // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28                   // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29                   //
 30                   //==============================================================================
 31 h.sterling 1.9      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 32                     <html>
 33                     <head>
 34 dave.sudlik 1.10       <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
 35                        <meta name="ProgId" content="FrontPage.Editor.Document">
 36                        <meta http-equiv="Content-Type"
 37                       content="text/html; charset=windows-1252">
 38                        <title>OpenPegasus</title>
 39 h.sterling  1.9      </head>
 40                      <body>
 41                      <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p>
 42 dave.sudlik 1.10     <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 235<br>
 43                      </p>
 44                      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus
 45                      Version 2.5 Release Readme file</p>
 46 h.sterling  1.9      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span
 47 dave.sudlik 1.10      style="color: rgb(0, 0, 0);">1.4<br>
 48                      </span></p>
 49                      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 6 Sept
 50                      2005</p>
 51                      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren
 52                      Grunbok<br>
 53                      </p>
 54 h.sterling  1.9      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status:&nbsp; </b>draft</p>
 55                      <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p>
 56 dave.sudlik 1.10     <table bordercolordark="#666666" bordercolorlight="#cccccc"
 57                       style="font-family: Arial;" border="1" cellspacing="1" width="100%">
 58                        <tbody>
 59                          <tr>
 60                            <th bgcolor="#cae6ca">Version</th>
 61                            <th bgcolor="#cae6ca">Date</th>
 62                            <th bgcolor="#cae6ca">Author</th>
 63                            <th bgcolor="#cae6ca">Change Description</th>
 64                          </tr>
 65                          <tr>
 66                            <td align="center">1.0</td>
 67                            <td align="center">5, Sept 2005</td>
 68                            <td align="center">Warren Grunbok<br>
 69                            </td>
 70                            <td>Initial draft<br>
 71                            </td>
 72                          </tr>
 73                          <tr>
 74                            <td style="vertical-align: top; text-align: center;">1.1<br>
 75                            </td>
 76                            <td style="vertical-align: top; text-align: center;">&nbsp;13,
 77 dave.sudlik 1.10     Sept 2005<br>
 78                            </td>
 79                            <td style="vertical-align: top; text-align: center;">Warren
 80                      Grunbok/Roger Kumpf<br>
 81                            </td>
 82                            <td style="vertical-align: top; text-align: center;">Updates
 83                      based on Architecture team review<br>
 84                            </td>
 85                          </tr>
 86                          <tr>
 87                            <td style="vertical-align: top;">1.2<br>
 88                            </td>
 89                            <td style="vertical-align: top;">22, Sept 2005<br>
 90                            </td>
 91                            <td style="vertical-align: top;">Warren Grunbok<br>
 92                            </td>
 93                            <td style="vertical-align: top;">Updates from posted comments to
 94                      1.1<br>
 95                            </td>
 96                          </tr>
 97                          <tr>
 98 dave.sudlik 1.10           <td style="vertical-align: top; color: rgb(0, 0, 0);">1.3<br>
 99                            </td>
100                            <td style="vertical-align: top; color: rgb(0, 0, 0);">22,Sept 2005<br>
101                            </td>
102                            <td style="vertical-align: top; color: rgb(0, 0, 0);">Warren
103                      Grunbok<br>
104                            </td>
105                            <td style="vertical-align: top; color: rgb(0, 0, 0);">changed _
106                      to - <br>
107                            </td>
108                          </tr>
109                          <tr>
110                            <td style="vertical-align: top;">1.4<br>
111                            </td>
112                            <td style="vertical-align: top;">26, Sept 2005<br>
113                            </td>
114                            <td style="vertical-align: top;">Warren Grunbok/Dave Sudlik<br>
115                            </td>
116                            <td style="vertical-align: top;">Cleanup on example lists<br>
117                            </td>
118                          </tr>
119 dave.sudlik 1.10       </tbody>
120 h.sterling  1.9      </table>
121                      <hr>
122 dave.sudlik 1.10     <p><b>Abstract:</b>&nbsp; Installation, build, operation information on
123                      the OpenPegasus Version 2.5.0 Release. Note that if this readme
124                      conflicts with the documentation in the release notes or interface
125                      definition documents for a particular release, those documents should
126                      be considered authorative. This is a simplified overview to act as an
127                      introduction to OpenPegasus.</p>
128 h.sterling  1.9      <hr>
129 dave.sudlik 1.10     <p align="center"><b><font size="5">OpenPegasus - A Manageability
130                      Services Broker for the DMTF CIM/WBEM Standards
131                      </font></b></p>
132                      <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for
133                      DMTF CIM objects written in C++
134                      and hosted by The Open Group </p>
135                      <p align="left">
136                      <b>STATUS:</b> Revised Sept 2005 for&nbsp; Pegasus release version
137                      2.5.0&nbsp;
138                      - Draft<br>
139                      </p>
140                      <a href="#Overview">Overview</a>
141                      <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
142                       href="#avail_of_peg">Availability of Pegasus</a><br>
143 h.sterling  1.9        <a href="#peg_sup_plat">Pegasus Supported Platforms</a><br>
144                        <a href="#peg_dep">Pegasus Dependencies</a><br>
145 dave.sudlik 1.10       <a href="#peg_dir_struc"></a><a href="#cmnd">Commands</a><br>
146 h.sterling  1.9        <a href="#docs">Documentation</a><br>
147 dave.sudlik 1.10       <a href="#part">How to Participate</a><br>
148 h.sterling  1.9      </blockquote>
149 dave.sudlik 1.10     <a href="#inst_peg">Install Pegasus</a>
150                      <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"><a
151                       href="#download">Download or checkout Pegasus</a><br>
152                        <a href="#vfy_req_sw">Verify that you have the required
153                      software</a><br>
154 h.sterling  1.9        <a href="#set_envt_var">Set the environment variables</a><br>
155 dave.sudlik 1.10       <a href="#bld">Build the Pegasus runtime, test files, test clients,
156                      and repository</a><br>
157 h.sterling  1.9        <a href="#pop_peg_rep">Populate the Pegasus repository</a><br>
158                        <a href="#reg_prov">Register providers in the Pegasus environment</a><br>
159 dave.sudlik 1.10       <a href="#note_bld_peg_lnx">Notes
160                      about Building Pegasus on Linux</a><br>
161 h.sterling  1.9        <a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br>
162 dave.sudlik 1.10       <a href="#bld_peg_win">Building
163                      Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++</a><br>
164                        <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
165                       href="#mu_utility">The MU Utility</a><br>
166                        </blockquote>
167 h.sterling  1.9      </blockquote>
168 dave.sudlik 1.10     <a href="#test">Test the Pegasus installation</a><br>
169                      <blockquote style="margin-top: 0pt; margin-bottom: 0pt;"> <a
170                       href="#test_icu">Testing with ICU enabled</a><br>
171 h.sterling  1.9      </blockquote>
172                      <hr>
173                      <h1><a name="Overview">Overview</a> </h1>
174 dave.sudlik 1.10     <b>OpenPegasus (also referred to as Pegasus):</b>
175                      Pegasus is an open-source CIM Server for DMTF CIM objects. It is
176                      written
177                      in C++ and includes the Object manager (CIMOM), a set of defined
178                      interfaces, an implementation of the CIMOperations over HTTP operations
179                      and their cimxml HTTP encodings, and Interface libraries
180                      for both client and providers. It is maintained
181                      consistent with the DMTF CIM and WBEM specifications except for&nbsp;
182                      exceptions
183                      noted in the documentation.<br>
184                      <br>
185                      <span class="norm"></span>OpenPegasus includes components for: <br>
186                      <ol>
187                        <li>DMTF compliant CIMServer that processes CIM operations, CIM
188                      Indications, and
189                      includes class and instance repositories and interfaces for creating
190                      CIM
191                      Providers and CIM Clients.</li>
192                        <li>Provider interfaces so that providers may be build in multiple
193                      languages (i.e.
194                      C++, C, Java).</li>
195 dave.sudlik 1.10       <li>A number of CIM providers.</li>
196                        <li>A mof compiler.</li>
197                        <li>A number of CIM CLients to provide usage examples, CIMServer
198                      test functions,
199                      and administration functions.</li>
200                        <li>More complete information on the exact functions
201                      and their functional state is available from the release notes for each
202                      OpenPegasus release.</li>
203                      </ol>
204                      OpenPegasus is open source and is covered under the MIT open-source
205                      license.
206                      <p>OpenPegasus is being developed and maintained under the auspices of
207                      The
208                      Open
209                      Group.&nbsp; OpenPegasus is maintained under the license defined in the
210                      doc
211                      directory of this release.&nbsp; The specific file is: <font
212                       style="color: rgb(0, 0, 0);">pegasus/doc/license.txt</font>.&nbsp;
213                      This licensing is intended to support as
214                      wide a
215                      distribution as possible with minimal demands on the users.
216 dave.sudlik 1.10     </p>
217                      <p>More information on this project, access to the CVS, and
218                      documentation on
219                      Pegasus are available from the OpenGroup WEB site.
220                      </p>
221                      <p>&nbsp;&nbsp;&nbsp; <a target="blank"
222                       href="http://www.openpegasus.org/">http://www.openpegasus.org</a></p>
223 h.sterling  1.9      <h2><a name="avail_of_peg">Availability of Pegasus</a></h2>
224 dave.sudlik 1.10     <h2></h2>
225                      <h2></h2>
226                      <ol>
227                      Pegasus can be obtained via any of the following:<br>
228                        <ol>
229                          <li>Released tarballs (see <a
230                       href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&amp;ggid=392">Relase
231                      tarballs link</a>)</li>
232                          <li>CVS (See <a
233                       href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&amp;ggid=667">CVS
234                      code repository</a> for
235                      more information.)</li>
236                          <li>Linux RPMs. See
237                      (<a
238                       href="http://www.openpegasus.org/protected/page.tpl?CALLER=index.tpl&amp;ggid=667">RPM
239                      link</a> for
240                      more information
241                      )</li>
242                        </ol>
243                      </ol>
244                      <p>NOTE: The Linux RPM reference is for 2.4.1 because that is all we
245 dave.sudlik 1.10     have. We
246                      need a general page to get to the RPMs, not one per release.
247                      </p>
248                      <p>Pegasus is distributed as open source under the MIT open-source
249                      license. The distribution is available via CVS and snapshot images in
250                      tar and zip file formats on the web site.
251                      The source code from CVS can be found at the following Open Group CVS
252                      server;
253                      </p>
254                      <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">CVS
255                      write accounts are managed by Martin Kirk of The Open Group&nbsp;</font>
256                      (<a href="mailto:%28k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>)&nbsp;
257                      </p>
258                      <br>
259 h.sterling  1.9      <h2><a name="peg_sup_plat">Pegasus Supported Platforms</a></h2>
260 dave.sudlik 1.10     <p>
261                      Pegasus is regularly tested against a variety of platforms by the
262                      development group.&nbsp; The results of the nightly tests can be found
263                      here: <a
264                       href="http://cvs.opengroup.org/cgi-bin/pegasus-build-status.cgi">Nightly
265                      test status</a> .&nbsp; The Release notes provides additional details
266                      regarding the platforms.&nbsp;<a
267                       href="http://www.openpegasus.org/pp/protected/revdoc.tpl?CALLER=revdocuments.tpl&amp;grid=1692">
268                      PEP 230</a> is the release notes PEP for 2.5.<br>
269                      </p>
270 h.sterling  1.9      <h2><a name="peg_dep">Pegasus Dependencies</a></h2>
271 dave.sudlik 1.10     <p>
272                      We have worked to minimize the dependence of Pegasus on other software
273                      packages and tools. Currently Pegasus has the following dependencies:
274                      </p>
275                      <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across
276                      multiple platforms we
277                      have standardized on a set of build tools including: GNUMAKE. We are
278                      using GNUMAKE 3.79.1 successfully both in Windows and Linux
279                      environments.
280                      </p>
281 h.sterling  1.9      <p>GNUMAKE is available from :</p>
282 dave.sudlik 1.10     <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="blank"
283                       href="http://www.gnu.org/">http://www.gnu.org</a>
284                      </p>
285                      <b>2. FLEX and BISON</b> - These tools were used to develop the
286                      MOF
287                      compiler and WQL
288                      parser.&nbsp; <span class="norm"></span><font
289                       style="color: rgb(0, 0, 0);">These tools are required only for
290                      development of the parsers, not for building Pegasus.</font>
291                      <p><b>3. DOC++ </b>- The Pegasus documentation is taken from a
292                      combination of text files
293                      and the Pegasus header files themselves. This documentation is
294                      formatted with DOC++ and GAWK.&nbsp;&nbsp; <span class="norm"></span><font
295                       style="color: rgb(0, 0, 0);">These tools are required to build the
296                      interface documentation set.</font>
297                      </p>
298                      <p><b>4. ICU Internationalization libraries</b> - These libraries are
299                      used as the basis for message catalogs for message
300                      internationalization. See the ICU website
301                      (http://oss.software.ibm.com/icu/) for more information on these
302                      libraries</p>
303 dave.sudlik 1.10     <p><span style="font-weight: bold;">5</span>. <b>OpenSSL </b>- If it
304                      is intended to use SSL on the
305                      communication protocol, the OpenSSL libraries are required.<br>
306                      </p>
307                      <p>&nbsp; NOTE: A set of the required
308                      tools for windows platforms is available on the openpegasus web
309                      site.&nbsp; <a href="../Pegasus24/www.openpegasus.org">www.openpegasus.org</a></p>
310                      <h1><a name="cmnd">Commands</a></h1>
311                      <p>
312                      The manpages for each of the commands are in rpm/manLinux/man1.Z
313                      directory (on CVS) </p>
314                      <p>To see simple help for each of the commands, use the "--help" flag. </p>
315                      <span style="font-family: times new roman;">Here is a list of useful
316                      commands:<br>
317                      <br style="font-weight: bold;">
318                      </span><span style="font-weight: bold;" class="norm"></span><span
319                       style="font-family: times new roman; font-weight: bold;"><span
320                       class="norm"></span></span><span style="font-weight: bold;">Some of
321                      the basic commands:</span>
322 h.sterling  1.9      <br>
323 dave.sudlik 1.10     NOTE: Refer to the admin guide in pegasus/doc/Admin_Guide_Release.pdf
324                      for
325                      more information about administering the Pegasus CIMServer.<br>
326 h.sterling  1.9      <ul>
327 dave.sudlik 1.10       <li>cimserver daemon=true&nbsp; (Start the server
328                      cimserver)</li>
329                        <li>cimserver -s&nbsp; (Shuts down the cimserver)</li>
330                        <li>cimserver traceLevel=4 traceComponents=ALL&nbsp; (Starts server
331                      with
332                      config flags)</li>
333                        <li>cimprovider -l -s&nbsp; (Lists providers and their status)</li>
334                        <li>cimprovider -e -m OperatingSystemModule&nbsp; (Enables the
335                      OperatingSystem provider)</li>
336                        <li>cimuser -a -u guest _w &lt;ThePassword&gt; (Adds the user <span
337                       style="font-style: italic;">guest</span> with specified password)<br>
338 h.sterling  1.9        </li>
339 dave.sudlik 1.10       <li>cimuser -l&nbsp; (Lists the users )<br>
340 h.sterling  1.9        </li>
341 dave.sudlik 1.10     </ul>
342                      Note:&nbsp; there are some differences between windows and other
343                      platforms in
344                      starting the server as a daemon/service. Whereas most supported
345                      platforms use
346                      the configuration option daemon to start the server as a service, on
347                      windows it
348                      must be specifically installed as a service (ex. cimserver -install)
349                      and then
350                      started as a service (cimserver -start). The cimserver --h option
351                      explains the
352                      exact format of the start and stop options.<br
353                       style="color: rgb(0, 0, 0);">
354                      <font><font color="RED"><br
355                       style="color: rgb(0, 0, 0); font-weight: bold;">
356                      <span style="color: rgb(0, 0, 0); font-weight: bold;">Makefile commands
357                      <br>
358                      </span></font></font>Pegasus includes several make files that enable
359                      you to quickly build or
360                      refresh the Pegasus runtime, test files, test client and the
361                      repository. To use these make files, type "make" followed by one of the
362 dave.sudlik 1.10     supplied targets.&nbsp; <br>
363                      The following list contains some of the make targets that are
364                      supported:
365 h.sterling  1.9      <ul>
366                        <li>&lt;default&gt; - Build everything. </li>
367                        <li>clean - Clean out all objects, libs, and executables. </li>
368                        <li>depend - Create the dependencies. </li>
369                        <li>repository - Create the repository in $PEGASUS_HOME/repository </li>
370                        <li>tests - Execute all tests (except client server tests). </li>
371                        <li>rebuild - clean, depend, &lt;default&gt; </li>
372 dave.sudlik 1.10       <li>world - depend, &lt;default&gt;</li>
373                      </ul>
374                      <font><font color="RED"><span
375                       style="color: rgb(0, 0, 0); font-weight: bold;"></span><span
376                       style="color: rgb(0, 0, 0);">For a comprehensive list of&nbsp; the
377                      make targets, refer to the make files.<br>
378                      </span><br style="color: rgb(0, 0, 0);">
379                      <span style="color: rgb(0, 0, 0); font-weight: bold;">TestMakefile
380                      commands
381                      </span><br style="color: rgb(0, 0, 0);">
382                      <span style="color: rgb(0, 0, 0);"></span></font></font><font><font
383                       color="RED"><span class="norm"></span></font></font> TestMakefile is a
384                      make file
385                      that in the top level Pegasus source directory that defines
386                      functionality to
387                      initiate the Pegasus tests. The targets defined in this makefile allow
388                      the
389                      user to run the various tests and test suites that are included in the
390                      Pegasus
391                      source package.<br>
392                      <font><font color="RED"><span class="norm"></span></font></font>Example:
393 dave.sudlik 1.10     From the $PEGASUS_ROOT directory.
394                      make -f TestMakefile [testoption]<br>
395                      <br style="color: rgb(0, 0, 0);">
396                      <font><font color="RED"><span style="color: rgb(0, 0, 0);">## rebuild -
397                      Rebuild
398                      </span><br style="color: rgb(0, 0, 0);">
399                      <span style="color: rgb(0, 0, 0);">## build - Build
400                      </span><br style="color: rgb(0, 0, 0);">
401                      <span style="color: rgb(0, 0, 0);">## prestarttests - Execute
402                      functional tests
403                      </span><br style="color: rgb(0, 0, 0);">
404                      <span style="color: rgb(0, 0, 0);">## poststarttests - Execute
405                      poststarttests (No security, No SSL)
406                      </span><br style="color: rgb(0, 0, 0);">
407                      <span style="color: rgb(0, 0, 0);">## tests - Execute prestarttests and
408                      poststarttests
409                      </span><br style="color: rgb(0, 0, 0);">
410                      <span style="color: rgb(0, 0, 0);">## standardtests - Execute
411                      poststarttests and a series of
412                      </span><br style="color: rgb(0, 0, 0);">
413                      <span style="color: rgb(0, 0, 0);">## posstarttests using multiple
414 dave.sudlik 1.10     options.
415                      </span><br style="color: rgb(0, 0, 0);">
416                      <span style="color: rgb(0, 0, 0);">##
417                      </span><br style="color: rgb(0, 0, 0);">
418                      <br>
419                      <span style="color: rgb(0, 0, 0);">Some examples: <br>
420                      make -f TestMakefile prestarttests
421                      - runs the unit tests, builds
422                      </span><span style="color: rgb(0, 0, 0);">the repositories.
423                      </span><br style="color: rgb(0, 0, 0);">
424                      <span style="color: rgb(0, 0, 0);"> make -f TestMakefile poststarttests
425                      - starts the server, </span><span style="color: rgb(0, 0, 0);">runs
426                      the poststarttest suites
427                      </span><span style="color: rgb(0, 0, 0);">(make poststarttests plus
428                      more)
429                      </span><br style="color: rgb(0, 0, 0);">
430                      <span style="color: rgb(0, 0, 0);">make -f TestMakefile tests -
431                      combines prestarttests and
432                      </span><span style="color: rgb(0, 0, 0);">poststarttests
433                      </span><br style="color: rgb(0, 0, 0);">
434                      <span style="color: rgb(0, 0, 0);">make -f TestMakefile standardtests -
435 dave.sudlik 1.10     runs the basic poststarttests </span><span style="color: rgb(0, 0, 0);">(make
436                      poststarttests) multiple
437                      </span><span style="color: rgb(0, 0, 0);">times with various options.
438                      </span><br style="color: rgb(0, 0, 0);">
439                      <br style="color: rgb(0, 0, 0);">
440                      <br style="color: rgb(0, 0, 0);">
441                      <span style="color: rgb(0, 0, 0); font-weight: bold;">BuildMakefile
442                      commands </span><br style="color: rgb(0, 0, 0);">
443                      <span style="color: rgb(0, 0, 0);"></span><br>
444                      </font></font>Some examples:<font><font color="RED"><br
445                       style="color: rgb(0, 0, 0);">
446                      <span style="color: rgb(0, 0, 0);"> make -f pegasus/mak/BuildMakefile
447                      cleanbuild - Remove the existing pegasus </span><span
448                       style="color: rgb(0, 0, 0);">directory, perform a CVS
449                      </span><span style="color: rgb(0, 0, 0);">checkout of the pegasus
450                      source,
451                      </span><span style="color: rgb(0, 0, 0);">build, and run tests.
452                      </span><br style="color: rgb(0, 0, 0);">
453                      <span style="color: rgb(0, 0, 0);">make -f pegasus/mak/BuildMakefile
454                      removeall
455                      - Remove the existing pegasus
456 dave.sudlik 1.10     </span><span style="color: rgb(0, 0, 0);">directory.
457                      </span><br style="color: rgb(0, 0, 0);">
458                      <span style="color: rgb(0, 0, 0);"></span><span
459                       style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">make
460                      -f pegasus/mak/BuildMakefile
461                      recheckout - Remove the existing pegasus
462                      </span><span style="color: rgb(0, 0, 0);">directory and perform a CVS
463                      </span><span style="color: rgb(0, 0, 0);">checkout of the pegasus
464                      source.
465                      </span><br style="color: rgb(0, 0, 0);">
466                      <br>
467                      <span style="color: rgb(0, 0, 0);">The following sequence builds the
468                      tree, the repository, the testrepository,
469                      </span><span style="color: rgb(0, 0, 0);">starts the server and runs
470                      the server tests suites.
471                      </span><br style="color: rgb(0, 0, 0);">
472                      <br style="color: rgb(0, 0, 0);">
473                      <span style="color: rgb(0, 0, 0);"> make world
474                      </span><br style="color: rgb(0, 0, 0);">
475                      <span style="color: rgb(0, 0, 0);"> make testrepository
476                      </span><br style="color: rgb(0, 0, 0);">
477 dave.sudlik 1.10     <span style="color: rgb(0, 0, 0);"> make -f TestMakefile poststarttests
478                      </span><br style="color: rgb(0, 0, 0);">
479                      &nbsp; <span style="color: rgb(0, 0, 0);">
480                      </span><br>
481                      </font></font><br>
482                      <span style="font-family: monospace;"><br>
483                      </span>
484                      <h1><a name="docs">Pegasus Documentation</a></h1>
485                      <p>The documentation is currently in preparation.&nbsp; Much of Pegasus
486                      is documented in the PEGASUS PEPs which are the basis for approval of
487                      Pegasus functionality, changes, plans, etc.&nbsp; These documents are
488                      openly available on the PEGASUS web site.&nbsp; The preliminary
489                      documentation
490                      is not provided with this release. The current documentation is
491                      maintained both as a manual created
492                      under the tool DOC++ in the runtime subdirectory manual/html (see
493                      doc/devManual to create), as an api document also creatable from the
494                      source tree (see doc/apidoc) and as other miscellaneous documentation
495                      in the doc directory. Also there is a set of release notes. Normally
496                      the release notes for the current release are available in the root
497                      source directory of CVS.</p>
498 dave.sudlik 1.10     <p>Note that the Pegasus WEB site at The Open Group will be the source
499                      of most
500                      documentation in the future and today is the source of most discussion
501                      and
502                      design documentation. </p>
503                      <h1><a name="part">How to Participate</a></h1>
504                      <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Contributors
505                      are welcome to participate in the OpenPegasus development effort. Join
506                      the mailing list by visiting www.openpegasus.org and clicking on
507                      Mailing Lists.</font></p>
508                      <h1>
509                      <a name="inst_peg">Pegasus Install</a> </h1>
510                      <p>RPM installation instructions can be found here: <a
511                       href="http://www.openpegasus.org/pr/">http://www.openpegasus.org/pr</a><br>
512                      </p>
513                      <p><strong><strong>Verify&nbsp; Dependencies<br>
514                      </strong></strong></p>
515                      <p><strong><strong><span style="font-weight: bold;"></span>Be</strong></strong>fore
516                      you install Pegasus be sure you have the proper set of&nbsp; software
517                      Pegasus is dependent on.&nbsp; <a href="#peg_dep">See Dependencies
518                      section.</a><br>
519 dave.sudlik 1.10     </p>
520                      <strong></strong>
521                      <p>&nbsp; <a name="set_envt_var"><strong>Set the environment
522                      variables<br>
523                      </strong></a></p>
524                      <p>Before installing or running OpenPegasus, environment variables may
525                      have to be defined or updated.&nbsp; <br>
526                      <strong><br>
527                      </strong></p>
528                      <p><a
529                       href="http://www.openpegasus.org/pp/uploads/40/8502/PEP200_RecommendedReleaseOptions.htm">PEP
530                      200</a> contains the list of environment variables and setup necessary
531                      to use OpenPegasus.<br>
532                      </p>
533                      <p></p>
534                      <ul>
535 h.sterling  1.9      </ul>
536 dave.sudlik 1.10     <p></p>
537 h.sterling  1.9      <h2><a name="pop_peg_rep">Populate the Pegasus repository</a> </h2>
538 dave.sudlik 1.10     <p>
539                      Before using Pegasus you must populate the repository. Typically, this
540                      is done during the build process when you run the makefile. However,
541                      you
542                      can also do it manually after the Pegasus has been built. </p>
543 h.sterling  1.9      <ol>
544 dave.sudlik 1.10       <li>Register the MOF (Managed Object Format) file describing the
545                      skeleton of the object. </li>
546                        <li>Register a second MOF which only points out which lib*.so file to
547                      be loaded when a specific object is activated. </li>
548 h.sterling  1.9      </ol>
549 dave.sudlik 1.10     <p></p>
550                      <p>
551                      The providers included with Pegasus are automatically entered into the
552                      repository
553                      by running the following command: <tt>make repository</tt>
554                      </p>
555                      <p>
556                      The 'make repository' in the&nbsp; pegasus directory does three things:
557                      </p>
558 h.sterling  1.9      <ul>
559 dave.sudlik 1.10       <li><span class="norm"></span> Removes the existing repository if one
560                      exists.</li>
561                        <li>Generates the CIM Schema v2.9 in the repository (skeleton of CIM
562                      objects).&nbsp; </li>
563                        <li><span class="norm"></span><font style="color: rgb(0, 0, 0);">Loads
564                      schema for CIM Server functions </font>(shutdown, add users, etc) and
565                      CIM indications
566                      (SNMP, Events, Alert, Threshold, etc)
567                      internal to the Pegasus. </li>
568                        <li>Registers included CIM Providers (libOSProvider.so,
569                      libDNSProvider.so, … ) in Pegasus (which are located in
570                      src/Providers)&nbsp; </li>
571 h.sterling  1.9      </ul>
572 dave.sudlik 1.10     <h2>
573                      <a name="reg_prov">Registering
574                      Providers in the Pegasus Environment</a></h2>
575                      <p>
576                      Pegasus registers providers with a set of provider registration
577                      classes, not using the provider qualifier as is done in most DMTF CIM
578                      CIMOM implementations today. This set of classes is close to but not
579                      exactly the same as the experimental DMTF definition (See the DMTF
580                      Interop
581                      schema, experimental versions starting with 2.6). This will be
582                      harmonized in the future when the DMTF scheme is moved to final
583                      status.&nbsp; </p>
584                      <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">Registration
585                      is performed by creating instances</font> of the
586                      registration classes that represent the provider module, providers,
587                      classes, etc. to be registered.&nbsp; The easiest way to create a new
588                      registration today is to copy from one of the existing registration
589                      MOFs.&nbsp; See the providers/sample/load directory for examples of
590                      several registration instance implementations that do work with
591                      OpenPegasus
592                      today.</p>
593 dave.sudlik 1.10     <strong><br>
594                      </strong>
595                      <h2><a name="note_bld_peg_lnx">Notes about
596                      Building OpenPegasus on Linux </a></h2>
597                      <p>
598                      To build OpenPegasus on Linux, ensure that you you have the environment
599                      variables set (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM.&nbsp; For
600                      32 bit linux, the definition of PEGASUS_PLATFORM is normally
601                      LINUX_IX86_GNU).
602                      </p>
603 h.sterling  1.9      <br>
604 dave.sudlik 1.10     <h2><a name="bld_peg_win">Notes
605                      on building OpenPegasus on Windows 2k or Windows XP with Microsoft
606                      Visual
607                      C++ </a></h2>
608                      <p>
609                      Use of Windows 2000 SP3 or later is recommended.&nbsp; OpenPegasus is
610                      regularly tested on both Windows 2000 and Windows XP using the
611                      Microsoft compilers.</p>
612                      <p>Today we build OpenPegasus on Windows using a set of make files
613                      contained
614                      in the source distribution, the Microsoft compilers (DevStudio 5.x is
615                      not supported, Visual Studio 6.0, SP5 is supported) and the GNUMAKE
616                      make utility.&nbsp; Note that you MUST have the OpenPegasus <a
617                       href="#mu_utility">mu.exe </a>utility compiled and available
618                      before trying to compile OpenPegasus on the normal windows platform.
619                      The
620                      following is the basic setup steps for the environment.
621                      </p>
622                      <p>Setup the environment variables and path for the Micrososft Visual C
623                      compiler.
624                      Typically this can be done by running the VCVARS32.BAT file supplied
625 dave.sudlik 1.10     with Microsoft Visual C++. (contained in the same directory as cl.exe).
626                      </p>
627 h.sterling  1.9      <p>For Windows, try the following for an example environment: </p>
628                      <blockquote>
629 dave.sudlik 1.10       <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 (Note: <span
630                       class="norm">The '/' characters are intentional and required by the OpenPegasus build system)</span><br>REM set PEGASUS_HOME to where you want repository and executables<br>set PEGASUS_HOME=%PEGASUS_ROOT% <br>REM setup the path to the runtime files. <br>set path=%path%;%PEGASUS_HOME%\bin <br></pre>
631 h.sterling  1.9      </blockquote>
632 dave.sudlik 1.10     <h3>
633                      <a name="mu_utility">The MU Utility </a></h3>
634                      <p>
635                      In order to provide a consistent build structure across multiple
636                      platforms, we
637                      developed a small utility to provide a consistent set of small
638                      utilities
639                      across these platforms. The MU utility is a simple utility that
640                      contains
641                      many
642                      commands. For example:
643                      </p>
644                      <p><font face="Courier New">&nbsp;&nbsp;&nbsp;
645                      C:\&gt; mu rm myfile.cpp yourfile.cpp </font>
646                      </p>
647                      <p>You may type "mu" to get a list of valid commands. Here are some
648                      of them:
649                      </p>
650                      <p>&nbsp;&nbsp;&nbsp;
651                      rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
652                      </p>
653 dave.sudlik 1.10     <p>The MU utility supports globing (expansion of wildcards) so
654                      you can do things like this:
655                      </p>
656                      <p><font face="Courier New">&nbsp;&nbsp;&nbsp;
657                      C:\&gt; mu rm *.obj *.exe </font>
658                      </p>
659                      <p>MU is required to build under the Windows environment. MU is
660                      available as part
661                      of the distribution of OpenPegasus.<br>
662                      </p>
663                      NOTE: The binary for MU.EXE is not distributed in the OpenPegasus bin
664                      directory.
665                      You must build it separately. MU source code is part of the
666                      distribution
667                      in the directory src/utils/MU with its own make file. You must compile
668                      MU
669                      before you initiate the OpenPegasus make.<br>
670                      A copy of the binary is made available as a zip file on the OpenPegasus
671                      WEB site.
672                      <p></p>
673                      <h2><a name="note_bld_peg_ssl">Notes about
674 dave.sudlik 1.10     Building OpenPegasus with SSL
675                      </a></h2>
676                      <p>
677                      To build with SSL you need the OpenSSL libraries and header files. They
678                      are NOT distributed with OpenPegasus. Make sure you have them in a
679                      standard
680                      directory so OpenPegasus can find them. If that's not
681                      the case, set the environment variable OPENSSL_HOME= to point where
682                      your OpenSSL
683                      installation is.
684                      </p>
685                      <p>Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make'
686                      in Pegasus
687                      directory and you will have OpenPegasus with SSL enabled. See "Creating
688                      SSL
689                      certificates" below for more information on how to use SSL.
690                      </p>
691                      Refer to the SSL Admin guide found in the doc directory for details on
692                      using OpenPegasus with SSL.<br>
693                      <p></p>
694                      <h1>
695 dave.sudlik 1.10     <a name="test">Testing a OpenPegasus Installation</a></h1>
696                      <p>
697                      OpenPegasus includes an extensive set of test facilities as part of the
698                      CVS
699                      environment, including:
700                      </p>
701 h.sterling  1.9      <ul>
702 dave.sudlik 1.10       <li><b>Test Clients</b> - There are several clients that have been
703                      built specifically to test OpenPegasus, or parts of OpenPegasus,
704                      including
705                      TestClient, Client, CLI, ipinfo, osinfo, WbemEsec, etc. See the
706                      src/Clients directory for more information. These programs require a
707                      server complete with repository to be running.&nbsp; Note that some of
708                      these tests use classes and instances that are only installed with the
709                      "make testrepository" functions including test namespaces and extra
710                      classes and instances in those namespaces and additional providers from
711                      the providers/sample and providers/testproviders directories. </li>
712                        <li><b>Sample and test providers</b> -&nbsp; Test providers exist for
713                      the major provider types in the providers/sample directories and the
714                      providers/testProviders directory </li>
715                        <li><b>Unit Tests</b> - Most OpenPegasus functions include unit tests
716                      for
717                      the functions.&nbsp; These are normally executed with the "make tests"
718                      command which can be executed at many different levels of the source
719                      tree from the top level to execute all of the unit tests to individual
720                      directories.&nbsp; Usually the unit test functions can be found in test
721                      directories immediately below their corresponding source code
722                      (i.e&nbsp; common/tests is the unit test functions for the common
723 dave.sudlik 1.10     directory). Unit tests are executed without the server being
724                      operational and normally do not require the existence of a Class
725                      repository. </li>
726                        <li><b>An end-to-end Test Suite</b> - the directory "test" contains a
727                      set of operations tests that cover the major CIM operations.&nbsp; See
728                      the make file TestMakefile in the PEGASUS_ROOT directory to execute
729                      these tests.&nbsp; This set of tests executes an extensive set of fixed
730                      tests and compares the results against predefined results.</li>
731 h.sterling  1.9      </ul>
732 dave.sudlik 1.10     <p></p>
733                      <br>
734 h.sterling  1.9      <h2><a name="test_icu">Testing with ICU enabled</a></h2>
735 dave.sudlik 1.10     <p>ICU (International Components for Unicode) refers to the set of
736                      libraries that OpenPegasus uses to run globalized. For example: these
737                      libraries are used
738                      to
739                      load messages in different languages, format currency and numbers
740                      according to
741                      a specific locale etc. In order to enable globalization in OpenPegasus,
742                      OpenPegasus
743                      must be built with ICU enabled, ie. the right environment variables
744                      must be
745                      set prior to running "make". Refer to the GlobalizationHOWTO.htm in the
746                      docs
747                      directory for details.<br>
748                      </p>
749                      <p>&nbsp;When users run "make poststarttests"
750                      to verify the integrity of a OpenPegasus download, a series of tests
751                      are
752                      run that
753                      require the cimserver to be running. These tests currently depend on
754                      specific
755                      messages returned from the server. When ICU is enabled, all messages
756 dave.sudlik 1.10     come from the resource bundles and these usually do not match the
757                      hardcoded default messages within OpenPegasus. These hardcoded default
758                      messages are what the various test programs expect in order to complete
759                      successfully. If the ICU enabled server is started without
760                      disabling message loading from the bundles, "make poststartests" will
761                      fail.
762                      In order to run "make poststarttests" successfully with ICU enabled, an
763                      environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist
764                      prior to
765                      starting the server. Once this is defined, when the cimserver starts,
766                      all
767                      messages generated will be the default hardcoded messages. This will
768                      enable
769                      "make poststarttests" to complete successfully. Once "make
770                      poststarttests" is
771                      complete, you should stop the cimserver and then undefine
772                      PEGASUS_USE_DEFAULT_MESSAGES. If this variable is left defined,
773                      OpenPegasus
774                      will not be able to load messages
775                      using ICU resource bundles.<br>
776                      </p>
777 dave.sudlik 1.10     <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When
778                      running the make tests command with ICU enabled, the PEGASUS_MSG_HOME
779                      environment variable must be set to the home directory where the ICU
780                      resource bundles are built. By default the resource bundles are built
781                      into directories below PEGASUS_HOME/msg, so that should be the setting
782 h.sterling  1.9      for PEGASUS_MSG_HOME.<br>
783                      </font></p>
784                      <p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br>
785                      </font></p>
786 dave.sudlik 1.10     <p><i><font size="2">Copyright (c) 2005 EMC Corporation;
787                      Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group;
788                      VERITAS Software Corporation</font><br>
789 h.sterling  1.9      <br>
790 dave.sudlik 1.10     <font size="1">Permission is hereby granted, free of charge, to any
791                      person obtaining a copy&nbsp; of this software and associated
792                      documentation files (the "Software"), to deal in the Software without
793                      restriction, including without limitation the rights to use, copy,
794                      modify, merge, publish, distribute, sublicense, and/or sell copies of
795                      the Software, and to permit persons to whom the Software is furnished
796                      to do so, subject to the following conditions:</font><br>
797 h.sterling  1.9      <font size="2"><br>
798 dave.sudlik 1.10     </font>
799                      <font size="1">THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE
800                      SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE
801                      SOFTWARE. THE SOFTWARE IS PROVIDED&nbsp; "AS IS", WITHOUT WARRANTY OF
802                      ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
803                      WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
804                      NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
805                      LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
806                      OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
807                      WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br>
808 h.sterling  1.9      </font></i></p>
809                      <p><i><font size="1"><br style="font-family: arial;">
810 dave.sudlik 1.10     <big><big><span style="font-family: arial;">------------------------End
811                      of
812 h.sterling  1.9      Document-------------------------<br>
813                      </span></big></big></font></i></p>
814 dave.sudlik 1.10     <p><span style="color: rgb(0, 0, 0);"></span> </p>
815 h.sterling  1.9      </body>
816                      </html>

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2