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

Diff for /pegasus/Attic/readme.txt between version 1.5 and 1.8

version 1.5, 2001/02/26 10:36:34 version 1.8, 2001/06/23 21:33:42
Line 2 
Line 2 
  
 Author: Mike Brasher, Karl Schopmeyer Author: Mike Brasher, Karl Schopmeyer
  
 ------------------------------------------------------------------------------  
 --  
   
 $Log$  
 Revision 1.5  2001/02/26 10:36:34  karl  
 Clean Up Text  
   
 Revision 1.4  2001/01/26 20:20:36  karl  
 Clean up Readme with MB comments  
   
 Revision 1.3  2001/01/22 15:09:29  mike  
 Reworking indentation and breaking width of lines below 80 columns (not  
 finished). Also  
 inserted comments and suggestions following "MEB:" annotations.  
   
   
 Revision 1.1  2001/01/15 04:26:04  karl  
 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 by The Open Group          and supported by The Open Group
  
   Overview:
   =========
   
 Pegasus is an open-source object manager for DMTF CIM objects. It is written Pegasus is an open-source object manager for DMTF CIM objects. It is written
 in C++ and includes the Object manager, a set of defined interfaces, and SDKs in C++ and includes the Object manager, a set of defined interfaces, and SDKs
 for both client, providers, and services extensions.  It is maintained for both client, providers, and services extensions.  It is maintained
Line 61 
Line 42 
  
 http://www.opengroup.org/MSB http://www.opengroup.org/MSB
  
 Availability of Pegasus  Availability of Pegasus:
 =======================  ========================
  
 Pegasus is distributed as open source.  Today the distribution is limited Pegasus is distributed as open source.  Today the distribution is limited
 because we want to reach a predefined level of development before making the because we want to reach a predefined level of development before making the
Line 78 
Line 59 
  
 k.schopmeyer@opengroup.org k.schopmeyer@opengroup.org
  
 Pegasus Major Components  Pegasus Major Components:
 ========================  =========================
  
 The major components of Pegasus are: The major components of Pegasus are:
  
Line 116 
Line 97 
 Pegasus MOF Compiler - FA standalone compiler for MOF files that can be used 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 to install MOF into the Pegasus schema repository and also to check syntax
  
 Pegasus Dependencies  Pegasus Dependencies:
 ====================  =====================
  
 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.  GNUMAKE - To simplify the building of Pegasus across multiple platforms we
 communication and some low level functions within the MSB, the Pegasus client      have standardized on a set of build tools including: GNUMAKE. We are using
 SDK, and the Pegasus Provider SDK.  ACE is available from the following site.      GNUAKE 4.79.1 successfully both in Windows and Linux environments.
   
     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 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.  
   
 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  
 4.79.1 successfully both in Windows and Linux environments.  
  
 GNUMAKE is available from GNUMAKE is available from
  
Line 150 
Line 113 
  
 ATTN: I think we need to make our version available on the TOG site. ATTN: I think we need to make our version available on the TOG site.
  
 COMMENT: Unless other users of Pegasus demand it, we will NOT create any build      COMMENT: Unless other users of Pegasus demand it, we will NOT create
 environment for Pegasus that does not require GNUMAKE (e.g., Visual C++). We      any build environment for Pegasus that does not require GNUMAKE (e.g.,
 are open to other developers who want to contribute other build structures for      Visual C++). We are open to other developers who want to contribute
 particular environments.      other build structures for particular environments.
   
   2.  MU.EXE - To minimize the difference between Linux and Windows for GUNMAKE,
 3. 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
 we have created a utility called MU.exe.  This utility is required for Pegasus      Pegasus make with Windows environment. It is provided as an alternative to
 make with Windows environment. It is provided as an alternative to requiring a      requiring a number of UNIX utilities (SH, RM, etc.) on the windows platform
 number of UNIX utilities (SH, RM, etc.) on the windows platform and      and effectively provides the functions of these utilities that GNUMAKE
 effectively provides the functions of these utilities that GNUMAKE needs.      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 171 
Line 133 
 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.
  
 4. FLEX and BISON - These tools were used to develop the compiler, anybody  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 intending to recompile the compiler from scratch will be required to have
 these tools. these tools.
  
 5. DOC++ - The Pegasus documentation is taken from a combination of text files  4.  DOC++ - The Pegasus documentation is taken from a combination of text files
 and the Pegasus header files themselves.  This documentation is formatted with      and the Pegasus header files themselves.  This documentation is formatted
 DOC++ and GAWK.  These tools are required if the documentation is to be      with DOC++ and GAWK.  These tools are required if the documentation is to
 recreated but we expect that only the core team will be recreating      be recreated but we expect that only the core team will be recreating
 documentaiton. documentaiton.
  
   
 The Pegasus Directory Structure The Pegasus Directory Structure
 =============================== ===============================
  
