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

   1 h.sterling 1.9 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
   2                
   3                
   4                <html>
   5                
   6                
   7                
   8                
   9                
  10                <head>
  11                
  12                
  13                <meta name="GENERATOR" content="Microsoft FrontPage 3.0">
  14                
  15                
  16                <meta name="ProgId" content="FrontPage.Editor.Document">
  17                
  18                
  19                <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  20                
  21                
  22 h.sterling 1.9 <title>OpenPegasus</title>
  23                
  24                
  25                </head>
  26                
  27                
  28                
  29                
  30                
  31                <body>
  32                
  33                
  34                
  35                
  36                
  37                <p align="center"><b><font size="4">Pegasus Enhancement Proposal (PEP)</font></b></p>
  38                
  39                
  40                
  41                
  42                
  43 h.sterling 1.9 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>PEP #:</b> 175</p>
  44                
  45                
  46                
  47                
  48                
  49                <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Title: </b>OpenPegasus Version 2.4
  50                
  51                
  52                Release Readme file</p>
  53                
  54                
  55                
  56                
  57                
  58                <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version: </b><span
  59                
  60                
  61                style="color: rgb(0, 0, 0);">1.4</span></p>
  62                
  63                
  64 h.sterling 1.9 
  65                
  66                
  67                <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Created:</b> 24 June 2004</p>
  68                
  69                
  70                
  71                
  72                
  73                <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Authors: </b>Warren Grunbok, Mike
  74                
  75                
  76                Harris<br>
  77                
  78                
  79                </p>
  80                
  81                
  82                
  83                
  84                
  85 h.sterling 1.9 <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Status:&nbsp; </b>draft</p>
  86                
  87                
  88                
  89                
  90                
  91                <p style="margin-top: 0pt; margin-bottom: 0pt;"><b>Version History:</b></p>
  92                
  93                
  94                
  95                
  96                
  97                <table bordercolordark="#666666" bordercolorlight="#cccccc" style="font-family: Arial;"
  98                
  99                
 100                border="1" cellspacing="1" width="100%">
 101                
 102                
 103                <tbody>
 104                
 105                
 106 h.sterling 1.9   <tr>
 107                
 108                
 109                    <th bgcolor="#cae6ca">Version</th>
 110                
 111                
 112                    <th bgcolor="#cae6ca">Date</th>
 113                
 114                
 115                    <th bgcolor="#cae6ca">Author</th>
 116                
 117                
 118                    <th bgcolor="#cae6ca">Change Description</th>
 119                
 120                
 121                  </tr>
 122                
 123                
 124                  <tr>
 125                
 126                
 127 h.sterling 1.9     <td align="center">1.0</td>
 128                
 129                
 130                    <td align="center">24, June 2004</td>
 131                
 132                
 133                    <td align="center">Warren Grunbok<br>
 134                
 135                
 136                    </td>
 137                
 138                
 139                    <td>Initial draft<br>
 140                
 141                
 142                    </td>
 143                
 144                
 145                  </tr>
 146                
 147                
 148 h.sterling 1.9   <tr>
 149                
 150                
 151                    <td align="center">&nbsp;1.1</td>
 152                
 153                
 154                    <td align="center">24,August 2004 <br>
 155                
 156                
 157                    </td>
 158                
 159                
 160                    <td align="center">Warren Grunbok <br>
 161                
 162                
 163                    </td>
 164                
 165                
 166                    <td>Mostly spelling changes, adds to very last paragraph <br>
 167                
 168                
 169 h.sterling 1.9     </td>
 170                
 171                
 172                  </tr>
 173                
 174                
 175                  <tr>
 176                
 177                
 178                    <td style="vertical-align: top;">1.2<br>
 179                
 180                
 181                    </td>
 182                
 183                
 184                    <td style="vertical-align: top;">31, August 2004<br>
 185                
 186                
 187                    </td>
 188                
 189                
 190 h.sterling 1.9     <td style="vertical-align: top;">Warren Grunbok<br>
 191                
 192                
 193                    </td>
 194                
 195                
 196                    <td style="vertical-align: top;">Changes based on architecture review.&nbsp; Removed
 197                
 198                
 199                    /Directory structure section and placed into&nbsp; seperate document.<br>
 200                
 201                
 202                    &nbsp;<br>
 203                
 204                
 205                    </td>
 206                
 207                
 208                  </tr>
 209                
 210                
 211 h.sterling 1.9   <tr>
 212                
 213                
 214                    <td style="vertical-align: top;">1.3<br>
 215                
 216                
 217                    </td>
 218                
 219                
 220                    <td style="vertical-align: top;">???<br>
 221                
 222                
 223                    </td>
 224                
 225                
 226                    <td style="vertical-align: top;">Warren Grunbok<br>
 227                
 228                
 229                    </td>
 230                
 231                
 232 h.sterling 1.9     <td style="vertical-align: top;">Removed Pegasus Directory structure and placed in PEP
 233                
 234                
 235                    191, Added Copyright and End of Doc marker.<br>
 236                
 237                
 238                    </td>
 239                
 240                
 241                  </tr>
 242                
 243                
 244                  <tr>
 245                
 246                
 247                    <td style="vertical-align: top; color: rgb(0, 0, 0);">1.4<br>
 248                
 249                
 250                    </td>
 251                
 252                
 253 h.sterling 1.9     <td style="vertical-align: top; color: rgb(0, 0, 0);">27, Sept 2004<br>
 254                
 255                
 256                    </td>
 257                
 258                
 259                    <td style="vertical-align: top; color: rgb(0, 0, 0);">Warren Grunbok<br>
 260                
 261                
 262                    </td>
 263                
 264                
 265                    <td style="vertical-align: top; color: rgb(0, 0, 0);">Corrected Security changes as per
 266                
 267                
 268                    Sterling.<br>
 269                
 270                
 271                    </td>
 272                
 273                
 274 h.sterling 1.9   </tr>
 275                
 276                
 277                </tbody>
 278                
 279                
 280                </table>
 281                
 282                
 283                
 284                
 285                
 286                <hr>
 287                
 288                
 289                
 290                
 291                
 292                <p><b>Abstract:</b>&nbsp; Installation, build, operation information on the Pegasus
 293                
 294                
 295 h.sterling 1.9 Platform Version 2.4.0 Release. Note that if this readme conflicts with the documentation
 296                
 297                
 298                in the release notes or interface definition documents for a particular release, those
 299                
 300                
 301                documents should be considered authorative. This is a simplified overview to act as an
 302                
 303                
 304                introduction to Pegasus.</p>
 305                
 306                
 307                
 308                
 309                
 310                <hr>
 311                
 312                
 313                
 314                
 315                
 316 h.sterling 1.9 <p align="center"><b><font size="5">OpenPegasus - A Manageability Services Broker for the
 317                
 318                
 319                DMTF CIM/WBEM Standards </font></b></p>
 320                
 321                
 322                
 323                
 324                
 325                <p align="left"><b>Tagline:</b> OpenPegasus is an object manager for DMTF CIM objects
 326                
 327                
 328                written in C++ and supported by The Open Group </p>
 329                
 330                
 331                
 332                
 333                
 334                <p align="left"><b>STATUS:</b> Revised Sept 2004 for&nbsp; Pegasus release version
 335                
 336                
 337 h.sterling 1.9 2.4.0&nbsp; - Approved<br>
 338                
 339                
 340                </p>
 341                
 342                
 343                <a href="#Overview">
 344                
 345                
 346                
 347                
 348                
 349                <p>Overview</a> </p>
 350                
 351                
 352                
 353                
 354                
 355                <blockquote style="margin-top: 0pt; margin-bottom: 0pt;">
 356                
 357                
 358 h.sterling 1.9   <a href="#avail_of_peg"><p>Availability of Pegasus</a><br>
 359                
 360                
 361                  <a href="#peg_maj_comp">Pegasus Major Components</a><br>
 362                
 363                
 364                  <a href="#avail_of_peg">Availability of Pegasus</a><br>
 365                
 366                
 367                  <a href="#peg_sup_plat">Pegasus Supported Platforms</a><br>
 368                
 369                
 370                  <a href="#peg_dep">Pegasus Dependencies</a><br>
 371                
 372                
 373                  <a href="#peg_dir_struc">The Pegasus Directory Structure</a><br>
 374                
 375                
 376                  <a href="#dev_with_peg">Development with Pegasus and Pegasus Tools</a><br>
 377                
 378                
 379 h.sterling 1.9   <a href="#cmnd">Commands</a><br>
 380                
 381                
 382                  <a href="#docs">Documentation</a><br>
 383                
 384                
 385                  <a href="#part">Participate</a><br>
 386                
 387                
 388                  </p>
 389                
 390                
 391                </blockquote>
 392                
 393                
 394                <a href="#inst_peg">
 395                
 396                
 397                
 398                
 399                
 400 h.sterling 1.9 <p>Install Pegasus</a> </p>
 401                
 402                
 403                
 404                
 405                
 406                <blockquote style="margin-top: 0pt; margin-bottom: 0pt;">
 407                
 408                
 409                  <a href="#download"><p>Download or checkout Pegasus</a><br>
 410                
 411                
 412                  <a href="#vfy_req_sw">Verify that you have the required software</a><br>
 413                
 414                
 415                  <a href="#set_envt_var">Set the environment variables</a><br>
 416                
 417                
 418                  <a href="#bld">Build the Pegasus runtime, test files, test clients, and repository</a><br>
 419                
 420                
 421 h.sterling 1.9   <a href="#pop_peg_rep">Populate the Pegasus repository</a><br>
 422                
 423                
 424                  <a href="#reg_prov">Register providers in the Pegasus environment</a><br>
 425                
 426                
 427                  <a href="#bld_rpms">Build an RPM for Pegasus</a><br>
 428                
 429                
 430                  <a href="#note_bld_peg_lnx">Notes about Building Pegasus on Linux</a><br>
 431                
 432                
 433                  <a href="#note_bld_peg_mac">Notes about Building Pegasus on Mac OS X</a><br>
 434                
 435                
 436                  <a href="#note_bld_peg_ssl">Notes on building Pegasus with SSL</a><br>
 437                
 438                
 439                  <a href="#bld_peg_win">Building Pegasus on Windows 2000 or Windows XP With Microsoft
 440                
 441                
 442 h.sterling 1.9   Visual C++</a><br>
 443                
 444                
 445                  <a href="#mu_utility">The MU Utility</a><br>
 446                
 447                
 448                  </p>
 449                
 450                
 451                </blockquote>
 452                
 453                
 454                <a href="#test">
 455                
 456                
 457                
 458                
 459                
 460                <p>Test the Pegasus installation</a><br>
 461                
 462                
 463 h.sterling 1.9 </p>
 464                
 465                
 466                
 467                
 468                
 469                <blockquote style="margin-top: 0pt; margin-bottom: 0pt;">
 470                
 471                
 472                  <a href="#inst_peg_html"><p>Installing the Pegasus HTML Test Client</a><br>
 473                
 474                
 475                  <a href="#test_icu">Testing with ICU enabled</a><br>
 476                
 477                
 478                  </p>
 479                
 480                
 481                </blockquote>
 482                
 483                
 484 h.sterling 1.9 
 485                
 486                
 487                <hr>
 488                
 489                
 490                
 491                
 492                
 493                <h1><a name="Overview">Overview</a> </h1>
 494                
 495                
 496                
 497                
 498                
 499                <p><b>OpenPegasus (also referred to as Pegasus):</b> Pegasus is an open-source CIM Server
 500                
 501                
 502                for DMTF CIM objects. It is written in C++ and includes the Object manager (CIMOM), a set
 503                
 504                
 505 h.sterling 1.9 of defined interfaces, an implemenation of the CIMOperations over HTTP operations and
 506                
 507                
 508                their cimxml HTTP encodings, and Interface libraries for both client and providers. It is
 509                
 510                
 511                maintained consistent with the DMTF CIM and WBEM specifications except for&nbsp;
 512                
 513                
 514                exceptions noted in the documentation. </p>
 515                
 516                
 517                
 518                
 519                
 520                <p>Pegasus is open source and is covered under the MIT open-source license.</p>
 521                
 522                
 523                
 524                
 525                
 526 h.sterling 1.9 <p>Pegasus is being developed and maintained under the auspices of The Open Group. Pegasus
 527                
 528                
 529                is maintained under the license defined in the doc directory (LICENSE) of this release.
 530                
 531                
 532                This licensing is intended to support as wide a distribution as possible with minimal
 533                
 534                
 535                demands on the users. </p>
 536                
 537                
 538                
 539                
 540                
 541                <p>More information on this project, access to the CVS, and documentation on Pegasus are
 542                
 543                
 544                available from the OpenGroup WEB site. </p>
 545                
 546                
 547 h.sterling 1.9 
 548                
 549                
 550                <p>&nbsp;&nbsp;&nbsp; <a target="blank" href="http://www.openpegasus.org">http://www.openpegasus.org</a></p>
 551                
 552                
 553                
 554                
 555                
 556                <p>There are a number of separate documents representing the status and each release of
 557                
 558                
 559                Pegasus 
 560                
 561                
 562                
 563                
 564                
 565                <ul>
 566                
 567                
 568 h.sterling 1.9   <li>What's new for this release - See the PEPs (Pegasus Enhancement Procedures) release
 569                
 570                
 571                    notes on the Pegasus web site and duplicated in the source top level directory </li>
 572                
 573                
 574                  <li>What's Broken - BUGS - See the ReleaseNotes for this release in the CVS and the web site
 575                
 576                
 577                    as a Pegasus PEP.</li>
 578                
 579                
 580                </ul>
 581                
 582                
 583                
 584                
 585                
 586                <p>The release notes are available on the WEB site as Pegasus PEP documents and in the CVS
 587                
 588                
 589 h.sterling 1.9 for each release.</p>
 590                
 591                
 592                
 593                
 594                
 595                <table id="AutoNumber3" border="1" cellspacing="1" width="31%">
 596                
 597                
 598                <tbody>
 599                
 600                
 601                  <tr>
 602                
 603                
 604                    <td width="42%"><b>Release</b></td>
 605                
 606                
 607                    <td width="58%"><b>Release Notes PEP</b></td>
 608                
 609                
 610 h.sterling 1.9   </tr>
 611                
 612                
 613                  <tr>
 614                
 615                
 616                    <td width="42%">2.0</td>
 617                
 618                
 619                    <td width="58%">None</td>
 620                
 621                
 622                  </tr>
 623                
 624                
 625                  <tr>
 626                
 627                
 628                    <td width="42%">2.1</td>
 629                
 630                
 631 h.sterling 1.9     <td width="58%">None</td>
 632                
 633                
 634                  </tr>
 635                
 636                
 637                  <tr>
 638                
 639                
 640                    <td width="42%">2.2</td>
 641                
 642                
 643                    <td width="58%">PEP 57</td>
 644                
 645                
 646                  </tr>
 647                
 648                
 649                  <tr>
 650                
 651                
 652 h.sterling 1.9     <td width="42%">2.3</td>
 653                
 654                
 655                    <td width="58%">PEP 98</td>
 656                
 657                
 658                  </tr>
 659                
 660                
 661                  <tr>
 662                
 663                
 664                    <td style="vertical-align: top;">2.4<br>
 665                
 666                
 667                    </td>
 668                
 669                
 670                    <td style="vertical-align: top;">PEP 185<br>
 671                
 672                
 673 h.sterling 1.9     </td>
 674                
 675                
 676                  </tr>
 677                
 678                
 679                </tbody>
 680                
 681                
 682                </table>
 683                
 684                
 685                
 686                
 687                
 688                <h2><a name="avail_of_peg">Availability of Pegasus</a></h2>
 689                
 690                
 691                
 692                
 693                
 694 h.sterling 1.9 <p>Pegasus is distributed as open source under the MIT open-source license. The
 695                
 696                
 697                distribution is available via CVS and snapshot images in tar and zip file formats on the
 698                
 699                
 700                web site. The source code from CVS can be found at the following Open Group CVS server; </p>
 701                
 702                
 703                
 704                
 705                
 706                <p><font face="Courier New">&nbsp;&nbsp;&nbsp; cvs.opengroup.org:/cvs/MSB </font></p>
 707                
 708                
 709                
 710                
 711                
 712                <p>using the password authenticating server option (pserve). </p>
 713                
 714                
 715 h.sterling 1.9 
 716                
 717                
 718                <p>Anonymous access for read is with the name and password &quot;anon&quot; as follows: </p>
 719                
 720                
 721                
 722                
 723                
 724                <blockquote>
 725                
 726                
 727                  <p style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Courier New">%export
 728                
 729                
 730                  CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB </font></p>
 731                
 732                
 733                  <p style="margin-top: 0pt; margin-bottom: 0pt;"><font face="Courier New">%cvs login </font></p>
 734                
 735                
 736 h.sterling 1.9 </blockquote>
 737                
 738                
 739                
 740                
 741                
 742                <p>When requested, enter the password &quot;anon&quot;. The source tree is in the
 743                
 744                
 745                directory pegasus. To check out the complete Pegasus source tree just type: </p>
 746                
 747                
 748                
 749                
 750                
 751                <p><font face="Courier New">&nbsp;&nbsp;&nbsp; cvs co pegasus </font></p>
 752                
 753                
 754                
 755                
 756                
 757 h.sterling 1.9 <p>A Pegasus directory will be created under the current directory and populated with the
 758                
 759                
 760                complete source tree and documentation. To get the latest updates after a checkout just
 761                
 762                
 763                type this from Pegasus root: </p>
 764                
 765                
 766                
 767                
 768                
 769                <p><font face="Courier New">&nbsp;&nbsp;&nbsp; cvs update -d </font></p>
 770                
 771                
 772                
 773                
 774                
 775                <p>Active contributors to Pegasus have write access to the CVS repository. If you are
 776                
 777                
 778 h.sterling 1.9 interested in contributing back to the Pegasus project, (i.e. write (checkin) access to
 779                
 780                
 781                CVS) please request access from either Martin Kirk (<a
 782                
 783                
 784                href="mailto:(k.m.kirk@opengroup.org">m.kirk@opengroup.org</a>) or Karl Schopmeyer <a
 785                
 786                
 787                href="mailto:(k.schopmeyer@opengroup.org">k.schopmeyer@opengroup.org</a>. </p>
 788                
 789                
 790                
 791                
 792                
 793                <h2><a name="peg_maj_comp">Pegasus Major Components</a></h2>
 794                
 795                
 796                
 797                
 798                
 799 h.sterling 1.9 <p>The major components of Pegasus are: 
 800                
 801                
 802                
 803                
 804                
 805                <ul>
 806                
 807                
 808                  <li><b>Pegasus Server</b> - WBEM/CIM Server with interfaces for providers and clients </li>
 809                
 810                
 811                  <li><b>Pegasus Repositories</b> - Today Pegasus provides a defined class repository
 812                
 813                
 814                    interface and a simple file based class repository. It also includes an instance
 815                
 816                
 817                    repository. Note that these repository were created for functionality, not efficieny. It
 818                
 819                
 820 h.sterling 1.9     is expected that they will be replaced with other implementations of the respository
 821                
 822                
 823                    function as the need arises. </li>
 824                
 825                
 826                  <li><b>Pegasus Client Library</b> - Tools for building Pegasus clients based on the Pegasus
 827                
 828                
 829                    C++ interfaces and using the WBEM HTTP/XML protocols or directly interfacing with Pegasus.
 830                
 831                
 832                  </li>
 833                
 834                
 835                  <li><b>Pegasus Test Clients</b> - Simple test clients being developed as part of the Pegasus
 836                
 837                
 838                    development process. These can be seen in the src/Clients directory and its subdirectories
 839                
 840                
 841 h.sterling 1.9   </li>
 842                
 843                
 844                  <li><b>Pegasus HTML Test Client</b> - To aid in testing we created a test client for Pegasus
 845                
 846                
 847                    that uses a WEB server (ex. Apache) with a set of CGI modules and HTML to allow the entry
 848                
 849                
 850                    of Pegasus operations from a WEB browser as forms and the receipt of the response as WEB
 851                
 852                
 853                    pages. This has proven useful as a test tool and can be used for a wide variety of
 854                
 855                
 856                    demonstrations. </li>
 857                
 858                
 859                  <li><b>Pegasus Provider Library</b> - Tools for building Pegasus providers using the Pegasus
 860                
 861                
 862 h.sterling 1.9     C++ interfaces. </li>
 863                
 864                
 865                  <li><b>Pegasus Providers</b> - Providers to illustrate the use of Pegasus services including
 866                
 867                
 868                    providers for test and demonstration. </li>
 869                
 870                
 871                  <li><b>Pegasus Control Providers</b> - Common services for use by other Pegasus components
 872                
 873                
 874                    to extend Pegasus capabilites. </li>
 875                
 876                
 877                  <li><b>Pegasus MOF Compiler </b>- There&nbsp; standalone compiler (cimmofl) for MOF files
 878                
 879                
 880                    that can be used to install MOF into the Pegasus schema repository and also to check
 881                
 882                
 883 h.sterling 1.9     syntax. There is also a compiler that operates as a Pegasus client(cimmof) There is also a
 884                
 885                
 886                    tool to extract the MOF from the repository. </li>
 887                
 888                
 889                </ul>
 890                
 891                
 892                
 893                
 894                
 895                <h2><a name="peg_sup_plat">Pegasus Supported Platforms</a></h2>
 896                
 897                
 898                
 899                
 900                
 901                <p>Pegasus is regularly tested against a variety of platforms by the development
 902                
 903                
 904 h.sterling 1.9 group.&nbsp; The set of platforms and exact set of compilers for any given release is
 905                
 906                
 907                documented in the Release notes for that release (see the CVS source tree root directory
 908                
 909                
 910                or the Pegasus PEP defining the ReleaseNotes for any particular release).</p>
 911                
 912                
 913                
 914                
 915                
 916                <p>Pegasus is supported on a variety of platforms.&nbsp; The list of platforms can be
 917                
 918                
 919                found in the release notes associated with this release.<br>
 920                
 921                
 922                </p>
 923                
 924                
 925 h.sterling 1.9 
 926                
 927                
 928                <p><br>
 929                
 930                
 931                </p>
 932                
 933                
 934                
 935                
 936                
 937                <h2><a name="peg_dep">Pegasus Dependencies</a></h2>
 938                
 939                
 940                
 941                
 942                
 943                <p>We have worked to minimize the dependence of Pegasus on other software packages and
 944                
 945                
 946 h.sterling 1.9 tools. Currently Pegasus has the following dependencies: </p>
 947                
 948                
 949                
 950                
 951                
 952                <p><b>1. GNUMAKE</b> - To simplify the building of Pegasus across multiple platforms we
 953                
 954                
 955                have standardized on a set of build tools including: GNUMAKE. We are using GNUMAKE 3.79.1
 956                
 957                
 958                successfully both in Windows and Linux environments. </p>
 959                
 960                
 961                
 962                
 963                
 964                <p>GNUMAKE is available from :</p>
 965                
 966                
 967 h.sterling 1.9 
 968                
 969                
 970                <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a target="blank" href="http://www.gnu.org">http://www.gnu.org</a>
 971                
 972                
 973                </p>
 974                
 975                
 976                
 977                
 978                
 979                <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NOTE: A set of the required tools for windows
 980                
 981                
 982                platforms is available on the openpegasus web site.&nbsp; <a href="www.openpegasus.org">www.openpegasus.org</a><br>
 983                
 984                
 985                </p>
 986                
 987                
 988 h.sterling 1.9 
 989                
 990                
 991                <p><b>2. MU.EXE </b>- To minimize the difference between Linux and Windows for GNUMAKE, we
 992                
 993                
 994                have created a utility called MU.exe. This utility is required for Pegasus make with ONLY
 995                
 996                
 997                Windows environment. It is provided as an alternative to requiring a number of UNIX
 998                
 999                
