BUG#: 5761
[tpot/pegasus/.git] / readme.compressed_repository
1 //%2006////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
6 // IBM Corp.; EMC Corporation, The Open Group.
7 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
9 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
11 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
13 //
14 // Permission is hereby granted, free of charge, to any person obtaining a copy
15 // of this software and associated documentation files (the "Software"), to
16 // deal in the Software without restriction, including without limitation the
17 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
18 // sell copies of the Software, and to permit persons to whom the Software is
19 // furnished to do so, subject to the following conditions:
20 // 
21 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30 //==============================================================================
31     Compressed Repository readme
32     ============================
33
34     Filename:  readme.compressed_repository
35     Authors:   Karl Schopmeyer, Jim Wunderlich, 
36     Date:      28 Feb. 2005     
37
38       PEP 214 added the capability added the capability to utilize 
39       compression algorithms on the repository. The compressed repository 
40       is approximately 70% smaller than a regular xml text based repository.
41       This allows significant disk space savings a also results in shorter
42       file load times.
43      
44       The compression logic is installed as a conditionally compiled option. 
45       To enable the compressed repository functionality:
46         1. Install zlib
47         2. define PEGASUS_ENABLE_COMPRESSED_REPOSITORY=true in the environment
48         3. build Pegasus.
49   
50    LIBZ INSTALLATION:
51    ------------------
52   
53    libz is used in the compression logic so it must be installed in
54     a standard location prior to enabling the compressed repository
55     functionality.
56   
57    LIBZ web pages are:
58   
59         http://www.sourceforge.net
60         http://gnuwin32.sourceforge.net/packages/zlib.htm
61         http://www.winimage.com/zLibDll/
62         http://www.gzip.org/zlib/
63   
64    LIBZ INSTALLATION ON WINDOWS PLATFORMS:
65    -------------------------------------- 
66         The standard libz install is:
67               "Program Files"\GnuWin32\include
68                         zlib.h and zconf.h
69               "Program Files"\GnuWin32\lib
70                         libz.a
71               "Program Files"\GnuWin32\bin
72                         zlib1.dll
73   
74    These are the locations used by the windows libz package
75    available on www.sourceforge.net specifically at
76    http://gnuwin32.sourceforge.net/packages/zlib.htm.
77   
78    The make file specifies these GnuWin32 directories (include and lib) 
79    for the compilation of the CIMRepository. The CIMserver.exe will use
80    the zlib1.dll and expects to find it in one of the search path directories. 
81
82    The directory containing the zlib1.dll library must be in the search path.
83    You may include the Gnuwin/bin directory in your search path or
84    alternatively you may move zlib1.dll to another directory that is already
85    in your search path.
86     
87   
88    LIBZ INSTALLATION ON UNIX PLATFORMS:
89    ------------------------------------
90    Install zlib.h & zconf.h in the standard system includes directory.
91    Install libz.a in the standard systems library directory.
92    Install zlib1.dll in the standard executables directory
93    
94    
95    COMPILATION:
96    ------------
97   
98       To enable the compressed repository functionality 
99       define PEGASUS_ENABLE_COMPRESSED_REPOSITORY in the environment,
100       prior to building the tree. Then build the whole source tree.
101   
102    set PEGASUS_ENABLE_COMPRESSED_REPOSITORY=on
103    export PEGASUS_ENABLE_COMPRESSED_REPOSITORY=on
104    etc. 
105   
106    USAGE:
107    -----
108   
109    With the compression code enabled and compiled:
110       - All repositories built will be in the compressed format by default.
111       - all repository formats can be read.
112       - all repository formats can be written.
113          To build a non compressed repository with compression enabled:
114          set PEGASUS_COMPRESS_REPSOITORY to "build_non_compresed".
115          This is used by the CompareXmlCompressed repository test. 
116    
117     export PEGASUS_ENABLE_COMPRESSED_REPOSITORY=on
118     export PEGASUS_ENABLE_COMPRESSED_REPOSITORY=build_non_compressed
119     set PEGASUS_ENABLE_COMPRESSED_REPOSITORY=on
120     set PEGASUS_ENABLE_COMPRESSED_REPOSITORY=build_non_compressed
121    
122    TESTERS NOTE:
123    ------------
124   
125    If PEGASUS_ENABLE_COMPRESSED_REPOSITORY is defined then the CompareXmlCompressed
126    test is run. If it is not defined then the CompareXmlCompressed is not run.
127   
128    However if you have the zlibs installed and want to normally test
129    everything with a regular repository but want to run the 
130    CompareXmlCompressed test then define PEGASUS_ENABLE_COMPRESSED_REPOSITORY_TEST. 
131    This will cause the test to run, it will recompile the CIMRepository for 
132    compression, run the test and then recompile CIMRepository for
133    non-compression.
134