1 jim.wunderlich 1.2
2
3 PEP214 Compressed repository
4 ============================
5
6 Authors: Karl Schopmeyer, Mike Brasher, Jim Wunderlich
7 Date: 28 Feb 2005
8
9 This PEP added the capability to utilize compression algorithms
10 on the repository. The compressed repository is approximately 70%
11 smaller than a regular xml text based repository. This allows
12 significant disk space savings a also results in shorter file
13 load times.
14
15 The compression logic is installed as a conditionally compiled option.
16 To enable the compressed repository functionality:
17 1. Install zlib
18 2. define PEGASUS_COMPRESS_REPOSITORY=on in the environment
19 3. build Pegasus.
20
21 LIBZ INSTALLATION:
22 jim.wunderlich 1.2 ------------------
23
24 libz is used in the compression logic so it must be installed in
25 a standard location prior to enabling the compressed repository
26 functionality.
27
28 LIBZ web pages are:
29
30 http://www.sourceforge.net
31 http://gnuwin32.sourceforge.net/packages/zlib.htm
32 http://www.winimage.com/zLibDll/
33 http://www.gzip.org/zlib/
34
35 LIBZ INSTALLATION ON WINDOWS PLATFORMS:
36 --------------------------------------
37 The standard libz install is:
38 "Program Files"\GnuWin32\include
39 zlib.h and zconf.h
40 "Program Files"\GnuWin32\lib
41 libz.a
42 "Program Files"\GnuWin32\bin
43 jim.wunderlich 1.2 zlib1.dll
44
45 These are the locations used by the windows libz package
46 available on www.sourceforge.net specifically at
47 http://gnuwin32.sourceforge.net/packages/zlib.htm.
48
49 The make file specifies these GnuWin32 directories (include and lib)
50 for the compilation of the CIMRepository. The CIMserver.exe will use
51 the zlib1.dll and expects to find it in one of the search path directories.
52
53 The directory containing the zlib1.dll library must be in the search path.
54 You may include the Gnuwin/bin directory in your search path or
55 alternatively you may move zlib1.dll to another directory that is already
56 in your search path.
57
58
59 LIBZ INSTALLATION ON UNIX PLATFORMS:
60 ------------------------------------
61 Install zlib.h & zconf.h in the standard system includes directory.
62 Install libz.a in the standard systems library directory.
63 Install zlib1.dll in the standard executables directory
64 jim.wunderlich 1.2
65
66 COMPILATION:
67 ------------
68
69 To enable the compressed repository functionality
70 define PEGASUS_COMPRESS_REPOSITORY in the environment,
71 prior to building the tree. Then build the whole source tree.
72
73 set PEGASUS_COMPRESS_REPOSITORY=on
74 export PEGASUS_COMPRESS_REPOSITORY=on
75 etc.
76
77 USAGE:
78 -----
79
80 With the compression code enabled and compiled:
81 - All repositories built will be in the compressed format by default.
82 - all repository formats can be read.
83 - all repository formats can be written.
84 To build a non compressed repository with compression enabled:
85 jim.wunderlich 1.2 set PEGASUS_COMPRESS_REPSOITORY to "build_non_compresed".
86 This is used by the CompareXmlCompressed repository test.
87
88 export PEGASUS_COMPRESS_REPOSITORY=on
89 export PEGASUS_COMPRESS_REPOSITORY=build_non_compressed
90 set PEGASUS_COMPRESS_REPOSITORY=on
91 set PEGASUS_COMPRESS_REPOSITORY=build_non_compressed
92
93 TESTERS NOTE:
94 ------------
95
96 If PEGASUS_COMPRESS_REPOSITORY is defined then the CompareXmlCompressed
97 test is run. If it is not defined then the CompareXmlCompressed is not run.
98
99 However if you have the zlibs installed and want to normally test
100 everything with a regular repository but want to run the
101 CompareXmlCompressed test then define PEGASUS_COMPRESS_REPOSITORY_TEST.
102 This will cause the test to run, it will recompile the CIMRepository for
103 compression, run the test and then recompile CIMRepository for
104 non-compression.
105
|