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

  1 karl  1.11 
  2            OpenPegasus - A Manageability Services Broker for the DMTF CIM/WBEM Standards
  3 karl  1.1  
  4 mike  1.3  Author: Mike Brasher, Karl Schopmeyer
  5            
  6 karl  1.11 Tagline: OpenPegasus is an object manager for DMTF CIM objects written in C++
  7 karl  1.5           and supported by The Open Group
  8 karl  1.4  
  9 karl  1.14 STATUS: Revised October 2003 to match Pegasus release 2.3
 10 karl  1.11 Contents:
 11 mike  1.7  =========
 12            
 13 karl  1.11 1.  Overview
 14            2.  Availability of Pegasus
 15            3.  Pegasus major components
 16            4.  Pegasus Dependencies
 17            5.  The Pegasus Directory Structure
 18            6.  Installation
 19            7.  Building Pegasus
 20            8.  Populate the Repository
 21            9.  The MU Utility
 22            10. Notes about Building Pegasus on Linux
 23            11. Notes on building Pegasus with SSL
 24            12. Building Pegasus on Windows 2000 or Windows XP With Microsoft Visual C++
 25            13. Installing the Pegasus HTML Test Client
 26            14. Development with Pegasus and Pegasus Tools
 27            15. Commands
 28            16. Creating SSL certifications.
 29 humberto 1.13 17. Testing with ICU enabled
 30               18. Documentation
 31               19. Participate
 32 karl     1.11 
 33               
 34               
 35               
 36               1. Overview:
 37               ============
 38               
 39               OpenPegasus (also refered to as Pegasus):
 40               
 41 karl     1.5  Pegasus is an open-source object manager for DMTF CIM objects. It is written
 42               in C++ and includes the Object manager, a set of defined interfaces, and SDKs
 43               for both client, providers, and services extensions.  It is maintained
 44               consistent with the DMTF CIM and WBEM specifications except for any exceptions
 45               noted in the documentation.
 46 karl     1.1  
 47               This distribution represents a work in progress towards building a Pegasus
 48 mike     1.3  release. Pegasus is open source and is covered under the following license.
 49 karl     1.1  This version is incomplete and is directed towards evaluators and developers
 50               of the Pegasus Architecture.
 51               
 52               Pegasus is being developed and maintained under the auspices of The Open
 53               Group. Pegasus is maintained under the license defined in the doc directory
 54               (LICENSE) of this release.  This licensing is intended to support as wide a
 55               distribution as possible with minimal demands on the users.
 56               
 57 karl     1.11 This distribution represents a snapshot of the current work. Currently Pegasus
 58 karl     1.1  is in phase 1 of a multiphase development project. This snapshot is primarily
 59               for developers and for evaluation of the project.
 60               
 61 mike     1.3  More information on this project, access to the CVS, and documentation on
 62               Pegasus are available from the OpenGroup WEB site.
 63 karl     1.1  
 64               There are separate files in the release for
 65               
 66 karl     1.11 		 History of releases - HISTORY
 67               		 What's new for this release - WHATSNEW
 68               		 What's Broken - BUGS
 69 karl     1.1  
 70               In addition, the roadmap for Pegasus and further information on the project is
 71               available on The Opengroup Pegasus WEB Site.
 72               
 73 karl     1.11 http://www.openpegasus.org
 74               
 75               
 76               2. Availability of Pegasus:
 77               ============================
 78               
 79               Pegasus is distributed as open source.  The distribution is available via 
 80               CVS and snapshot images in tar and zip file formats.
 81               
 82               The source code from CVS can be found at the following Open Group CVS server;
 83               
 84                        cvs.opengroup.org:/cvs/MSB 
 85               
 86               using the password authenticating server option (pserve).
 87               
 88               Anonymous access for read is with the name and password "anon" as follows:
 89               
 90               	%export CVSROOT=:pserver:anon@cvs.opengroup.org:/cvs/MSB
 91               	%cvs login
 92               	  
 93                        When requested, enter the password "anon"
 94 karl     1.1  
 95 karl     1.11 The source tree is in the directory pegasus. To check out the complete Pegasus  
 96               source tree just type:
 97 karl     1.1  
 98 karl     1.11          cvs co pegasus
 99 karl     1.1  
