diff options
author | Andras Timar <atimar@suse.com> | 2012-09-23 10:51:36 +0200 |
---|---|---|
committer | Andras Timar <atimar@suse.com> | 2012-09-23 22:07:49 +0200 |
commit | 44e46183cf0771ef872b89a164651109a2abb012 (patch) | |
tree | 7dc05fee3abd456fe61c5a25fa3e96cf9f3d6c44 /solenv/bin/modules | |
parent | 9783faa2a305c884bd80b0cc5238fb75a2ba29b9 (diff) |
fdo#54276 speed up packaging on Windows significantly
See the bug for more details.
Change-Id: I01aed95c204ebeffa9cd7678f698a100a836f267
Diffstat (limited to 'solenv/bin/modules')
-rw-r--r-- | solenv/bin/modules/installer.pm | 11 |
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); } |