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: </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"> 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. Removed
197
198
199 /Directory structure section and placed into seperate document.<br>
200
201
202 <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> 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 Pegasus release version
335
336
337 h.sterling 1.9 2.4.0 - 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
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> <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"> 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 "anon" 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 "anon". 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"> 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"> 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 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. 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. 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> <a target="blank" href="http://www.gnu.org">http://www.gnu.org</a>
971
972
973 </p>
974
975
976
977
978
979 <p> NOTE: A set of the required tools for windows
980
981
982 platforms is available on the openpegasus web site. <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>: 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 "-h" flag. </p>
1181
1182
1183
1184
1185
1186 <blockquote>
1187
1188
1189 <pre>Examples:
1190
1191
1192 bin/cimserver –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 –l –s (lists providers and their status)
1199
1200
1201 bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider)
1202
1203
1204 bin/cimuser –a –u guest –w ThePassword
1205
1206
1207 bin/cimuser –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. 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. These documents are openly available on the PEGASUS web site. 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. </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 "pegasus" 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><Operating-System>_<Architecture>_<Compiler></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 "make" 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 "make testrepository". </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><default> - 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, <default> </li>
1628
1629
1630 <li>world - depend, <default> </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. "make rebuild" will clean and rebuild
1652
1653
1654 everything. The "make rebuild" 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 "<font face="Courier New">make
1661
1662
1663 world</font>". 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 "make
1670
1671
1672 tests". This also reinstalls the repository. Running "make -s tests"
1673
1674
1675 suppresses extraneous output such as the enter/leave directory messages. </li>
1676
1677
1678 <li>"make clean" 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: "make -f mak/BuildMakefile cleanbuild" </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, … ) 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. </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. The easiest way to create a new registration today is to copy from one
1808
1809
1810 of the existing registration MOFs. 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 "/Pegasus-1.0" </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<version number>.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. 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. 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. 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"> C:\> mu rm myfile.cpp yourfile.cpp </font></p>
2051
2052
2053
2054
2055
2056 <p>You may type "mu" to get a list of valid commands. Here are some of them: </p>
2057
2058
2059 h.sterling 1.9
2060
2061
2062 <p> 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"> C:\> 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. Note that some of these tests use
2157
2158
2159 classes and instances that are only installed with the "make testrepository"
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> - 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.
2178
2179
2180 These are normally executed with the "make tests" 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. Usually the unit test functions can be found in
2187
2188
2189 test directories immediately below their corresponding source code (i.e 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 "test" contains a set of
2199
2200
2201 operations tests that cover the major CIM operations. See the make file TestMakefile
2202
2203
2204 in the PEGASUS_ROOT directory to execute these tests. 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 "make". 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> When users run "make poststarttests" 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, "make
2286
2287
2288 poststartests" will fail. In order to run "make poststarttests"
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 "make
2298
2299
2300 poststarttests" to complete successfully. Once "make poststarttests" 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 of this software and associated documentation files (the "Software"),
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 "AS IS", 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
|