100 karl     1.11 A Pegasus directory will be created under the current directory and populated
101               with the complete source tree and documentation. To get the latest updates 
102               after a checkout just type this from Pegasus root:
103 karl     1.1  
104 karl     1.11          cvs update -d
105 mike     1.3  
106               
107 karl     1.11 Active contributors to Pegasus have write access to the CVS repository.
108                If you are interested in contributing back to the Pegasus project, 
109               (i.e. write (checkin) access to CVS) please request access from either
110               Martin Kirk (m.kirk@opengroup.org) or Karl Schopmeyer (k.schopmeyer@opengroup.org).
111 karl     1.1  
112 karl     1.11 
113               3. Pegasus Major Components:
114               =============================
115 mike     1.3  
116 karl     1.1  The major components of Pegasus are:
117               
118 mike     1.3  Pegasus Server - WBEM/CIM Server with interfaces for providers and clients
119 karl     1.1  
120 karl     1.5  Pegasus Repositories - Today Pegasus provides a defined class repository
121                   interface and a simple file based class repository. It also includes
122                   an instance repository. Note that these repository were created for
123                   functionality, not efficieny. It is expected that they will be replaced
124 karl     1.11     with other implementations of the respository function as the need arises.
125 mike     1.3  
126 karl     1.4  Pegasus Client SDK - Tools for building Pegasus clients based on the Pegasus
127                   C++ interfaces and using the WBEM HTTP/XML protocols or directly
128 mike     1.3      interfacing with Pegasus.
129               
130 karl     1.4  Pegasus Test Clients - Simple test clients being developed as part of the
131 mike     1.3      Pegasus development process
132               
133 karl     1.4  Pegasus HTML Test Client - To aid in testing we created a test client for
134                   Pegasus that uses a WEB server (ex. Apache) with a set of CGI modules and
135                   HTML to allow the entry of Pegasus operations from a WEB browser as forms
136 karl     1.11     and the receipt of the response as WEB pages. This has proven useful as a
137 mike     1.3      test tool and can be used for a wide variety of demonstrations.
138 karl     1.1  
139 karl     1.11 Pegasus Provider SDK - Tools for building Pegasus providers using the Pegasus
140 karl     1.5      C++ interfaces.
141               
142 karl     1.11 Pegasus Providers - Providers to illustrate the use of Pegasus services including 
143               providers for test and demonstration.
144 karl     1.1  
145 karl     1.11 Pegasus Service Extensions -  Common services for use by other Pegasus 
146               components to extend Pegasus capabilites. 
147 karl     1.1  
148 karl     1.5  Pegasus MOF Compiler - FA standalone compiler for MOF files that can be used
149 karl     1.11 to install MOF into the Pegasus schema repository and also to check syntax. 
150               There is also a tool to extract the MOF from the repository.
151 karl     1.1  
152 karl     1.11 
153               4. Pegasus Dependencies:
154               =========================
155 karl     1.1  
156               We have worked to minimize the dependence of Pegasus on other software
157 karl     1.11 packages and tools. Currently Pegasus has the following dependencies:
158 karl     1.1  
159 mike     1.7  1.  GNUMAKE - To simplify the building of Pegasus across multiple platforms we 
160                   have standardized on a set of build tools including: GNUMAKE. We are using 
161 kumpf    1.12     GNUMAKE 3.79.1 successfully both in Windows and Linux environments.
162 karl     1.1  
163 mike     1.7      GNUMAKE is available from
164 karl     1.1  
165                   http://www.gnu.org
166               
167 mike     1.7  
168 karl     1.11 2.  MU.EXE - To minimize the difference between Linux and Windows for GNUMAKE,
169 mike     1.7      we have created a utility called MU.exe.  This utility is required for 
170 karl     1.11     Pegasus make with ONLY Windows environment. It is provided as an alternative to 
171 mike     1.7      requiring a number of UNIX utilities (SH, RM, etc.) on the windows platform
172                   and effectively provides the functions of these utilities that GNUMAKE 
173                   needs. MU is not required on UNIX or LINUX platforms.
174               
175                   NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory.
176                   You must build it separately.  MU source code is part of the distribution
177                   in the directory src/utils/MU with its own make file.  You must compile MU
178                   before you initiate the Pegausu make.
179               
180 karl     1.11     NOTE: A copy of the binary is made available as a zip file on the Pegasus
181                   WEB site.
182               
183                   Again, MU is used ONLY if you are using Windows.
184               
185 mike     1.7  
186 karl     1.11 3.  FLEX and BISON - These tools were used to develop the MOF compiler and WQL 
187                   parser. Anybody intending to recompile the compiler or parser from scratch 
188                   will be required to have these tools. They are only required if changes need 
189                   to be made to the files for parsing and compiling.
190 mike     1.7  
191               4.  DOC++ - The Pegasus documentation is taken from a combination of text files
192                   and the Pegasus header files themselves.  This documentation is formatted 
193                   with DOC++ and GAWK.  These tools are required if the documentation is to 
194                   be recreated but we expect that only the core team will be recreating 
195                   documentaiton.
196 mike     1.3  
197 karl     1.11 
198               5. The Pegasus Directory Structure
199               ===================================
200 karl     1.1  
201 karl     1.4  Pegasus is distributed as a complete directory structure that should be
202 mike     1.3  installed either from one of the snapshots or from CVS.
203 karl     1.1  
204               This structure is generally as follows
205 mike     1.3  
206 karl     1.4  Pegasus                     Pegasus Root directory
207 karl     1.5  
208                   cgi                     Source for the Pegasus WEB Based Test client
209 karl     1.11         cgi-bin             CGI Directories for WEB demonstration.
210                                               This directory is normally empty but can
211                                               be populated from the runtime with the make
212                                               from cgi.
213                       htdocs              HTML Pages for Pegasus WEB emonstration
214 karl     1.5      doc                     Miscellaneous Pegasus Documents.
215 karl     1.11     DevManual               Source and build files for developers' manual
216 karl     1.4      mak                     General make files (used by other makes)
217 karl     1.1      src                     All Pegasus Source Files
218 karl     1.14         ACEExample          Test directrory with examples of the use of ACE (obsolete). 
219 karl     1.11         Clients             Source for various test clients and client SDK
220 karl     1.4              CGICLIENT       Pegasus test client that uses a WEB browser
221 karl     1.14         JAVA                Java Client support modules
222 karl     1.1          Pegasus
223 karl     1.4              Client          Pegasus Client API Tests
224 karl     1.1                  depends
225                               tests
226                           Common          Pegasus Common Functions (C++ source and headers
227                               tests       Test programs for the common functions
228 karl     1.14             Compiler        Pegasus MOF compiler
229                           Config          TBD
230                           Consumer        TBD
231                           ControlProvidersImplementation of Pegasus internal providers
232                           ExportClient    TBD
233                           ExportServer    TBD
234                           Handler         TBD
235                           HandlerService  TBD
236                           IndicationService TBD
237                           Listener        TBD
238 karl     1.1              Protocol        Pegasus Client HTTP/XML Protocol Modules
239                               depends
240 karl     1.11             Provider        Pegasus Provider interface functions
241 karl     1.14             ProviderManager Provider Manager service that manages providers
242                           ProviderManager2Pluggable Provider Manager service
243 karl     1.11             Repository      Pegasus Repository Interfaces and Simple Repository
244 karl     1.1                  tests       Tests for Repository Functions
245 karl     1.14             Security        TBD
246 karl     1.1              Server          Pegasus Server Modules
247 karl     1.14             WQL             TBD
248 karl     1.11         Providers           Pegasus test and required providers
249 karl     1.14             generic         TBD this and following
250                           IndicationConsumer
251                           Linux
252                           ManaedSystem
253                           slp
254                           statistic
255                           sample
256                           testproviders
257                           
258                       Server              Pegasus executable build
259                       slp
260                       StandardIncludes
261                       tools               MU and other utilities written for Pegasus support
262                       Unsupported         Code that is made available but is not supported or included
263                                           in the normal make.
264                       WMIMapper           Pegasus implementation that implements mapping to Microsoft
265                                           WMI objects.
266 karl     1.5  
267               Runtime Directories
268 karl     1.11      $PEGASUS_HOME$         Home directory for runtime.  All compiler, linker
269 karl     1.5                              documentation creation, etc. is put here.
270 karl     1.11      bin                    Destination for executable and DLL modules from
271                                               Pegasus build
272                    Manual                 HTML output of the Pegasus Manual
273                    lib                    Destination for Pegasus LIB modules
274                    obj                    Destination for object modules
275                    repository             This Directory contains the created repository
276 karl     1.5  
277 karl     1.1  
278 karl     1.11 6. Installation
279               ================
280 karl     1.1  
281 karl     1.11 Pegasus today is provided only as a source distribution. 
282 karl     1.1  
283 karl     1.11 To install Pegasus, you must check it out using CVS (Common Version System)
284               or download the snapshot. You download, compile, and use it. 
285               
286               For the snapshot, the installation of Pegasus involves expanding the snapshot 
287               distribution files, building the runtime, the test files and test clients, and 
288               building the repository.
289 karl     1.1  
290 karl     1.4  
291 karl     1.11 7. Building Pegasus
292               =====================
293 mike     1.7  
294               1.  Check that you have requisite programs (listed in Pegasus Dependencies).
295               
296 karl     1.11     These include GNU Make, MU.EXE (if using Windows), Flex, and Bison (Flex 
297                   and Bison only required if changes will be made to the MOF compiler or WQL 
298                   parser).
299 mike     1.7  
300                   Be sure these are on your path.
301               
302 karl     1.11 
303               2.  Define the following three environment variables:
304               
305                   PEGASUS_ROOT - this should be the "pegasus" directory you've pulled from CVS
306 mike     1.7  
307                   PEGASUS_HOME - to point to a directory to contain output binary files
308 karl     1.11     (e.g., set it to $HOME/pegasus_home). Then the output will go into
309                   $HOME/pegasus_home/bin and $HOME/pegasus_home/lib
310 mike     1.7  
311                   PEGASUS_PLATFORM - this must be set to a supported platform identifier.
312               
313 karl     1.11     This identifier has the following form:
314               
315               		 <Operating-System>_<Architecture>_<Compiler>
316 mike     1.7  
317 karl     1.11     For example (Linux on IA32 platform using the GNU Compiler):
318                                LINUX_IX86_GNU
319               
320                   For a complete list, refer to the platform_ make files found in directory 
321                   pegasus/mak
322 mike     1.7  
323               
324                   Note: if you plan on doing parallel builds, you might consider setting
325                   PEGASUS_HOME to something like this:
326               
327 karl     1.11 		 $HOME/pegasus_home_LINUX_IX86_GNU
328 mike     1.7  
329                   That way, the output of each build will be placed in its own directory.
330               
331               3.  Now place $PEGASUS_HOME/bin on your path
332               
333                   and
334               
335 karl     1.11     Place $PEGASUS_HOME/lib on your LD_LIBRARY_PATH (for Unix only).
336                   For RedHat/SuSE/UL, edit /etc/ld.so.conf and add $PEGASUS_HOME/lib
337 mike     1.7  
338 karl     1.11 4.  Change to the root of the Pegasus distrubution and type "make"
339                   (where make refers to GNU make).
340 karl     1.1  
341 karl     1.11 5.  Then create the repository, which is needed to serve data.
342 mike     1.9      "make repository"
343               
344               6.  To test the build type "make tests".
345 karl     1.1  
346 mike     1.7  The following make targets are supported:
347 karl     1.1  
348 mike     1.7      <default> - Build everything.
349                   clean - Clean out all objects, libs, and executables.
350                   depend - Create the dependencies.
351 mike     1.9      repository - Create the repository in $PEGASUS_HOME/repository
352 mike     1.7      tests  - Execute all tests (except client server tests).
353                   rebuild - clean, depend, <default>
354                   world - depend, <default>
355 karl     1.1  
356 karl     1.4  The Pegasus Client server tests are executed separately from the above because
357               they require the initiation of separate process for the Pegasus server and
358 karl     1.11 Pegasus client. To execute these tests please refer to the scripts in 
359               pegasus/mak/BuildMakefile - refer to the prestarttests and poststarttests.
360 karl     1.1  
361 karl     1.4  For information on particular installation characteristics, tools, etc. for
362 karl     1.6  each platform see the appropriate sections below:
363 karl     1.1  
364               Generally the build commands are as follows:
365               
366 karl     1.6      1. There is a Makefile in the Pegasus root directory.   Simply executing
367 karl     1.11     make in the Pegasus root directory will make everything. "make rebuild"
368 karl     1.6      will clean and rebuild everything. The "make rebuild" will also populate
369                   the repository with the current CIM Schemas.
370 karl     1.1  
371 karl     1.6      2. To test a fresh release, go to the pegasus root and type
372 karl     1.1  
373 karl     1.11 		 		 "make world".
374 karl     1.1  
375               
376 karl     1.6      This will build dependencies, build binaries, and then run all
377 karl     1.4      tests except the Client/Server tests.
378 karl     1.1  
379 karl     1.6      3. To execute the basic test suite that is shipped with pegasus type
380 karl     1.1  
381 karl     1.11 		    "make tests". This also reintalls the repository.
382 karl     1.1  
383 karl     1.4      Running "make -s tests" suppresses extraneous output such as the
384                   enter/leave directory messages.
385 karl     1.1  
386 karl     1.11     4. "make clean" removes all object and library files from the structure.
387               
388               
389                   5. A new build system has been added to Pegasus where a new CVS checkout is done,
390                      built, and tests are run. Do it by: "make -f mak/BuildMakefile cleanbuild"
391               
392               
393               8. Populate the Repository
394               ===========================
395               
396               Before using Pegasus you must populate the repository with the providers. The makefile 
397               does it all for you, but in case you are wondering what it does or how to do it 
398               manually:
399               
400               1. Register the MOF (Managed Object Format) file describing the skeleton of the object.
401               2. Register a second MOF which only points out which lib*.so file to be loaded when a 
402                  specific object is activated.
403               
404               This is done automatically for the providers included in Pegasus by doing:
405               make repository.
406               
407 karl     1.11 The 'make repository' in pegasus/Schemas does three things
408               Runs MOF compiler (cimmofl) on:
409               -Schema v2.7
410                   Generates the CIM Schema v2.7 in the repository  (skeleton of CIM objects)
411               -PG_InterOp
412                   Internal to Pegasus schema for operating (shutdown, add users, etc)
413                   CIM_Indication’s (SNMP, Events, Alert, Threshold, etc)
414               -PG_ManagedSystem
415                   Registers included CIM Providers (libOSProvider.so, libDNSProvider.so, … ) 
416                   in Pegasus (which are located in src/Providers)
417               
418               For more information about using the MOF compiler, refer to user's manual on the 
419               openpegasus.org.  
420 karl     1.1  
421 karl     1.11 
422               9. The MU Utility
423               ===================
424 karl     1.1  
425 karl     1.4  In order to provide a consistent build structure across multiple platforms, we
426               developed a small utility to provide a consistent set of small utilities
427               across these platforms. The MU utilityis a simple utility that contains many
428               commands. For example:
429 karl     1.1  
430               
431                   C:\> mu rm myfile.cpp yourfile.cpp
432               
433               
434               You may type "mu" to get a list of valid commands. Here are some
435               of them:
436               
437               
438 karl     1.2      rm, rmdirhier, mkdirhier, echo, touch, pwd, copy, move, compare depend
439 karl     1.1  
440               
441               The MU utility supports globing (expansion of wildcards) so
442               you can do things like this:
443               
444               
445                   C:\> mu rm *.obj *.exe
446               
447 karl     1.4  MU is required to build under the Windows environment.MU is available as part
448               of the distribution of Pegasus.
449 karl     1.1  
450               
451 karl     1.11 10. Notes about Building Pegasus on Linux
452               ===========================================
453               
454               No problem. Just make sure you have the environment variables set.
455               
456 karl     1.1  
457 karl     1.11 11. Notes about Building Pegasus with SSL
458               ==========================================
459 karl     1.1  
460 karl     1.11 To build with SSL you need the OpenSSL libraries and header files. Make sure 
461               you have them in a standard directory so Pegasus can find them. If that's not 
462               the case, set the environment varialble OPENSSL_HOME= to point where your OpenSSL
463               installation is.
464               
465               Also have the PEGASUS_HAS_SSL=yes variable set. Then just run 'make' in Pegasus
466               directory and you will have Pegasus with SSL enabled. See section "Creating SSL 
467               certificates" for more information of how to use SSL.
468               
469               
470               12. Building Pegasus on Windows 2000 (SP3 or later recommended) or Windows XP
471                   With Microsoft Visual C++
472               ======================================================================
473               
474               Today we build Pegasus on Windows using a set of make files contained
475               in the source distribution, the Microsoft compilers (DevStudio 5.x is not 
476               supported, Visual Studio 6.0, SP5 supported) and the GNUMAKE make utility.The 
477               following is the basic setup steps for the environment.
478               
479                
480               Setup the environment variables and path for the Micrososft Visual C compiler. 
481 karl     1.11 Typically this can be done by running the VCVARS32.BAT file supplied with 
482               Microsoft Visual C++. (contained in the same directory as cl.exe).
483               
484               For Windows, try the following for an example environment:
485               
486                   REM call the standard Microsoft .bat for VC 6 setup. 
487                   call 'C:/Program Files/Microsoft Visual Studio/VC98/Bin/Vcvars32.bat' 
488                   REM Set debug to something if you want compile in debug mode 
489                   set PEGASUS_DEBUG=true 
490                   REM set PEGASUS_ROOT to top of source tree 
491                   set PEGASUS_ROOT=C:/cimom/pegasus 
492                   REM set PEGASUS_HOME to where you want repository and executables
493                   set PEGASUS_HOME=%PEGASUS_ROOT% 
494                   REM setup the path to the runtime files. 
495                   set path=%path%;%PEGASUS_HOME%/bin 
496 karl     1.1  
497 karl     1.11 13. Installing the Pegasus HTML Test Client:
498               =============================================
499 karl     1.1  
500 karl     1.4  This is a separate test tool that allows Pegasus requests to be initiated from
501               any WEB browser and that uses a WEB browser, CGI scritps and HTML pages for
502               the formating and connections. It requires a WEB server, etc.  The
503               instructions for setting up this environment are maintained in a separate
504               readme in the CGI directory.
505 karl     1.1  
506 karl     1.11 
507               14. Development with Pegasus and Pegasus Tools:
508               ================================================
509 karl     1.1  
510               ATTN: This section needs to be completed.  It should reference the more
511               complete documentation
512 karl     1.11 ATTN: Write about providers?
513 karl     1.1  
514 karl     1.11 
515               15. Commands:
516               =============
517               
518               The manpages for each of the commands are in rpm/manLinux/man1.Z directory (on CVS)
519               
520               To see simple help for each of the commands, use the "-h" flag.
521               Examples:
522               bin/cimserver –s (Shuts it down)
523               bin/cimserver traceLevel=4 traceComponents=ALL (starts server with config flags)
524               bin/cimprovider –l –s (lists providers and their status)
525               bin/cimprovider –e –m OperatingSystemModule (enables the OperatingSystem provider)
526               bin/cimuser –a –u guest –w ThePassword
527               bin/cimuser –l (lists the users)
528               bin/tomof CIM_Config (extract CIM_Config from repository and present it in MOF type)
529               
530               
531               16. Creating SSL certifications
532               ================================
533               
534               Type these commands in your shell to create the SSL certifications. The PEGASUS_ROOT 
535 karl     1.11 and PEGASUS_HOME have to be set to your respective installation and source directory. 
536               
537               CN="Common Name"
538               EMAIL="test@email.address"
539               HOSTNAME=`uname -n`
540               sed -e "s/$CN/$HOSTNAME/"  \
541                   -e "s/$EMAIL/root@$HOSTNAME/" $PEGASUS_ROOT/ssl.cnf \
542                   > $PEGASUS_HOME/ssl.cnf
543               chmod 644 $PEGASUS_HOME/ssl.cnf
544               chown bin $PEGASUS_HOME/ssl.cnf
545               chgrp bin $PEGASUS_HOME/ssl.cnf
546               
547               /usr/bin/openssl req -x509 -days 365 -newkey rsa:512 \
548                -nodes -config $PEGASUS_HOME/ssl.cnf \
549                  -keyout $PEGASUS_HOME/key.pem -out $PEGASUS_HOME/cert.pem 
550               
551               cat $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem > $PEGASUS_HOME/server.pem
552               rm $PEGASUS_HOME/key.pem $PEGASUS_HOME/cert.pem
553               cp $PEGASUS_HOME/cert.pem $PEGASUS_HOME/client.pem
554               
555 humberto 1.13 17. Testing with ICU enabled:
556               ==============================
557 karl     1.11 
558 humberto 1.13 ICU (International Compoments for Unicode) refers to the set of libraries that
559               Pegasus uses to run globalized.  For example: these libraries are used to
560               load messages in different languages, format currency and numbers according to
561               a specific locale etc.  In order to enable globalization in Pegasus, Pegasus
562               must be built with ICU enabled, ie. the right environment variables must be
563               set prior to running "make". Refer to the GlobalizationHOWTO.htm in the docs
564               directory for details.  That said, when users run "make poststarttests" 
565               to verify the integrity of a Pegasus download, a series of tests are run that 
566               require the cimserver to be running. These tests currently depend on specific 
567               messages returned from the server. When ICU is enabled, all messages come 
568               from the resource bundles and these usually do not match the hardcoded 
569               default messages within Pegasus.  These hardcoded default messages 
570               are what the various test programs expect in order to complete 
571               successfully.  If the ICU enabled server is started without
572               disabling message loading from the bundles, "make poststartests" will fail.
573               In order to run "make poststarttests" successfully with ICU enabled, an
574               environment variable called PEGASUS_USE_DEFAULT_MESSAGES must exist prior to
575               starting the server.  Once this is defined, when the cimserver starts, all
576               messages generated will be the default hardcoded messages.  This will enable
577               "make poststarttests" to complete successfully.  Once "make poststarttests" is
578               complete, you should stop the cimserver and then undefine PEGASUS_USE_DEFAULT_MESSAGES. 
579 humberto 1.13 If this variable is left defined, Pegasus will not be able to load messages
580               using ICU resource bundles. 
581               
582               18. Documentation:
583 karl     1.11 ===================
584 karl     1.1  
585 karl     1.4  The documentation is currently in preperation. The preliminary documentation
586               is not provided with this snapshot but is avialable from the OpenGroup Pegasus
587               WEB pages. The current documentation is maintained both as a manual created
588 karl     1.5  under the tool DOC++ in the runtime subdirectory manual/html and as other
589               miscelaneous documentation in the doc directory.
590 karl     1.4  
591               Note that the Pegasus WEB site at The Open Group will be the source of most
592               documentation in the future and today is the source of most discussion and
593               design documentation.
594 karl     1.1  
595 karl     1.11 
596 humberto 1.13 19. Participate!
597 karl     1.11 =================
598 mike     1.7  
599 karl     1.4  We are looking for people who want to join the Pegasus work group and
600 karl     1.11 contribute to effort of getting this Pegasus off the ground. Please join 
601               the mailing list by visiting www.openpegasus.org, and click on Mailing Lists.

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2