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