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

Diff for /pegasus/Attic/readme.txt between version 1.4 and 1.6

version 1.4, 2001/01/26 20:20:36 version 1.6, 2001/05/22 12:48:06
Line 2 
Line 2 
  
 Author: Mike Brasher, Karl Schopmeyer Author: Mike Brasher, Karl Schopmeyer
  
   Version 0.97
   May 20 2001
   
 ------------------------------------------------------------------------------ ------------------------------------------------------------------------------
 -- --
  
 $Log$ $Log$
   Revision 1.6  2001/05/22 12:48:06  karl
   change install and ACE comments
   
   Revision 1.5  2001/02/26 10:36:34  karl
   Clean Up Text
   
 Revision 1.4  2001/01/26 20:20:36  karl Revision 1.4  2001/01/26 20:20:36  karl
 Clean up Readme with MB comments Clean up Readme with MB comments
  
Line 18 
Line 27 
 Revision 1.1  2001/01/15 04:26:04  karl Revision 1.1  2001/01/15 04:26:04  karl
 added Readme added Readme
  
 ------------------------------------------------------------------------------  -----------------------------------------------------------------------
 --  
  
 Tagline: Pegasus is an object manager for DMTF CIM objects written in C++ Tagline: Pegasus is an object manager for DMTF CIM objects written in C++
          and supported buy The Open Group           and supported by The Open Group
  
 Pegasus is an object manager for DMTF CIM objects. It is written in C++ and  Pegasus is an open-source object manager for DMTF CIM objects. It is written
 includes the Object manager, a set of defined interfaces, and SDKs for both  in C++ and includes the Object manager, a set of defined interfaces, and SDKs
 client, providers, and services extensions.  It is maintained consistent with  for both client, providers, and services extensions.  It is maintained
 the DMTF CIM and WBEM specifications except for any exceptions noted in the  consistent with the DMTF CIM and WBEM specifications except for any exceptions
 documentation.  noted in the documentation.
  
 This distribution represents a work in progress towards building a Pegasus This distribution represents a work in progress towards building a Pegasus
 release. Pegasus is open source and is covered under the following license. release. Pegasus is open source and is covered under the following license.
Line 82 
Line 90 
  
 Pegasus Server - WBEM/CIM Server with interfaces for providers and clients Pegasus Server - WBEM/CIM Server with interfaces for providers and clients
  
 Pegasus Repository - Today Pegasus provides a defined class repository  Pegasus Repositories - Today Pegasus provides a defined class repository
     interface and a simple file based class repository. Future will include      interface and a simple file based class repository. It also includes
     the object [MEB: instance?] repository      an instance repository. Note that these repository were created for
       functionality, not efficieny. It is expected that they will be replaced
       with other implementations of the respository function as the need arrses.
  
 Pegasus Client SDK - Tools for building Pegasus clients based on the Pegasus Pegasus Client SDK - Tools for building Pegasus clients based on the Pegasus
     C++ interfaces and using the WBEM HTTP/XML protocols or directly     C++ interfaces and using the WBEM HTTP/XML protocols or directly
Line 99 
Line 109 
     and the recept of the response as WEB pages. This has proven useful as a     and the recept of the response as WEB pages. This has proven useful as a
     test tool and can be used for a wide variety of demonstrations.     test tool and can be used for a wide variety of demonstrations.
  
 Pegasus Providers - Future (Version 1.0)  Pegasus Provider SDK - Tools for build Pegasus clients based on the Pegasus
       C++ interfaces.
   
   Pegasus Providers - A sampling of key providers to make the environment
   complete as well as test providers and demonstration providers for the
   Pegasus.
  
 Pegasus Service Extensions -  Future (version 1.0) Pegasus Service Extensions -  Future (version 1.0)
  
 Pegasus MOF Compiler - Future (Version 0.9)  Pegasus MOF Compiler - FA standalone compiler for MOF files that can be used
   to install MOF into the Pegasus schema repository and also to check syntax
  
 Pegasus Dependencies Pegasus Dependencies
 ==================== ====================