Line 244 
Line 205 
     Service Extensions     Service Extensions
     Servers - Today the server executable is built from /server/test.     Servers - Today the server executable is built from /server/test.
  
 Installation  Installation:
 ============  =============
  
 Pegasus today is provided only as a source distribution.  You download compile Pegasus today is provided only as a source distribution.  You download compile
 and use it. Pegasus currently compiles and runs under both Linux and Windows  and use it. Pegasus currently compiles and runs under Linux, AIX, HPUX,
 NT environments.  Windows NT, and Windows 2000.
  
 The installation of Pegasus involves expanding the snapshot distribution The installation of Pegasus involves expanding the snapshot distribution
 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  Building Pegasus:
 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.  
  
   1.  Check that you have requisite programs (listed in Pegasus Dependencies).
  
 Building from a Distribution --- General      These include GNU Make, MU.EXE, Flex, and Bison
 ========================================  
  
 Pegasus is buildable and runnable on either Linux or WIndows Platforms today.      Be sure these are on your path.
 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.  
   
 Generally we support the followingtargets in our make system:  
  
   2.  Define the following two environment variables:
  
             C:\> make clean - Clean out all objects, libs, and executables      PEGASUS_HOME - to point to a directory to contain output binary files
             C:\> make depend - Create the dependencies      (e.g., set it to $HOME/pegasus_home).
             C:\> make  
             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      PEGASUS_PLATFORM - this must be set to a supported platform identifier.
 they require the initiation of separate process for the Pegasus server and      The following are supported:
 Pegasus client. These tests can be executed as follows:  
  
     ATTN: Add the procedure for Client/Server Test start here.          WIN32_IX86_MSVC
           LINUX_IX86_GNU
           AIX_RS_IBMCXX
           HPUX_PARISC_ACC
  
       This identifier has the following form:
  
 For information on particular installation characteristics, tools, etc. for          <Operating-System>_<Architecture>_<Compiler>
 each platform see  
 the appropriate sections below:  
  
 Generally the build commands are as follows:      Note: if you plan on doing parallel builds, you might consider setting
       PEGASUS_HOME to something like this:
  
     1. There is a Makefile in the Pegasus root.   Simply executing make in the          $HOME/pegasus_home_LINUX_IX86_GNU
     Pegasus root directory will make everything. Make rebuild will clean and  
     rebuild everything.  
  
     2. In order to provide a working class repository for Pegasus until the      That way, the output of each build will be placed in its own directory.
     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  3.  Now place $PEGASUS_HOME/bin on your path
  
     with the binary in pegasus/bin. This program will load the CIM XML      and
     repository definitions into the class repository.  
  
     3. To test a fresh release, go to the pegasus root and type      Placd $PEGASUS_HOME/lib on your LD_LIBRARY_PATH (for Unix only).
  
                 "make world".  4.  Now change to the root of the Pegasus distrubution and type "make"
       (where make referes to GNU make).
  
   5.  To test the build type "make tests".
  
     This will clean, build dependencies, build binaries, and then run all  The following make targets are supported:
     tests except the Client/Server tests.  
  
     4. To execute the basic test suite that is shipped with pegasus type      <default> - Build everything.
       clean - Clean out all objects, libs, and executables.
       depend - Create the dependencies.
       tests  - Execute all tests (except client server tests).
       rebuild - clean, depend, <default>
       world - depend, <default>
  
            "make tests"  The Pegasus Client server tests are executed separately from the above because
   they require the initiation of separate process for the Pegasus server and
   Pegasus client. These tests can be executed as follows:
  
     5. To run the integral unit code tests provided, simply type      ATTN: Add the procedure for Client/Server Test start here.
  
            "make tests"  For information on particular installation characteristics, tools, etc. for
   each platform see the appropriate sections below:
  
     Running "make -s tests" suppresses extraneous output such as the  Generally the build commands are as follows:
     enter/leave directory messages.  
       1. There is a Makefile in the Pegasus root directory.   Simply executing
       make in the Pegasus root directory will make everything. "Make rebuild"
       will clean and rebuild everything. The "make rebuild" will also populate
       the repository with the current CIM Schemas.
  
     6. "Make Clean" removes all object and library files from the structure.      2. To test a fresh release, go to the pegasus root and type
  
 Build Variables                  "make world".
 ===============  
  
 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  
 tree before you can compile or run Pegasus.  
  
     PEGASUS_ACE_ROOT - required (points to ACE_wrappers directory). This must      This will build dependencies, build binaries, and then run all
     be set before you initiate make      tests except the Client/Server tests.
  
     PEGASUS_OS_TYPE - optional. The is currently set to windows.  If you build      3. To execute the basic test suite that is shipped with pegasus type
     on any platform except windows you must change this before initiating  
     make.  
  
     PEGASUS_ROOT - Root directory of the Pegasus tree.             "make tests". This also reintalls the repository.
     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,      Running "make -s tests" suppresses extraneous output such as the
  setting these variables today is manual.      enter/leave directory messages.
  
       4. "Make Clean" removes all object and library files from the structure.
  
 The MU Utility The MU Utility
 ============== ==============