1000                utilities (SH, RM, etc.) on the windows platform and effectively provides the functions of
1001                
1002                
1003                these utilities that GNUMAKE needs. MU is not required on UNIX or LINUX platforms. </p>
1004                
1005                
1006                
1007                
1008                
1009 h.sterling 1.9 <p>NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory. You must
1010                
1011                
1012                build it separately. MU source code is part of the distribution in the directory
1013                
1014                
1015                src/utils/MU with its own make file. You must compile MU before you initiate the Pegausu
1016                
1017                
1018                make. </p>
1019                
1020                
1021                
1022                
1023                
1024                <p>NOTE: A copy of the binary is made available as a zip file on the Pegasus WEB site. </p>
1025                
1026                
1027                
1028                
1029                
1030 h.sterling 1.9 <p>Again, MU is used ONLY if you are using Windows. </p>
1031                
1032                
1033                
1034                
1035                
1036                <p><b>3. FLEX and BISON</b> - These tools were used to develop the MOF compiler and WQL
1037                
1038                
1039                parser. Anybody intending to recompile the compiler or parser from scratch will be
1040                
1041                
1042                required to have these tools. They are only required if changes need to be made to the
1043                
1044                
1045                files for parsing and compiling. </p>
1046                
1047                
1048                <b>
1049                
1050                
1051 h.sterling 1.9 
1052                
1053                
1054                <p>4. DLCOMPAT - </b>dlcompat is a dlopen(3) et.al. compatibility library for Mac OS
1055                
1056                
1057                X/Darwin.<br>
1058                
1059                
1060                <br>
1061                
1062                
1063                <strong>NOTE</strong>:&nbsp; The dlcompat is not distributed with pegasus source.<br>
1064                
1065                
1066                dlcomapt is avilable from <br>
1067                
1068                
1069                <br>
1070                
1071                
1072 h.sterling 1.9 <a href="http://www.opendarwin.org/projects/dlcompat/">http://www.opendarwin.org/projects/dlcompat/
1073                
1074                
1075                </a><br>
1076                
1077                
1078                <br>
1079                
1080                
1081                Again, dlcomapt needs to be installed ONLY if you are using Mac OS X/Darwin.</p>
1082                
1083                
1084                
1085                
1086                
1087                <p><b>5. DOC++ </b>- The Pegasus documentation is taken from a combination of text files
1088                
1089                
1090                and the Pegasus header files themselves. This documentation is formatted with DOC++ and
1091                
1092                
1093 h.sterling 1.9 GAWK. These tools are required if the documentation is to be recreated but we expect that
1094                
1095                
1096                only the core team will be recreating documentation. </p>
1097                
1098                
1099                
1100                
1101                
1102                <p><b>6. ICU Internationalization libraries</b> - These libraries are used as the basis
1103                
1104                
1105                for message catalogs for message internationalization. See the ICU website
1106                
1107                
1108                (http://oss.software.ibm.com/icu/) for more information on these libraries</p>
1109                
1110                
1111                
1112                
1113                
1114 h.sterling 1.9 <p><strong>7.</strong> <b>OpenSSL </b>- If it is intended to use SSL on the communication
1115                
1116                
1117                protocol, the OpenSSL libraries are required.</p>
1118                
1119                
1120                
1121                
1122                
1123                <h1><a name="peg_dir_struc">The Pegasus Directory Structure</a></h1>
1124                
1125                
1126                
1127                
1128                
1129                <p>Pegasus is distributed as a complete source directory structure that should be
1130                
1131                
1132                installed either from one of the snapshots or from CVS. </p>
1133                
1134                
1135 h.sterling 1.9 
1136                
1137                
1138                <p>The Pegasus Directory is documented in<span style="color: rgb(51, 255, 51);"> <span
1139                
1140                
1141                style="color: rgb(0, 0, 0);">PEP 191</span> </span>and listed in the Pegasus /doc
1142                
1143                
1144                directory.<br>
1145                
1146                
1147                </p>
1148                
1149                
1150                
1151                
1152                
1153                <h1><a name="dev_with_peg">Development with Pegasus and Pegasus Tools</a></h1>
1154                
1155                
1156 h.sterling 1.9 
1157                
1158                
1159                <p>ATTN: This section needs to be completed. It should reference the more complete
1160                
1161                
1162                documentation. </p>
1163                
1164                
1165                
1166                
1167                
1168                <h1><a name="cmnd">Commands</a></h1>
1169                
1170                
1171                
1172                
1173                
1174                <p>The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on CVS) </p>
1175                
1176                
1177 h.sterling 1.9 
1178                
1179                
1180                <p>To see simple help for each of the commands, use the &quot;-h&quot; flag. </p>
1181                
1182                
1183                
1184                
1185                
1186                <blockquote>
1187                
1188                
1189                  <pre>Examples:
1190                
1191                
1192                bin/cimserver &#150;s (Shuts it down)
1193                
1194                
1195                bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags)
1196                
1197                
1198 h.sterling 1.9 bin/cimprovider &#150;l &#150;s (lists providers and their status)
1199                
1200                
1201                bin/cimprovider &#150;e &#150;m OperatingSystemModule (enables the OperatingSystem provider)
1202                
1203                
1204                bin/cimuser &#150;a &#150;u guest &#150;w ThePassword
1205                
1206                
1207                bin/cimuser &#150;l (lists the users)
1208                
1209                
1210                bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type)
1211                
1212                
1213                </pre>
1214                
1215                
1216                </blockquote>
1217                
1218                
1219 h.sterling 1.9 
1220                
1221                
1222                <h1><a name="docs">Pegasus Documentation</a></h1>
1223                
1224                
1225                
1226                
1227                
1228                <p>The documentation is currently in preparation.&nbsp; Much of Pegasus is documented in
1229                
1230                
1231                the PEGASUS PEPs which are the basis for approval of Pegasus functionality, changes,
1232                
1233                
1234                plans, etc.&nbsp; These documents are openly available on the PEGASUS web site.&nbsp; The
1235                
1236                
1237                preliminary documentation is not provided with this release. The current documentation is
1238                
1239                
1240 h.sterling 1.9 maintained both as a manual created under the tool DOC++ in the runtime subdirectory
1241                
1242                
1243                manual/html (see doc/devManual to create), as an api document also creatable from the
1244                
1245                
1246                source tree (see doc/apidoc) and as other miscellaneous documentation in the doc
1247                
1248                
1249                directory. Also there is a set of release notes. Normally the release notes for the
1250                
1251                
1252                current release are available in the root source directory of CVS.</p>
1253                
1254                
1255                
1256                
1257                
1258                <p>Note that the Pegasus WEB site at The Open Group will be the source of most
1259                
1260                
1261 h.sterling 1.9 documentation in the future and today is the source of most discussion and design
1262                
1263                
1264                documentation. </p>
1265                
1266                
1267                
1268                
1269                
1270                <h1><a name="part">Participate!</a></h1>
1271                
1272                
1273                
1274                
1275                
1276                <p>We are looking for people who want to join the Pegasus work group and contribute to
1277                
1278                
1279                effort of getting this Pegasus off the ground. Please join the mailing list by visiting
1280                
1281                
1282 h.sterling 1.9 www.openpegasus.org, and click on Mailing Lists. &nbsp;</p>
1283                
1284                
1285                
1286                
1287                
1288                <h1><a name="inst_peg">Install Pegasus</a> </h1>
1289                
1290                
1291                
1292                
1293                
1294                <p>You can install and run Pegasus on any of the supported platforms. The installation
1295                
1296                
1297                process includes the following steps: 
1298                
1299                
1300                
1301                
1302                
1303 h.sterling 1.9 <ol>
1304                
1305                
1306                  <li>Download or checkout Pegasus. </li>
1307                
1308                
1309                  <li>Verify that you have the required software. </li>
1310                
1311                
1312                  <li>Set environment variables. </li>
1313                
1314                
1315                  <li>Build the Pegasus runtime, test files, test clients and repository. </li>
1316                
1317                
1318                </ol>
1319                
1320                
1321                
1322                
1323                
1324 h.sterling 1.9 <p><a name="download"><strong>Step 1: Download or checkout Pegasus</strong></a></p>
1325                
1326                
1327                
1328                
1329                
1330                <p>Pegasus is freely available from the open group's Pegasus home page: <a target="blank"
1331                
1332                
1333                href="http://www.openpegasus.org">http://www.openpegasus.org</a>. To obtain Pegasus, you
1334                
1335                
1336                can either check it out using CVS or download a snapshot image of the soruce distribution.
1337                
1338                
1339                For more information about checking out Pegasus using CVS, see: <a href="#avail_of_peg">Availability
1340                
1341                
1342                of Pegasus</a>. </p>
1343                
1344                
1345 h.sterling 1.9 
1346                
1347                
1348                <p>Pegasus is not currently releasing binaries, but you can create RPMs using a script
1349                
1350                
1351                included with the source distribution. See <a href="#bld_rpms">Building RPMs for Pegasus</a>
1352                
1353                
1354                for more information. </p>
1355                
1356                
1357                
1358                
1359                
1360                <p><a name="vfy_req_sw"><strong>Step 2: Verify that you have the required software</strong></a></p>
1361                
1362                
1363                
1364                
1365                
1366 h.sterling 1.9 <p>Refer to the section <a href="#peg_dep">Pegasus Dependencies</a> and verify that you
1367                
1368                
1369                have the software required for your Operating System and planned usage of Pegasus. </p>
1370                
1371                
1372                
1373                
1374                
1375                <p><a name="set_envt_var"><strong>Step 3: Set the environment variables</strong></a></p>
1376                
1377                
1378                
1379                
1380                
1381                <p>Before installing or running Pegasus, ensure that the following environment variables
1382                
1383                
1384                have been defined or updated: 
1385                
1386                
1387 h.sterling 1.9 
1388                
1389                
1390                <dl>
1391                
1392                
1393                  <dt>PEGASUS_ROOT </dt>
1394                
1395                
1396                  <dd>Defines the path to the &quot;pegasus&quot; directory you've pulled from CVS, for
1397                
1398                
1399                    example: <tt>/opt/pegasus/pegasus-2.3.2</tt> <br>
1400                
1401                
1402                  </dd>
1403                
1404                
1405                  <dt>PEGASUS_HOME </dt>
1406                
1407                
1408 h.sterling 1.9   <dd>Defines the directory that will contain the output binary files. For example, if you set
1409                
1410                
1411                    this to <tt>$HOME/pegasus_home</tt>, then the output will go into <tt>$HOME/pegasus_home/bin</tt>
1412                
1413                
1414                    and <tt>$HOME/pegasus_home/lib.</tt> <br>
1415                
1416                
1417                    If you plan on doing parallel builds, you may want to define a unique PEGASUS_HOME value
1418                
1419                
1420                    for each build you need, that way the output of each build will be placed in its own
1421                
1422                
1423                    directory, for example: <tt>$HOME/pegasus_home_LINUX_IX86_GNU.</tt> <br>
1424                
1425                
1426                  </dd>
1427                
1428                
1429 h.sterling 1.9   <dt>PEGASUS_PLATFORM </dt>
1430                
1431                
1432                  <dd>Identifies the platform to be built. Each supported platform has a unique identifier
1433                
1434                
1435                    with the following form: <br>
1436                
1437                
1438                    <tt>&lt;Operating-System&gt;_&lt;Architecture&gt;_&lt;Compiler&gt;</tt> <p>The following
1439                
1440                
1441                    values are tested for the OpenPegasus release:<br>
1442                
1443                
1444                    <ul>
1445                
1446                
1447                      <li>AIX_RS_IBMCXX </li>
1448                
1449                
1450 h.sterling 1.9       <li>HPUX_IA64_ACC </li>
1451                
1452                
1453                      <li>HPUX_PARISC_ACC </li>
1454                
1455                
1456                      <li>LINUX_IA64_GNU </li>
1457                
1458                
1459                      <li>LINUX_IX86_GNU </li>
1460                
1461                
1462                      <li>LINUX_PPC_GNU </li>
1463                
1464                
1465                      <li>LINUX_ZSERIES_GNU </li>
1466                
1467                
1468                      <li>NSK_NONSTOP_NMCPLUS </li>
1469                
1470                
1471 h.sterling 1.9       <li>SOLARIS_SPARC_CC </li>
1472                
1473                
1474                      <li>SOLARIS_SPARC_GNU </li>
1475                
1476                
1477                      <li>TRU64_ALPHA_DECCXX </li>
1478                
1479                
1480                      <li>WIN32_IX86_MSVC</li>
1481                
1482                
1483                      <li>ZOS_ZSERIES_IBM</li>
1484                
1485                
1486                      <li>DARWIN_PPC_GNU </li>
1487                
1488                
1489                    </ul>
1490                
1491                
1492 h.sterling 1.9   </dd>
1493                
1494                
1495                  <dt>PATH </dt>
1496                
1497                
1498                  <dd>Add $PEGASUS_HOME/bin to your path.</dd>
1499                
1500                
1501                </dl>
1502                
1503                
1504                
1505                
1506                
1507                <p>Additional configuration: 
1508                
1509                
1510                
1511                
1512                
1513 h.sterling 1.9 <ul>
1514                
1515                
1516                  <li>For Unix builds, place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH. </li>
1517                
1518                
1519                  <li>For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib.</li>
1520                
1521                
1522                </ul>
1523                
1524                
1525                
1526                
1527                
1528                <p><a name="bld"><strong>Step 4: Build the Pegasus runtime, test files, test clients and
1529                
1530                
1531                repository</strong></a></p>
1532                
1533                
1534 h.sterling 1.9 
1535                
1536                
1537                <p>Pegasus includes several make files that enable you to quickly build or refresh the
1538                
1539                
1540                Pegasus runtime, test files, test client and the repository. To use these make files, type
1541                
1542                
1543                &quot;make&quot; followed by one of the supplied targets. </p>
1544                
1545                
1546                
1547                
1548                
1549                <p>To build Pegasus, run the following commands from the root directory of the Pegasus
1550                
1551                
1552                distribution: 
1553                
1554                
1555 h.sterling 1.9 
1556                
1557                
1558                <ol>
1559                
1560                
1561                  <li>Enter <tt>make</tt> <p>This builds all of Pegasus. </p>
1562                
1563                
1564                  </li>
1565                
1566                
1567                  <li>Enter <tt>make repository</tt> <p>This creates the repository, which is needed to serve
1568                
1569                
1570                    data. To create the additional namespaces that represent the test support you can also
1571                
1572                
1573                    execute &quot;make testrepository&quot;. </p>
1574                
1575                
1576 h.sterling 1.9   </li>
1577                
1578                
1579                  <li>Enter <tt>make tests</tt> <p>This executes all the tests included with the Pegasus
1580                
1581                
1582                    distribution, except the client/server tests. The client/server tests are executed
1583                
1584                
1585                    separately from the above because they require the initiation of separate process for the
1586                
1587                
1588                    Pegasus server and Pegasus client. To execute these tests, refer to the scripts in
1589                
1590                
1591                    pegasus/mak/BuildMakefile. Refer to the prestarttests and poststarttests in this file. </p>
1592                
1593                
1594                  </li>
1595                
1596                
1597 h.sterling 1.9 </ol>
1598                
1599                
1600                
1601                
1602                
1603                <p>The following make targets are supported: 
1604                
1605                
1606                
1607                
1608                
1609                <ul>
1610                
1611                
1612                  <li>&lt;default&gt; - Build everything. </li>
1613                
1614                
1615                  <li>clean - Clean out all objects, libs, and executables. </li>
1616                
1617                
1618 h.sterling 1.9   <li>depend - Create the dependencies. </li>
1619                
1620                
1621                  <li>repository - Create the repository in $PEGASUS_HOME/repository </li>
1622                
1623                
1624                  <li>tests - Execute all tests (except client server tests). </li>
1625                
1626                
1627                  <li>rebuild - clean, depend, &lt;default&gt; </li>
1628                
1629                
1630                  <li>world - depend, &lt;default&gt; </li>
1631                
1632                
1633                </ul>
1634                
1635                
1636                
1637                
1638                
1639 h.sterling 1.9 <p>Generally the build commands are as follows: 
1640                
1641                
1642                
1643                
1644                
1645                <ol>
1646                
1647                
1648                  <li>There is a Makefile in the Pegasus root directory. Simply executing make in the Pegasus
1649                
1650                
1651                    root directory will make everything. &quot;make rebuild&quot; will clean and rebuild
1652                
1653                
1654                    everything. The &quot;make rebuild&quot; will also populate the repository with the
1655                
1656                
1657                    current CIM Schemas. </li>
1658                
1659                
1660 h.sterling 1.9   <li>To test a fresh release, go to the pegasus root and type &quot;<font face="Courier New">make
1661                
1662                
1663                    world</font>&quot;.&nbsp; This will build dependencies, build binaries, and then run all
1664                
1665                
1666                    tests except the Client/Server tests. </li>
1667                
1668                
1669                  <li>To execute the basic test suite that is shipped with pegasus type&nbsp; &quot;make
1670                
1671                
1672                    tests&quot;. This also reinstalls the repository.&nbsp; Running &quot;make -s tests&quot;
1673                
1674                
1675                    suppresses extraneous output such as the enter/leave directory messages. </li>
1676                
1677                
1678                  <li>&quot;make clean&quot; removes all object and library files from the structure. </li>
1679                
1680                
1681 h.sterling 1.9   <li>A new build system has been added to Pegasus where a new CVS checkout is done, built,
1682                
1683                
1684                    and tests are run. Do it by: &quot;make -f mak/BuildMakefile cleanbuild&quot; </li>
1685                
1686                
1687                </ol>
1688                
1689                
1690                
1691                
1692                
1693                <h2><a name="pop_peg_rep">Populate the Pegasus repository</a> </h2>
1694                
1695                
1696                
1697                
1698                
1699                <p>Before using Pegasus you must populate the repository. Typically, this is done during
1700                
1701                
1702 h.sterling 1.9 the buld process when you run the makefile. However, you can also do it manually after the
1703                
1704                
1705                Pegasus has been built. 
1706                
1707                
1708                
1709                
1710                
1711                <ol>
1712                
1713                
1714                  <li>Register the MOF (Managed Object Format) file describing the skeleton of the object. </li>
1715                
1716                
1717                  <li>Register a second MOF which only points out which lib*.so file to be loaded when a
1718                
1719                
1720                    specific object is activated. </li>
1721                
1722                
1723 h.sterling 1.9 </ol>
1724                
1725                
1726                
1727                
1728                
1729                <p>The providers included with Pegasus are automatically entered into the repository by
1730                
1731                
1732                running the following command: <tt>make repository</tt> </p>
1733                
1734                
1735                
1736                
1737                
1738                <p>The 'make repository' in pegasus/Schemas does three things: 
1739                
1740                
1741                
1742                
1743                
1744 h.sterling 1.9 <ul>
1745                
1746                
1747                  <li>Generates the CIM Schema v2.8 in the repository (skeleton of CIM objects). To do this,
1748                
1749                
1750                    it runs the MOF compiler on the CIM schema: <tt>cimmofl -Schema v2.8</tt> </li>
1751                
1752                
1753                  <li>Sets up operations (shutdown, add users, etc) and CIM indications (SNMP, Events, Alert,
1754                
1755                
1756                    Threshold, etc) internal to the Pegasus schema by running the following command: <tt>cimmofl
1757                
1758                
1759                    -PG_InterOp</tt> </li>
1760                
1761                
1762                  <li>Registers included CIM Providers (libOSProvider.so, libDNSProvider.so, &#133; ) in
1763                
1764                
1765 h.sterling 1.9     Pegasus (which are located in src/Providers) by running: <tt>cimmofl -PG_ManagedSystem</tt>
1766                
1767                
1768                  </li>
1769                
1770                
1771                </ul>
1772                
1773                
1774                
1775                
1776                
1777                <h2><a name="reg_prov">Registering Providers in the Pegasus Environment</a></h2>
1778                
1779                
1780                
1781                
1782                
1783                <p>Pegasus registers providers with a set of provider registration classes, not using the
1784                
1785                
1786 h.sterling 1.9 provider qualifier as is done in most DMTF CIM CIMOM implementations today. This set of
1787                
1788                
1789                classes is close to but not exactly the same as the current DMTF definition (See the DMTF
1790                
1791                
1792                Interop schema, experimental versions starting with 2.6). This will be harmonized in the
1793                
1794                
1795                future when the DMTF scheme is moved to final status.&nbsp; </p>
1796                
1797                
1798                
1799                
1800                
1801                <p>Registration is performed by defining a MOF for the instances of the registration
1802                
1803                
1804                classes that represent the porvider module, providers, classes, etc. to be
1805                
1806                
1807 h.sterling 1.9 registered.&nbsp; The easiest way to create a new registration today is to copy from one
1808                
1809                
1810                of the existing registration MOFs.&nbsp; See the providers/sample/load directory for
1811                
1812                
1813                examples of several registration instance implementations that do work with Pegasus today.</p>
1814                
1815                
1816                
1817                
1818                
1819                <h2><a name="bld_rpms">Building RPMs for Pegasus</a> </h2>
1820                
1821                
1822                
1823                
1824                
1825                <p>The source distribution includes a script you can use to create an RPM for Pegasus. To
1826                
1827                
1828 h.sterling 1.9 do this, your environment must meet the following requirements: 
1829                
1830                
1831                
1832                
1833                
1834                <ul>
1835                
1836                
1837                  <li>The root directory for Pegasus must be &quot;/Pegasus-1.0&quot; </li>
1838                
1839                
1840                  <li>Your environment variables must be set, as described in <a href="#set_envt_var">Set
1841                
1842                
1843                    evironment variables</a>. </li>
1844                
1845                
1846                  <li>You must be logged in as the root user.</li>
1847                
1848                
1849 h.sterling 1.9 </ul>
1850                
1851                
1852                
1853                
1854                
1855                <p>To create the RPMs, run the script <tt>rpmBuild</tt> from the root directory of the
1856                
1857                
1858                source distribution. For example: <tt>. /usr/source/pegasus-1.0/rpmBuild</tt> </p>
1859                
1860                
1861                
1862                
1863                
1864                <p>This will result in and RPM file names <tt>pegasus&lt;version number&gt;.rpm</tt>. </p>
1865                
1866                
1867                
1868                
1869                
1870 h.sterling 1.9 <p><strong>Note</strong>: After you install using the install using the PRM, you must
1871                
1872                
1873                crate and populate teh repository manually. </p>
1874                
1875                
1876                <strong>
1877                
1878                
1879                
1880                
1881                
1882                <p>Question: I'm still working on this procedure (I haven't gotten it to work yet).<br>
1883                
1884                
1885                <br>
1886                
1887                
1888                </strong></p>
1889                
1890                
1891 h.sterling 1.9 
1892                
1893                
1894                <h2><a name="note_bld_peg_lnx">Notes about Building Pegasus on Linux </a></h2>
1895                
1896                
1897                
1898                
1899                
1900                <p>Pegasus supports many distributions of Linux. Refer to <a href="#peg_sup_plat">Pegasus
1901                
1902                
1903                Supported Platforms</a> for more information. </p>
1904                
1905                
1906                
1907                
1908                
1909                <p>To build Pegasus on Linux, ensure that you you have the environment variables set
1910                
1911                
1912 h.sterling 1.9 (PEGASUS_HOME, PEGASUS_ROOT, PEGASUS_PLATFORM.&nbsp; For 32 bit linux, the definition of
1913                
1914                
1915                PEGASUS_PLATFORM is normally LINUX_IX86_GNU. </p>
1916                
1917                
1918                
1919                
1920                
1921                <p><br>
1922                
1923                
1924                </p>
1925                
1926                
1927                
1928                
1929                
1930                <h2><a name="bld_peg_win">Notes on building Pegasus on Windows 2k or Windows XP with
1931                
1932                
1933 h.sterling 1.9 Microsoft Visual C++ </a></h2>
1934                
1935                
1936                
1937                
1938                
1939                <p>Use of Windows 2000 SP3 or later is recommended.&nbsp; Pegasus is regularly tested on
1940                
1941                
1942                both Windows 2000 and Windows XP using the Microsoft compilers.</p>
1943                
1944                
1945                
1946                
1947                
1948                <p>Today we build Pegasus on Windows using a set of make files contained in the source
1949                
1950                
1951                distribution, the Microsoft compilers (DevStudio 5.x is not supported, Visual Studio 6.0,
1952                
1953                
1954 h.sterling 1.9 SP5 is supported) and the GNUMAKE make utility.&nbsp; Note that you MUST have the Pegasus <a
1955                
1956                
1957                href="#mu_utility">mu.exe </a>utility compiled and available before trying to compile
1958                
1959                
1960                Pegasus on the normal windows platform. The following is the basic setup steps for the
1961                
1962                
1963                environment. </p>
1964                
1965                
1966                
1967                
1968                
1969                <p>Setup the environment variables and path for the Micrososft Visual C compiler.
1970                
1971                
1972                Typically this can be done by running the VCVARS32.BAT file supplied with Microsoft Visual
1973                
1974                
1975 h.sterling 1.9 C++. (contained in the same directory as cl.exe). </p>
1976                
1977                
1978                
1979                
1980                
1981                <p>For Windows, try the following for an example environment: </p>
1982                
1983                
1984                
1985                
1986                
1987                <blockquote>
1988                
1989                
1990                  <pre>REM call the standard Microsoft .bat for VC 6 setup. 
1991                
1992                
1993                call 'C:/Program Files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat' 
1994                
1995                
1996 h.sterling 1.9 REM Set debug to something if you want compile in debug mode 
1997                
1998                
1999                set PEGASUS_DEBUG=true 
2000                
2001                
2002                REM set PEGASUS_ROOT to top of source tree 
2003                
2004                
2005                set PEGASUS_ROOT=C:/cimom/pegasus (Note: <span
2006                
2007                
2008                class="norm">The '/' characters are intentional and required by the Pegasus build system)</span>
2009                
2010                
2011                REM set PEGASUS_HOME to where you want repository and executables
2012                
2013                
2014                set PEGASUS_HOME=%PEGASUS_ROOT% 
2015                
2016                
2017 h.sterling 1.9 REM setup the path to the runtime files. 
2018                
2019                
2020                set path=%path%;%PEGASUS_HOME%\bin 
2021                
2022                
2023                </pre>
2024                
2025                
2026                </blockquote>
2027                
2028                
2029                
2030                
2031                
2032                <h3><a name="mu_utility">The MU Utility </a></h3>
2033                
2034                
2035                
2036                
2037                
2038 h.sterling 1.9 <p>In order to provide a consistent build structure across multiple platforms, we
2039                
2040                
2041                developed a small utility to provide a consistent set of small utilities across these
2042                
2043                
2044                platforms. The MU utilityis a simple utility that contains many commands. For example: </p>
2045                
2046                
2047                
2048                
2049                
2050                <p><font face="Courier New">&nbsp;&nbsp;&nbsp; C:\&gt; mu rm myfile.cpp yourfile.cpp </font></p>
2051                
2052                
2053                
2054                
2055                
2056                <p>You may type &quot;mu&quot; to get a list of valid commands. Here are some of them: </p>
2057                
2058                
2059 h.sterling 1.9 
2060                
2061                
2062                <p>&nbsp;&nbsp;&nbsp; rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare
2063                
2064                
2065                depend </p>
2066                
2067                
2068                
2069                
2070                
2071                <p>The MU utility supports globing (expansion of wildcards) so you can do things like
2072                
2073                
2074                this: </p>
2075                
2076                
2077                
2078                
2079                
2080 h.sterling 1.9 <p><font face="Courier New">&nbsp;&nbsp;&nbsp; C:\&gt; mu rm *.obj *.exe </font></p>
2081                
2082                
2083                
2084                
2085                
2086                <p>MU is required to build under the Windows environment. MU is available as part of the
2087                
2088                
2089                distribution of Pegasus.<br>
2090                
2091                
2092                </p>
2093                
2094                
2095                
2096                
2097                
2098                <h2><a name="note_bld_peg_mac">Notes about Building Pegasus on Mac OS X </a></h2>
2099                
2100                
2101 h.sterling 1.9 
2102                
2103                
2104                <p>No problem. Just make sure you have the environment variables set (PEASUS_HOME,
2105                
2106                
2107                PEGASUS_ROOT, PEGASUS_PLATFORM. For Mac OS X/Darwin, the defination of PEGASUS_PLATFORM is
2108                
2109                
2110                DARWIN_PPC_GNU.</p>
2111                
2112                
2113                
2114                
2115                
2116                <h2><br>
2117                
2118                
2119                <a name="note_bld_peg_ssl">Notes about Building Pegasus with SSL </a></h2>
2120                
2121                
2122 h.sterling 1.9 
2123                
2124                
2125                <p>Refer to the <A HREF="doc/PegasusSSLGuidelines.htm">Pegasus SSL Guidelines</A> for details on how to build and configure Pegasus for SSL support.
2126                
2127                
2128                
2129                <h1><a name="test">Testing a Pegasus Installation</a></h1>
2130                
2131                
2132                
2133                
2134                
2135                <p>Pegasus includes an extensive set of test facilities as part of the CVS enviroment,
2136                
2137                
2138                including: 
2139                
2140                
2141                
2142                
2143 h.sterling 1.9 
2144                <ul>
2145                
2146                
2147                  <li><b>Test Clients</b> - There are several clients that have been built specifically to
2148                
2149                
2150                    test Pegasus, or parts of Pegasus, including TestClient, Client, CLI, ipinfo, osinfo,
2151                
2152                
2153                    WbemEsec, etc. See the src/Clients directory for more information. These programs require
2154                
2155                
2156                    a server complete with repository to be running.&nbsp; Note that some of these tests use
2157                
2158                
2159                    classes and instances that are only installed with the &quot;make testrepository&quot;
2160                
2161                
2162                    functions including test namespaces and extra classes and instances in those namespaces
2163                
2164 h.sterling 1.9 
2165                    and additional providers from the providers/sample and proviers/testproviders directories.
2166                
2167                
2168                  </li>
2169                
2170                
2171                  <li><b>Sample and test providers</b> -&nbsp; Test providers exist for the major provider
2172                
2173                
2174                    types in the providers/sample directories and the providers/testProviders directory </li>
2175                
2176                
2177                  <li><b>Unit Tests</b> - Most Pegasus functions include unit tests for the functions.&nbsp;
2178                
2179                
2180                    These are normally executed with the &quot;make tests&quot; command which can be executed
2181                
2182                
2183                    at many different levels of the source tree from the top level to execute all of the unit
2184                
2185 h.sterling 1.9 
2186                    tests to individual directories.&nbsp; Usually the unit test functions can be found in
2187                
2188                
2189                    test directories immediately below their corresponding source code (i.e&nbsp; common/tests
2190                
2191                
2192                    is the unit test functions for the common directory). Unit tests are executed without the
2193                
2194                
2195                    server being operational and normally do not require the existence of a Class repository. </li>
2196                
2197                
2198                  <li><b>An end-to-end Test Suite</b> - the directory &quot;test&quot; contains a set of
2199                
2200                
2201                    operations tests that cover the major CIM operations.&nbsp; See the make file TestMakefile
2202                
2203                
2204                    in the PEGASUS_ROOT directory to execute these tests.&nbsp; This set of tests executes an
2205                
2206 h.sterling 1.9 
2207                    extensive set of fixed tests and compares the results against predefined results.</li>
2208                
2209                
2210                </ul>
2211                
2212                
2213                
2214                
2215                
2216                <h2><a name="inst_peg_html">Installing the Pegasus HTML Test Client</a></h2>
2217                
2218                
2219                
2220                
2221                
2222                <p>This is a separate test tool that allows Pegasus requests to be initiated from any WEB
2223                
2224                
2225                browser and that uses a WEB browser, CGI scripts and HTML pages for the formatting and
2226                
2227 h.sterling 1.9 
2228                connections. It requires a WEB server, etc. The instructions for setting up this
2229                
2230                
2231                environment are maintained in a separate readme in the CGI directory. </p>
2232                
2233                
2234                
2235                
2236                
2237                <h2><a name="test_icu">Testing with ICU enabled</a></h2>
2238                
2239                
2240                
2241                
2242                
2243                <p>ICU (International Components for Unicode) refers to the set of libraries that Pegasus
2244                
2245                
2246                uses to run globalized. For example: these libraries are used to load messages in
2247                
2248 h.sterling 1.9 
2249                different languages, format currency and numbers according to a specific locale etc. In
2250                
2251                
2252                order to enable globalization in Pegasus, Pegasus must be built with ICU enabled, ie. the
2253                
2254                
2255                right environment variables must be set prior to running &quot;make&quot;. Refer to the
2256                
2257                
2258                GlobalizationHOWTO.htm in the docs directory for details.<br>
2259                
2260                
2261                </p>
2262                
2263                
2264                
2265                
2266                
2267                <p>&nbsp;When users run &quot;make poststarttests&quot; to verify the integrity of a
2268                
2269 h.sterling 1.9 
2270                Pegasus download, a series of tests are run that require the cimserver to be running.
2271                
2272                
2273                These tests currently depend on specific messages returned from the server. When ICU is
2274                
2275                
2276                enabled, all messages come from the resource bundles and these usually do not match the
2277                
2278                
2279                hardcoded default messages within Pegasus. These hardcoded default messages are what the
2280                
2281                
2282                various test programs expect in order to complete successfully. If the ICU enabled server
2283                
2284                
2285                is started without disabling message loading from the bundles, &quot;make
2286                
2287                
2288                poststartests&quot; will fail. In order to run &quot;make poststarttests&quot;
2289                
2290 h.sterling 1.9 
2291                successfully with ICU enabled, an environment variable called PEGASUS_USE_DEFAULT_MESSAGES
2292                
2293                
2294                must exist prior to starting the server. Once this is defined, when the cimserver starts,
2295                
2296                
2297                all messages generated will be the default hardcoded messages. This will enable &quot;make
2298                
2299                
2300                poststarttests&quot; to complete successfully. Once &quot;make poststarttests&quot; is
2301                
2302                
2303                complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES. If
2304                
2305                
2306                this variable is left defined, Pegasus will not be able to load messages using ICU
2307                
2308                
2309                resource bundles.<br>
2310                
2311 h.sterling 1.9 
2312                </p>
2313                
2314                
2315                
2316                
2317                
2318                <p><span class="norm"></span><font style="color: rgb(0, 0, 0);">When running the make
2319                
2320                
2321                tests command with ICU enabled, the PEGASUS_MSG_HOME environment variable must be set to
2322                
2323                
2324                the home directory where the ICU resource bundles are built. By default the resource
2325                
2326                
2327                bundles are built into directories below PEGASUS_HOME/msg, so that should be the setting
2328                
2329                
2330                for PEGASUS_MSG_HOME.<br>
2331                
2332 h.sterling 1.9 
2333                </font></p>
2334                
2335                
2336                
2337                
2338                
2339                <p><font style="color: rgb(0, 0, 0);">-------------------------------------------------------------------------------------------------------------------------------------<br>
2340                
2341                
2342                </font></p>
2343                
2344                
2345                
2346                
2347                
2348                <p><i><font size="2">Copyright (c) 2004 EMC Corporation; Hewlett-Packard Development
2349                
2350                
2351                Company, L.P.; IBM Corp.; The Open Group; VERITAS Software Corporation</font><br>
2352                
2353 h.sterling 1.9 
2354                <br>
2355                
2356                
2357                <font size="1">Permission is hereby granted, free of charge, to any person obtaining a
2358                
2359                
2360                copy&nbsp; of this software and associated documentation files (the &quot;Software&quot;),
2361                
2362                
2363                to deal in the Software without restriction, including without limitation the rights to
2364                
2365                
2366                use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
2367                
2368                
2369                Software, and to permit persons to whom the Software is furnished to do so, subject to the
2370                
2371                
2372                following conditions:</font><br>
2373                
2374 h.sterling 1.9 
2375                <font size="2"><br>
2376                
2377                
2378                </font><font size="1">THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE
2379                
2380                
2381                INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS
2382                
2383                
2384                PROVIDED&nbsp; &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
2385                
2386                
2387                INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
2388                
2389                
2390                PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
2391                
2392                
2393                FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
2394                
2395 h.sterling 1.9 
2396                OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2397                
2398                
2399                DEALINGS IN THE SOFTWARE.<br>
2400                
2401                
2402                </font></i></p>
2403                
2404                
2405                
2406                
2407                
2408                <p><i><font size="1"><br style="font-family: arial;">
2409                
2410                
2411                <big><big><span style="font-family: arial;">------------------------End of
2412                
2413                
2414                Document-------------------------<br>
2415                
2416 h.sterling 1.9 
2417                </span></big></big></font></i></p>
2418                
2419                
2420                </body>
2421                
2422                
2423                </html>
2424                
2425                

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2