Line 111 
Line 127 
 We have worked to minimize the dependence of Pegasus on other software We have worked to minimize the dependence of Pegasus on other software
 packages and tools. Currently Pegasus has the following dependencies packages and tools. Currently Pegasus has the following dependencies
  
 1. ACE_Wrappers communication package - The ACE Wrappers package is used for  1. To simplify the building of Pegasus across multiple platforms we have
 communication and some low level functions within the MSB, the Pegasus client  
 SDK, and the Pegasus Provider SDK.  ACE is available from the following site.  
   
     http://ace.cs.wustl.edu/cvsweb/ace-cvs.cgi/ACE_wrappers/  
   
 Currently we are using version 5.1 of ACE_Wrappers both in Linux and Windows.  
   
     http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-5.1.tar.gz  
   
 COMMENTS: Pegasus only uses limited facilities from ACE.  However, today we  
 demand the installation of the complete ACE library. One of the action items  
 for the future is to provide a more limited ACE library and possibly even to  
 provide an environment independent of ACE. This will depend on the demands of  
 the users.  
   
 2. To simplify the building of Pegasus across multiple platforms we have  
 standardized on a set of build tools including: GNUMAKE. We are using GNUAKE standardized on a set of build tools including: GNUMAKE. We are using GNUAKE
 4.79.1 successfully both in Windows and Linux environments. 4.79.1 successfully both in Windows and Linux environments.
  
Line 143 
Line 143 
 particular environments. particular environments.
  
  
 3. MU.EXE - To minimize the difference between Linux and Windows for GUNMAKE,  2. MU.EXE - To minimize the difference between Linux and Windows for GUNMAKE,
 we have created a utility called MU.exe.  This utility is required for Pegasus we have created a utility called MU.exe.  This utility is required for Pegasus
 make with Windows environment. It is provided as an alternative to requiring a make with Windows environment. It is provided as an alternative to requiring a
 number of UNIX utilities (SH, RM, etc.) on the windows platform and number of UNIX utilities (SH, RM, etc.) on the windows platform and
 effectively provides the functions of these utilities that GNUMAKE needs. effectively provides the functions of these utilities that GNUMAKE needs.
 MU is not required on UNIX or LINUX platforms  MU is not required on UNIX or LINUX platforms.
  
 NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory. NOTE: The binary for MU.EXE is not distributed in the Pegasus bin directory.
 You must build it separately.  MU source code is part of the distribution You must build it separately.  MU source code is part of the distribution
Line 158 
Line 158 
 NOTE: We will make a copy of the binary available on the MSB WEB site to NOTE: We will make a copy of the binary available on the MSB WEB site to
 eliminate the requirement to build this utility. eliminate the requirement to build this utility.
  
   3. FLEX and BISON - These tools were used to develop the compiler, anybody
   intending to recompile the compiler from scratch will be required to have
   these tools.
   
   4. DOC++ - The Pegasus documentation is taken from a combination of text files
   and the Pegasus header files themselves.  This documentation is formatted with
   DOC++ and GAWK.  These tools are required if the documentation is to be
   recreated but we expect that only the core team will be recreating
   documentaiton.
   
   5. ACE_Wrappers communication package (NOTE: The ACE Wrappers dependency has
   been removed. Effective version 0.9 Pegasus is not dependent on ACE Wrappers)
   - The ACE Wrappers package is used for
   communication and some low level functions within the MSB, the Pegasus client
   SDK, and the Pegasus Provider SDK.  ACE is available from the following site.
   
       http://ace.cs.wustl.edu/cvsweb/ace-cvs.cgi/ACE_wrappers/
   
   Currently we are using version 5.1 of ACE_Wrappers both in Linux and Windows.
   
       http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-5.1.tar.gz
   
   COMMENTS: Pegasus only uses limited facilities from ACE. We actively
   discourage the Pegasus team from using other functions of ACE.  We expect to
   eliminate our dependence on ACE as the only TCP tool in the near future.
   However, today Pegasus demands the installation of the complete ACE library.
   One of the action items for the future is to provide a more limited ACE
   library and possibly even to provide an environment independent of ACE.
  
 The Pegasus Directory Structure The Pegasus Directory Structure
 =============================== ===============================
