Pegasus Enhancement Proposal (PEP)
PEP #: 133
Title: A framework and recommendations for building Open Pegasus
installables.
Version: 1.2
Created: 19 Feb 2004
Authors: Seema Gupta
Status: Approved
Version History:
Version |
Date |
Author |
Change Description |
1.0
|
19 002 2004 |
Seema Gupta |
Initial Submission |
1.1 |
22 003 2004 |
Seema Gupta |
Added Inno setUp URL and added little more description on what is
proposed. |
1.2
|
06 004 2004
|
Seema Gupta
|
Changed the status to Approved.
|
Abstract: This is a concept PEP to summarize and propose solutions
to the challenges faced while building pegasus on different platforms. The
PEP targets various Open Pegasus users who are from different domains and
their interaction with the product varies according to their requirements.
Definition of the Problem
In present scenario w.r.t Pegasus, any person working with pegasus onany
platform has to go through a long procedure of building and setting
up Pegasus on his machine before he could actually start working with the
product. The procedure is same for everybody even if he just wants to use
Open Pegasus in an application environment or he wants to proceed with core
development of Open Pegasus. This long procedure of setting up Open Pegasus
sometimes can turn out to be big hindrance for a person who just wants to
run and get a feel of Open Pegasus.
Proposed Solution
What is proposed :
The proposed solution is : Write scripts to
generate an install image for Open Pegasus by using any development environment
of Open Pegasus. This in turn means if we have Open
Pegasus built on one machine, we can generate an install image of Open Pegasus
using these scripts by making them
point to the Open Pegasus setup on the corresponding machine.
We propose to commit only these scripts to CVS to make them available to
Open Pegasus Community. There will not be any binaries required. If desired,
somebody ( perhaps from TOG) can generate an install image for Open Pegasus
using anyexisting development environment for Open Pegasus and post
it to OpenPegasussite.
There will be different scripts for generating different level of installables
for Open Pegasus depending upon the user's requirements.
Install Image Categories
The various pegasus users can be broadly divided into following categories:
A) Users who just want to use Open Pegasus as a product.
B) Users who just want to develop clients or client applications for Open
Pegasus.
C) Users who just want to develop providers for Open Pegasus.
D) Users or more specifically the developers who want to actually contribute
to development of Open Pegasus.
So we can assume that a category A person will not be interested in going
for a long process of building pegasus most of the times. Thus, depending
upon the various categories , there can be mainly following four levels of
Open Pegasus Install:
1) Installable for Category A users which installs only cimom binaries with
configuration files and builds the repository.
2) Installable for Category B users which installs cimom binaries with configuration
files, builds the repository and installs link libraries and files to build
clients (say indication listener, indication subscriber etc.).
3) Installable for Category C users which installs cimom binaries with configuration
files, builds the repository, installs link libraries and files to buildclients
and finally installs link libraries and files to write providers.
4) Installable for Category D users. For this category users we propose no
automated install support. They can download the currently available zipsource
file and build Open Pegasus.
At present it's not decided if the various install
levels will be addressed by separate scripts or there will be common scripts
to generatedifferent levels of Open Pegasus install image.
Further details on this issue will be discussed in the follow up PEPs . (
To get a feel of these follow up PEPs, please refer to PEP 148 which is first
follow up PEP for this concept PEP).
Only these scripts to build the installable will be committed to CVS. Wecan
include a readme or a cookbook documenting step by step procedure touse these
scripts to build the selected executable.
We propose to start with the installable for Category A users first. Later
we can move towards developing the installable for Category B and C
users.
Scripting Tools :
The scripts can be written using different tools like Installshield Developer
, Inno Setup Installer etc. We propose to start with Inno Setup scripts and
not Install Shield until some time when we are comfortable with Inno Setup
and installable architecture in general.
For more information on Inno Setup , please refer to URLs: http://gnuwin.epfl.ch/apps/innosetup/en/index.html
or http://www.jrsoftware.org/ .
Platforms Targeted:
We propose to start with all the above mentioned levels of installable for
windows and then extend it to Linux.
Rationale
To simplify Open Pegasus build for users from different domains and backgrounds
whose Open Pegasus requirements vary in their scope.
Schedule
The first follow on PEP will be submitted by 23/03/2004.
Discussion
Copyright (c) 2004 EMC Corporation; Hewlett-PackardDevelopment
Company, L.P.; IBM Corp.; The Open Group; VERITAS Software Corporation
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute,sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following conditions:
THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE
SHALL BE INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE.THE
SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.