diff options
author | Andras Timar <atimar@suse.com> | 2012-09-24 12:12:33 +0200 |
---|---|---|
committer | Andras Timar <atimar@suse.com> | 2012-09-28 13:37:38 +0200 |
commit | 9837e432eae2a40bf67a68440bd236c8ab6a4f61 (patch) | |
tree | 38f11501dcc667fe0eb2f3e7469844c98e9ac478 /solenv | |
parent | explicitly --disable-gtk for Windows and MacOSX (diff) | |
download | core-9837e432eae2a40bf67a68440bd236c8ab6a4f61.tar.gz core-9837e432eae2a40bf67a68440bd236c8ab6a4f61.zip |
fdo#54276 speed up packaging on Windows significantly
See the bug for more details.
Change-Id: If77544f2fbec2793b6edb015d9447569c6a4e215
Signed-off-by: Fridrich Strba <fridrich.strba@suse.com>
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/bin/make_installer.pl | 12 | ||||
-rwxr-xr-x | solenv/bin/modules/installer/windows/mergemodule.pm | 2 |
2 files changed, 9 insertions, 5 deletions
diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl index 06ff6b9d71a4..fb23d97f31f3 100644 --- a/solenv/bin/make_installer.pl +++ b/solenv/bin/make_installer.pl @@ -1796,10 +1796,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ ) 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, $onelanguage, $languagefile, $allvariableshashref, $includepatharrayref, $allupdatesequences, $allupdatelastsequences, $allupdatediskids); - if ( $installer::globals::use_packages_for_cabs ) { installer::windows::media::create_media_table($filesinproductlanguageresolvedarrayref, $newidtdir, $allvariableshashref, $allupdatelastsequences, $allupdatediskids); } - # copy msi database into installation directory my $msidestfilename = $installdir . $installer::globals::separator . $msidatabasename; @@ -1818,6 +1814,14 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ ) { 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); } diff --git a/solenv/bin/modules/installer/windows/mergemodule.pm b/solenv/bin/modules/installer/windows/mergemodule.pm index bc12e1161bd0..f4e5951150cd 100755 --- a/solenv/bin/modules/installer/windows/mergemodule.pm +++ b/solenv/bin/modules/installer/windows/mergemodule.pm @@ -48,7 +48,7 @@ use installer::windows::language; sub merge_mergemodules_into_msi_database { - my ($mergemodules, $filesref, $msifilename, $languagestringref, $language, $languagefile, $allvariables, $includepatharrayref, $allupdatesequences, $allupdatelastsequences, $allupdatediskids) = @_; + my ($mergemodules, $filesref, $msifilename, $languagestringref, $allvariables, $includepatharrayref, $allupdatesequences, $allupdatelastsequences, $allupdatediskids) = @_; my $domerge = 0; if (( $#{$mergemodules} > -1 ) && ( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack )) { $domerge = 1; } |