Line 168 
Line 196 
 This structure is generally as follows This structure is generally as follows
  
 Pegasus                     Pegasus Root directory Pegasus                     Pegasus Root directory
     build                   Destination for all intermediate files from build  
         bin                 Destination for executable and DLL modules from  
                             Pegasus build      build                   Default destination for runtime if PEGASUS_HOME
         lib                 Destination for Pegasus LIB modules                              is not specified.  Does not exist if PEGASUS_HOME
         obj                 Destination for object modules                              is specified
     cgi-bin                 Source for the Pegasus WEB Based Test client  
     doc                     Miscelaneous Pegasus Documents.  
       cgi                     Source for the Pegasus WEB Based Test client
           cgi-bin             CGI Directories for WEB demonstration.
                               This directory is normally empty but can
                               be populated from the runtime with the make
                               from cgi.
           htdocs              HTML Pages for Pegasus WEB emonstration
       doc                     Miscellaneous Pegasus Documents.
         DevManual           Source and build files for developes manual         DevManual           Source and build files for developes manual
     html                    HTML files for the Browser test client.  
     mak                     General make files (used by other makes)     mak                     General make files (used by other makes)
     Repository              This Directory containes the created repository  
     src                     All Pegasus Source Files     src                     All Pegasus Source Files
         ACEExample         Test directrory with examples of the use of ACE         ACEExample         Test directrory with examples of the use of ACE
         Clients             Source for various test clients and client SDK         Clients             Source for various test clients and client SDK
Line 196 
Line 229 
             Repository             Repository
                 tests       Tests for Repository Functions                 tests       Tests for Repository Functions
             Server          Pegasus Server Modules             Server          Pegasus Server Modules
         Providers           Pegasus Provider SDK and tes providers          Providers           Pegasus test and required providers
   
         Utils         Utils
         html               Output from the Pegasus Manual compilartion.  
   Runtime Directories
        $PEGASUS_HOME$         Home directory for runtime.  All compiler, linker
                               documentation creation, etc. is put here.
           bin                 Destination for executable and DLL modules from
                                       Pegasus build
           Manual              HTML output of the Pegasus Manual
           lib                 Destination for Pegasus LIB modules
           obj                 Destination for object modules
           Repository          This Directory containes the created repository
   
  
 In the near future we will add directories for: In the near future we will add directories for:
  
     Service Extensions     Service Extensions
       Servers - Today the server executable is built from /server/test.
  
 Installation Installation
 ============ ============
Line 215 
Line 260 
 files, building the runtime, the test files and test clients, and building the files, building the runtime, the test files and test clients, and building the
 repository. repository.
  
 NOTE: Since the compiler integration is not complete today, the class  
 repository is populated from the XML defintions for the complete CIM schema.  
 This process is included in the build process so that at the end of a complete  
 build, the class repository is completely populated from the CIM 2.4 release  
 schema.  
   
   
 Building from a Distribution --- General Building from a Distribution --- General
 ======================================== ========================================
  
 Pegasus is buildable and runnable on either Linux or WIndows Platforms today. Pegasus is buildable and runnable on either Linux or WIndows Platforms today.
 It uses a common build system for the two platforms based on build files and  It uses a common build system for the two platforms based on build files in
   each directory, a recursive build strucutre to execute the multiple makes and
 GUNMAKE. GUNMAKE.
  
 Generally we support four targets in our make system:  Generally we support the followingtargets in our make system:
  
  
             C:\> make clean              C:\> make clean - Clean out all objects, libs, and executables
             C:\> make depend              C:\> make depend - Create the dependencies
             C:\> make             C:\> make
             C:\> make tests              C:\> make tests  - Execute all tests except client server tests
               C:\> make rebuild - Clean and rebuild including the respository
               C:\> make world
  
 The Pegasus Client server tests are executed separately from the above because The Pegasus Client server tests are executed separately from the above because
 they require the initiation of separate process for the Pegasus server and they require the initiation of separate process for the Pegasus server and
Line 245 
Line 286 
  
  
 For information on particular installation characteristics, tools, etc. for For information on particular installation characteristics, tools, etc. for
 each platform see  each platform see the appropriate sections below:
 the appropriate sections below:  
  
 Generally the build commands are as follows: Generally the build commands are as follows:
  
     1. There is a Makefile in the Pegasus root.   Simply executing make in the      1. There is a Makefile in the Pegasus root directory.   Simply executing
     Pegasus root directory will make everything.      make in the Pegasus root directory will make everything. "Make rebuild"
       will clean and rebuild everything. The "make rebuild" will also populate
     2. In order to provide a working class repository for Pegasus until the      the repository with the current CIM Schemas.
     MOF compiler is integrated, There is a utility to load the CIM Schema from  
     XML into the repository. This executes the LoadRepository executable which  
     is defined in  
  
         pegasus/src/Pegasus/Repository/tests/LoadRepository      2. To test a fresh release, go to the pegasus root and type
   
     with the binary in pegasus/bin. This program will load the CIM XML  
     repository definitions into the class repository.  
   
     3. To test a fresh release, go to the pegasus root and type  
  
                 "make world".                 "make world".
  
  
     This will clean, build dependencies, build binaries, and then run all      This will build dependencies, build binaries, and then run all
     tests except the Client/Server tests.     tests except the Client/Server tests.
  
     4. To execute the basic test suite that is shipped with pegasus type      3. To execute the basic test suite that is shipped with pegasus type
   
            "make tests"  
   
     5. To run the Client/Server tests provided, simply type  
  
            "make tests"             "make tests". This also reintalls the repository.
  
     Running "make -s tests" suppresses extraneous output such as the     Running "make -s tests" suppresses extraneous output such as the
     enter/leave directory messages.     enter/leave directory messages.
  
     6. "Make Clean" removes all object and library files from the structure.      4. "Make Clean" removes all object and library files from the structure.
  
 Build Variables Build Variables
 =============== ===============
  
 The build system depends on the following environment variables  The build system depends on the following environment variables build set.
   These variables must be set as part of the installation of the Pegasus source
     PEGASUS_ACE_ROOT - required (points to ACE_wrappers directory). This must  tree before you can compile or run Pegasus.
     be set before you initiate make  
   
     PEGASUS_BUILD - optional (points to build directory; defaults to build  
     directory under root of pegasus distribution). This must be set before you  
     iniiate  
     make  
  
     PEGASUS_OS_TYPE - optional. The is currently set to windows.  If you build     PEGASUS_OS_TYPE - optional. The is currently set to windows.  If you build
     on Linux you must change this before initiating make.      on any platform except windows you must change this before initiating
       make.
   
       PEGASUS_ROOT - Root directory of the Pegasus source tree.
  
     PEGASUS_ROOT - Points to the root directory of the Pegasus tree.      PEGASUS_HOME - Home directory for all of the Pegasus runtime elements.
       If this does not exist, $PEGASUS_ROOT$/build is assumed.
  
  COMMENTS: In the future, we will probably automate this more.  However,  COMMENTS: In the future, we will probably automate this more.  However,
  setting these variables today is manual.  setting these variables today is manual.
Line 339 
Line 365 
  
 1. Obtain, unpack and build the ACE_Wrappers package for Linux. 1. Obtain, unpack and build the ACE_Wrappers package for Linux.
  
 2. Define an environment variable called ACE_ROOT  that points to the root of  2.      Define an environment variable called ACE_ROOT  that points to the
 the ACE_WRAPPERS distribution. For example          root of the ACE_WRAPPERS distribution. For example
  
 IMPORT PEGASUS_ACE_ROOT=\local\ACE_Wrappers IMPORT PEGASUS_ACE_ROOT=\local\ACE_Wrappers
  
