version 1.1, 2005/03/01 20:42:47
|
version 1.2, 2005/03/01 21:39:45
|
|
|
|
|
|
|
|
PEP214 Compressed repository |
|
============================ |
|
|
|
Authors: Karl Schopmeyer, Mike Brasher, Jim Wunderlich |
|
Date: 28 Feb 2005 |
|
|
|
This PEP added the capability to utilize compression algorithms |
|
on the repository. The compressed repository is approximately 70% |
|
smaller than a regular xml text based repository. This allows |
|
significant disk space savings a also results in shorter file |
|
load times. |
|
|
|
The compression logic is installed as a conditionally compiled option. |
|
To enable the compressed repository functionality: |
|
1. Install zlib |
|
2. define PEGASUS_COMPRESS_REPOSITORY=on in the environment |
|
3. build Pegasus. |
|
|
|
LIBZ INSTALLATION: |
|
------------------ |
|
|
|
libz is used in the compression logic so it must be installed in |
|
a standard location prior to enabling the compressed repository |
|
functionality. |
|
|
|
LIBZ web pages are: |
|
|
|
http://www.sourceforge.net |
|
http://gnuwin32.sourceforge.net/packages/zlib.htm |
|
http://www.winimage.com/zLibDll/ |
|
http://www.gzip.org/zlib/ |
|
|
|
LIBZ INSTALLATION ON WINDOWS PLATFORMS: |
|
-------------------------------------- |
|
The standard libz install is: |
|
"Program Files"\GnuWin32\include |
|
zlib.h and zconf.h |
|
"Program Files"\GnuWin32\lib |
|
libz.a |
|
"Program Files"\GnuWin32\bin |
|
zlib1.dll |
|
|
|
These are the locations used by the windows libz package |
|
available on www.sourceforge.net specifically at |
|
http://gnuwin32.sourceforge.net/packages/zlib.htm. |
|
|
|
The make file specifies these GnuWin32 directories (include and lib) |
|
for the compilation of the CIMRepository. The CIMserver.exe will use |
|
the zlib1.dll and expects to find it in one of the search path directories. |
|
|
|
The directory containing the zlib1.dll library must be in the search path. |
|
You may include the Gnuwin/bin directory in your search path or |
|
alternatively you may move zlib1.dll to another directory that is already |
|
in your search path. |
|
|
|
|
|
LIBZ INSTALLATION ON UNIX PLATFORMS: |
|
------------------------------------ |
|
Install zlib.h & zconf.h in the standard system includes directory. |
|
Install libz.a in the standard systems library directory. |
|
Install zlib1.dll in the standard executables directory |
|
|
|
|
|
COMPILATION: |
|
------------ |
|
|
|
To enable the compressed repository functionality |
|
define PEGASUS_COMPRESS_REPOSITORY in the environment, |
|
prior to building the tree. Then build the whole source tree. |
|
|
|
set PEGASUS_COMPRESS_REPOSITORY=on |
|
export PEGASUS_COMPRESS_REPOSITORY=on |
|
etc. |
|
|
|
Alternatively in the pegasus/src/Pegasus/Repository directory type: |
|
make compress |
|
|
|
|
|
USAGE: |
|
----- |
|
|
|
With the compression code enabled and compiled: |
|
- All repositories built will be in the compressed format by default. |
|
- all repository formats can be read. |
|
- all repository formats can be written. |
|
To build a non compressed repository with compression enabled: |
|
set PEGASUS_COMPRESS_REPSOITORY to "build_non_compresed". |
|
This is used by the CompareXmlCompressed repository test. |
|
|
|
export PEGASUS_COMPRESS_REPOSITORY=on |
|
export PEGASUS_COMPRESS_REPOSITORY=build_non_compressed |
|
set PEGASUS_COMPRESS_REPOSITORY=on |
|
set PEGASUS_COMPRESS_REPOSITORY=build_non_compressed |
|
|
|
TESTERS NOTE: |
|
------------ |
|
|
|
If PEGASUS_COMPRESS_REPOSITORY is defined then the CompareXmlCompressed |
|
test is run. If it is not defined then the CompareXmlCompressed is not run. |
|
|
|
However if you have the zlibs installed and want to normally test |
|
everything with a regular repository but want to run the |
|
CompareXmlCompressed test then define PEGASUS_COMPRESS_REPOSITORY_TEST. |
|
This will cause the test to run, it will recompile the CIMRepository for |
|
compression, run the test and then recompile CIMRepository for |
|
non-compression. |
|
|