Line 378 
Line 330 
 MU is required to build under the Windows environment.MU is available as part MU is required to build under the Windows environment.MU is available as part
 of the distribution of Pegasus. of the distribution of Pegasus.
  
 Building Pegausu on Linux  Notes about Building Pegasus on 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 the ACE_WRAPPERS distribution. For example  
   
                 IMPORT PEGASUS_ACE_ROOT=\local\ACE_Wrappers  
   
         ATTN: Mike.  what is a viable directory for Linux (what do you use)  
   
 3.      Define an environment variable PEGASUS_ROOT that points to the  
         root of the Pegasus Distribution  
  
   ATTN: put something here (but only what is not mentioned above).
 4.      Define the environment variable PEGASUS_HOME where you want the  
         runtime elements (executables, objects, libraries, etc.) to go.  
 5.      Unpack the ace distribution.  
   
   
 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 tests  
  
 Building Pegasus on NT or Windows 2000 With Microsoft Visual C++ Building Pegasus on NT or Windows 2000 With Microsoft Visual C++
 ================================================================ ================================================================
Line 415 
Line 343 
 versions 5 and 6) and the GNUMAKE make utility. The following is the basic versions 5 and 6) and the GNUMAKE make utility. The following is the basic
 set up steps for the set up steps for the
  
   Setup the environment variables and path for the Micrososft Visual C
 1.      Setup the environment variables and path for the Micrososft Visual C  
         compiler. Typically this can be done by running the VCVARS32.BAT file         compiler. Typically this can be done by running the VCVARS32.BAT file
         supplied with Microsoft Visual C++. (contained in the same directory         supplied with Microsoft Visual C++. (contained in the same directory
         as cl.exe).         as cl.exe).
  
 2.      Define an environment variable called ACE_ROOT that points to the  Installing the Pegasus HTML Test Client:
         root of the ACE_Wrappers distribution. For example:  ========================================
   
                 C:\> set PEGASUS_ACE_ROOT=c:/ACE_wrappers  
   
         Now append %ACE_ROOT%/bin to the path like this:  
   
                 C:\> set path=%path%;%PEGASUS_ACE_ROOT%/bin  
   
 3.      Define an environment variable called PEGASUS_ROOT that points to  
         the root of the Pegasus distribution. For example:  
   
                 C:\> set PEGASUS_ROOT=c:/pegasus  
   
   
 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  
   
 5.      Unpack and build the ACE_Wrappers distribution for windows.  
   
         As an example, we created a file called %ACE_ROOT%/ace/config.h  
         containing the following:  
   
                 #include "ace/config-win32.h"  
   
         and then opened this DSW file in MSVC++ IDE:  
   
                 %ACE_ROOT%/ace/ace.dsw  
   
         From the build menu we picked "ace.dll". For me it built without  
         complaint.  
   
         The ACE package can be built in several configurations:  
   
                 ace.dll - The basic package without debugging  
                 aced.dll - debugging added to the basic package  
                 acemfc.dll - ACE with Microsoft MFC support  
                 acemfcd.dll - The ACE MFC version with debugging.  
   
         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 and at that time the aced and acemfcd libraries will also be  
         required.  
   
         Each library can be built separately from Microsoft Visual C++.  
   
 6.      Unpack the Pegasus distribution.  On Windows systems, PKzip25 or  
         WINZIP can be used. Be certain to use the option that expands the  
         directory tree of the files. This expansion will create a directory  
         called ./pegasus  
   
         If you are using pkzip25.exe do this:  
                 C:\> pkzip25 -extract -recurse -directories pegasus.zip  
   
         This will create a directory tree called ./pegasus under the  
         current directory.  
   
   
 7.      Change directory  to %PEGASUS_ROOT% and type "make world". See the  
         general build section for the full set of make commands.  
   
         This builds Pegasus and all of its examples.  
   
 7.      To verify that it built okay, run the tests  
   
                 make tests  
   
 Installing the Pegasus HTML Test Client  
 =======================================  
  
 This is a separate test tool that allows Pegasus requests to be initiated from This is a separate test tool that allows Pegasus requests to be initiated from
 any WEB browser and that uses a WEB browser, CGI scritps and HTML pages for any WEB browser and that uses a WEB browser, CGI scritps and HTML pages for
Line 503 
Line 357 
 instructions for setting up this environment are maintained in a separate instructions for setting up this environment are maintained in a separate
 readme in the CGI directory. readme in the CGI directory.
  
 Development with Pegasus and Pegasus Tools  Development with Pegasus and Pegasus Tools:
 ==========================================  ===========================================
  
 ATTN: This section needs to be completed.  It should reference the more ATTN: This section needs to be completed.  It should reference the more
 complete documentation complete documentation
  
 ===================  Documentation:
 Documentation  ==============
  
 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
Line 524 
Line 378 
  
 Participate! Participate!
 ============ ============
   
 We are looking for people who want to join the Pegasus work group and We are looking for people who want to join the Pegasus work group and
 contribute to effort of getting this Pegasus off the ground.  Please send contribute to effort of getting this Pegasus off the ground.  Please send
 email for details to k.schopmeyer@opengroup.org or m.kirk@opengroup.org or email for details to k.schopmeyer@opengroup.org or m.kirk@opengroup.org or
 m.brasher@opengroup.org m.brasher@opengroup.org
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   


Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2