summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndras Timar <atimar@suse.com>2012-09-23 10:51:36 +0200
committerAndras Timar <atimar@suse.com>2012-09-23 22:07:49 +0200
commit44e46183cf0771ef872b89a164651109a2abb012 (patch)
tree7dc05fee3abd456fe61c5a25fa3e96cf9f3d6c44
parent9783faa2a305c884bd80b0cc5238fb75a2ba29b9 (diff)
fdo#54276 speed up packaging on Windows significantly
See the bug for more details. Change-Id: I01aed95c204ebeffa9cd7678f698a100a836f267
-rw-r--r--solenv/bin/modules/installer.pm11
1 files changed, 8 insertions, 3 deletions
diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/installer.pm
index acec0b6e4856..c2cd8ab8cbbc 100644
--- a/solenv/bin/modules/installer.pm
+++ b/solenv/bin/modules/installer.pm
@@ -1683,9 +1683,6 @@ sub run {
installer::windows::msiglobal::write_summary_into_msi_database($msifilename, $onelanguage, $languagefile, $allvariableshashref);
- # if there are Merge Modules, they have to be integrated now
- $filesinproductlanguageresolvedarrayref = installer::windows::mergemodule::merge_mergemodules_into_msi_database($mergemodulesarrayref, $filesinproductlanguageresolvedarrayref, $msifilename, $languagestringref, $allvariableshashref, $includepatharrayref, $allupdatesequences, $allupdatelastsequences, $allupdatediskids);
-
# copy msi database into installation directory
my $msidestfilename = $installdir . $installer::globals::separator . $msidatabasename;
@@ -1704,6 +1701,14 @@ sub run {
{
installer::windows::msiglobal::create_transforms($languagesarrayref, $defaultlanguage, $installdir, $allvariableshashref);
}
+ # if there are Merge Modules, they have to be integrated now
+ my $mergedbname = installer::windows::msiglobal::get_msidatabasename($allvariableshashref, $defaultlanguage);
+ my $mergeidtdir = $idtdirbase . $installer::globals::separator . "mergemodules";
+ if ( -d $mergeidtdir ) { installer::systemactions::remove_complete_directory($mergeidtdir, 1); }
+ installer::systemactions::create_directory($mergeidtdir);
+ installer::systemactions::copy_one_file($installdir . $installer::globals::separator . $mergedbname, $mergeidtdir . $installer::globals::separator . $mergedbname);
+ $filesinproductlanguageresolvedarrayref = installer::windows::mergemodule::merge_mergemodules_into_msi_database($mergemodulesarrayref, $filesinproductlanguageresolvedarrayref, $mergeidtdir . $installer::globals::separator . $mergedbname, $languagestringref, $allvariableshashref, $includepatharrayref, $allupdatesequences, $allupdatelastsequences, $allupdatediskids);
+ installer::systemactions::copy_one_file($mergeidtdir . $installer::globals::separator . $mergedbname, $installdir . $installer::globals::separator . $mergedbname);
installer::windows::msiglobal::rename_msi_database_in_installset($defaultlanguage, $installdir, $allvariableshashref);
}