Line 349 
Line 375 
 3. Define an environment variable PEGASUS_ROOT that points to the 3. Define an environment variable PEGASUS_ROOT that points to the
 root of the Pegasus Distribution root of the Pegasus Distribution
  
 4. Append %PEGASUS_ROOT%/bin to your path  
  
   4.      Define the environment variable PEGASUS_HOME where you want the
           runtime elements (executables, objects, libraries, etc.) to go.
 5. Unpack the ace distribution. 5. Unpack the ace distribution.
  
 ATTN: Unpack with what since ZIP.  
  
 5. Build using the make commands defined in the section on General Build.  6.      Append %PEGASUS_ROOT%/bin to your path
   
   7.      From the %PEGASUS_ROOT% directory build using the make commands
           defined in the section on General Build.
  
         make world         make world
         make tests         make tests
  
 Building Pegasus on NT or Windows 2000 With Visual C++  Building Pegasus on NT or Windows 2000 With Microsoft Visual C++
 =======================================================  ================================================================
  
 Today we build Pegasus on Windows NT using a set of make files contained Today we build Pegasus on Windows NT using a set of make files contained
 in the source distribution, the Microsoft compilers (tested so far with in the source distribution, the Microsoft compilers (tested so far with
Line 370 
Line 399 
  
  
 1.      Setup the environment variables and path for the Micrososft Visual C 1.      Setup the environment variables and path for the Micrososft Visual C
 compiler.          compiler. Typically this can be done by running the VCVARS32.BAT file
 Typically this can be done by running the VCVARS32.BAT file supplied with          supplied with Microsoft Visual C++. (contained in the same directory
 Microsoft Visual          as cl.exe).
 C++. (contained in the same directory as cl.exe).  
  
 2.      Define an environment variable called ACE_ROOT that points to the 2.      Define an environment variable called ACE_ROOT that points to the
 root of the ACE_Wrappers distribution. For example: root of the ACE_Wrappers distribution. For example:
Line 389 
Line 417 
  
     C:\> set PEGASUS_ROOT=c:/pegasus     C:\> set PEGASUS_ROOT=c:/pegasus
  
 Now append %PEGASUS_ROOT%/bin to your path like this:  
  
     set path=%path%;%PEGASUS_ROOT%/bin  4.      Setup the PEGASUS_HOME environment variable
                   set PEGASUS_HOME=c:/PegasusRun
   
           Now append %PEGASUS_HOME%/bin to your path like this:
   
                   set path=%path%;%PEGASUS_HOME%/bin
  
 4.  Unpack and build the ACE_Wrappers distribution for windows.  5.      Unpack and build the ACE_Wrappers distribution for windows.
  
 As an example, we created a file called %ACE_ROOT%/ace/config.h As an example, we created a file called %ACE_ROOT%/ace/config.h
 containing the following: containing the following:
Line 404 
Line 436 
  
     %ACE_ROOT%/ace/ace.dsw     %ACE_ROOT%/ace/ace.dsw
  
 From the build menu we picked "ace.dll". For me it built without complaint.          From the build menu we picked "ace.dll". For me it built without
           complaint.
  
 The ACE package can be built in several configurations: The ACE package can be built in several configurations:
  
Line 413 
Line 446 
 acemfc.dll - ACE with Microsoft MFC support acemfc.dll - ACE with Microsoft MFC support
 acemfcd.dll - The ACE MFC version with debugging. acemfcd.dll - The ACE MFC version with debugging.
  
 ace.dll is used for the server build  acemfc is used for the client builds.          ace.dll is used for the server build  acemfc is used for the client
           builds.
  
 NOTE: In the near future we will be building debugging options into Pegasus          NOTE: In the near future we will be building debugging options into
 and at that time the aced and acemfcd libraries will also be required.          Pegasus and at that time the aced and acemfcd libraries will also be
           required.
  
 Each library can be built separately from Microsoft Visual C++. Each library can be built separately from Microsoft Visual C++.
  
 5. Unpack the Pegasus distribution.  On Windows systems, PKzip25 or WINZIP can  6.      Unpack the Pegasus distribution.  On Windows systems, PKzip25 or
 be used. Be certain to use the option that expands the directory tree of the          WINZIP can be used. Be certain to use the option that expands the
 files. This expansion will create a directory called ./pegasus          directory tree of the files. This expansion will create a directory
           called ./pegasus
  
 If you are using pkzip25.exe do this: If you are using pkzip25.exe do this:
     C:\> pkzip25 -extract -recurse -directories pegasus.zip     C:\> pkzip25 -extract -recurse -directories pegasus.zip
Line 430 
Line 466 
 This will create a directory tree called ./pegasus under the This will create a directory tree called ./pegasus under the
 current directory. current directory.
  
 ATTN: Define for Linux also  
  
 6.  Change directory  to %PEGASUS_ROOT% and type "make world". See the general  7.      Change directory  to %PEGASUS_ROOT% and type "make world". See the
 build section for the full set of make commands.          general build section for the full set of make commands.
  
 This builds Pegasus and all of its examples. This builds Pegasus and all of its examples.
  
Line 462 
Line 497 
 The documentation is currently in preperation. The preliminary documentation The documentation is currently in preperation. The preliminary documentation
 is not provided with this snapshot but is avialable from the OpenGroup Pegasus is not provided with this snapshot but is avialable from the OpenGroup Pegasus
 WEB pages. The current documentation is maintained both as a manual created WEB pages. The current documentation is maintained both as a manual created
 under the tool DOC++ in the subdirectory manual/html and as other miscelaneous  under the tool DOC++ in the runtime subdirectory manual/html and as other
 documentation in the doc directory.  miscelaneous documentation in the doc directory.
  
 Note that the Pegasus WEB site at The Open Group will be the source of most Note that the Pegasus WEB site at The Open Group will be the source of most
 documentation in the future and today is the source of most discussion and documentation in the future and today is the source of most discussion and
Line 490 
Line 525 
  
  
  
   
   
   


Legend:
Removed from v.1.4  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2