diff options
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/bin/modules/installer/parameter.pm | 1 | ||||
-rw-r--r-- | solenv/bin/modules/installer/simplepackage.pm | 26 | ||||
-rwxr-xr-x | solenv/config/sdev300.ini | 3 |
3 files changed, 22 insertions, 8 deletions
diff --git a/solenv/bin/modules/installer/parameter.pm b/solenv/bin/modules/installer/parameter.pm index a0d91954ddb5..b065dc5ca5d6 100644 --- a/solenv/bin/modules/installer/parameter.pm +++ b/solenv/bin/modules/installer/parameter.pm @@ -280,7 +280,6 @@ sub setglobalvariables if ( $installer::globals::compiler =~ /wnt(msc|gcc)i/ ) { $installer::globals::iswindowsbuild = 1; - if ( $installer::globals::installertypedir eq "" ) { $installer::globals::installertypedir = "msi"; } } if ( $installer::globals::compiler =~ /unxso[lg][siux]/ ) diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm index e4da93e48473..39530ee96843 100644 --- a/solenv/bin/modules/installer/simplepackage.pm +++ b/solenv/bin/modules/installer/simplepackage.pm @@ -364,7 +364,7 @@ sub replace_variables_in_scriptfile sub create_package { - my ( $installdir, $packagename, $allvariables, $includepatharrayref, $languagestringref, $format ) = @_; + my ( $installdir, $archivedir, $packagename, $allvariables, $includepatharrayref, $languagestringref, $format ) = @_; installer::logger::print_message( "... creating $installer::globals::packageformat file ...\n" ); installer::logger::include_header_into_logfile("Creating $installer::globals::packageformat file:"); @@ -379,9 +379,9 @@ sub create_package installer::systemactions::rename_directory($installdir, $tempdir); # creating new directory with original name - installer::systemactions::create_directory($installdir); + installer::systemactions::create_directory($archivedir); - my $archive = $installdir . $installer::globals::separator . $packagename . $format; + my $archive = $archivedir . $installer::globals::separator . $packagename . $format; if ( $archive =~ /zip$/ ) { @@ -612,10 +612,22 @@ sub create_simple_package } } + # Work around Windows problems with long pathnames (see issue 50885) by + # putting the to-be-archived installation tree into the temp directory + # instead of the module output tree (unless LOCALINSTALLDIR dictates + # otherwise, anyway); can be removed once issue 50885 is fixed: + my $tempinstalldir = $installdir; + if ( $installer::globals::iswindowsbuild && + $installer::globals::packageformat eq "archive" && + !$installer::globals::localinstalldirset ) + { + $tempinstalldir = File::Temp::tempdir; + } + # Creating subfolder in installdir, which shall become the root of package or zip file my $subfolderdir = ""; - if ( $packagename ne "" ) { $subfolderdir = $installdir . $installer::globals::separator . $packagename; } - else { $subfolderdir = $installdir; } + if ( $packagename ne "" ) { $subfolderdir = $tempinstalldir . $installer::globals::separator . $packagename; } + else { $subfolderdir = $tempinstalldir; } if ( ! -d $subfolderdir ) { installer::systemactions::create_directory($subfolderdir); } @@ -770,11 +782,11 @@ sub create_simple_package # Creating archive file if ( $installer::globals::packageformat eq "archive" ) { - create_package($installdir, $packagename, $allvariables, $includepatharrayref, $languagestringref, $installer::globals::archiveformat); + create_package($tempinstalldir, $installdir, $packagename, $allvariables, $includepatharrayref, $languagestringref, $installer::globals::archiveformat); } elsif ( $installer::globals::packageformat eq "dmg" ) { - create_package($installdir, $packagename, $allvariables, $includepatharrayref, $languagestringref, ".dmg"); + create_package($installdir, $installdir, $packagename, $allvariables, $includepatharrayref, $languagestringref, ".dmg"); } # Analyzing the log file diff --git a/solenv/config/sdev300.ini b/solenv/config/sdev300.ini index be1fc69fa487..54b31071e566 100755 --- a/solenv/config/sdev300.ini +++ b/solenv/config/sdev300.ini @@ -2705,6 +2705,7 @@ wntmsci11 DSDK %SOLAR_ENV_ROOT%$/msvc8p$/DirectXSDK FSDK %SOLAR_ENV_ROOT%$/msvc8p$/Sdk$/v2.0 PERL %SOLAR_ENV_ROOT%$/btw$/perl$/bin$/perl + PKGFORMAT msi PSDK %SOLAR_ENV_ROOT%$/msvc8p$/PlatformSDK SHARED_COM_SDK_PATH %SOLAR_ENV_ROOT%$/msvc8p$/Common7$/ide SHARED_SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv @@ -2989,6 +2990,7 @@ wntmsci12 F20SDK %SOLAR_ENV_ROOT%$/msvc9p$/Sdk$/v2.0 NSIS_PATH %SOLAR_ENV_ROOT%$/NSIS_242_unicode PERL %SOLAR_ENV_ROOT%$/%PERLDIR% + PKGFORMAT msi PSDK %SOLAR_ENV_ROOT%$/msvc9p$/PlatformSDK$/V6.1 SHARED_COM_SDK_PATH %SOLAR_ENV_ROOT%$/msvc9p$/Common7$/ide SHARED_SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv @@ -3332,6 +3334,7 @@ wntmsci13 F20SDK %SOLAR_ENV_ROOT%$/msvc9p$/Sdk$/v2.0 NSIS_PATH %SOLAR_ENV_ROOT%$/NSIS_242_unicode PERL %SOLAR_ENV_ROOT%$/%PERLDIR% + PKGFORMAT msi PSDK %SOLAR_ENV_ROOT%$/msvc9p$/PlatformSDK$/V6.1 SHARED_COM_SDK_PATH %SOLAR_ENV_ROOT%$/msvc9p$/Common7$/ide SHARED_SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv |