[Libreoffice-commits] .: solenv/bin

Kalman "" Szalai kami911 at kemper.freedesktop.org
Tue Mar 1 16:29:23 PST 2011


 solenv/bin/modules/installer/globals.pm           |    2 +-
 solenv/bin/modules/installer/windows/msiglobal.pm |    5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 3fdf828b833f04f115a0f3d99aa8b1221f0365db
Author: Kalman Szalai - KAMI <kami911 at gmail.com>
Date:   Wed Mar 2 01:25:13 2011 +0100

    Refine compression of Windows installer
    
    I increased the efficiency of LZM compression of makecab. I found that we can use .Set CompressionMemory=21 setting. This setting produces 83,91% of original installer size and if we combine it with a simple zip compression the download size can reduce to 83,54%.
    
    Reference:
    http://www.mail-archive.com/libreoffice@lists.freedesktop.org/msg07068.html

diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm
index d5dae68..8912008 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -415,7 +415,7 @@ BEGIN
     $one_cab_file = 0;
     $fix_number_of_cab_files = 1;
     $cab_file_per_component = 0;
-    $cabfilecompressionlevel = 7;
+    $cabfilecompressionlevel = 21; # Using LZX compression, possible values are: 15 | 16 | ... | 21 (best compression)
     $number_of_cabfiles = 1;	# only for $fix_number_of_cab_files = 1 
     $include_cab_in_msi = 0;
     $use_packages_for_cabs = 0;
diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm
index a627c17..b3c4270 100644
--- a/solenv/bin/modules/installer/windows/msiglobal.pm
+++ b/solenv/bin/modules/installer/windows/msiglobal.pm
@@ -64,7 +64,10 @@ sub write_ddf_file_header
     push(@{$ddffileref} ,$oneline);
     $oneline = ".Set Compress=ON\n";
     push(@{$ddffileref} ,$oneline);
-    $oneline = ".Set CompressionLevel=$installer::globals::cabfilecompressionlevel\n";
+# The window size for LZX compression
+# CompressionMemory=15 | 16 | ... | 21
+# Reference: http://msdn.microsoft.com/en-us/library/bb417343.aspx
+    $oneline = ".Set CompressionMemory=$installer::globals::cabfilecompressionlevel\n";
     push(@{$ddffileref} ,$oneline);
     $oneline = ".Set Cabinet=ON\n";
     push(@{$ddffileref} ,$oneline);


More information about the Libreoffice-commits mailing list