diff options
author | Ingo Schmidt <is@openoffice.org> | 2010-05-27 14:50:25 +0200 |
---|---|---|
committer | Ingo Schmidt <is@openoffice.org> | 2010-05-27 14:50:25 +0200 |
commit | a76e94f5f77b03807a01635d9d95eb0fb31fc934 (patch) | |
tree | 76481142d3b18cffaf84a608da5df7183bc81306 /solenv/bin/modules/installer/windows/directory.pm | |
parent | native305 #i92977# new Windows INSTALLLOCATION settings (diff) | |
download | core-a76e94f5f77b03807a01635d9d95eb0fb31fc934.tar.gz core-a76e94f5f77b03807a01635d9d95eb0fb31fc934.zip |
native305 #i92977# new Windows INSTALLLOCATION settings
Diffstat (limited to 'solenv/bin/modules/installer/windows/directory.pm')
-rw-r--r-- | solenv/bin/modules/installer/windows/directory.pm | 45 |
1 files changed, 34 insertions, 11 deletions
diff --git a/solenv/bin/modules/installer/windows/directory.pm b/solenv/bin/modules/installer/windows/directory.pm index 6dde28120a44..ba6f9a3b75bd 100644 --- a/solenv/bin/modules/installer/windows/directory.pm +++ b/solenv/bin/modules/installer/windows/directory.pm @@ -138,17 +138,44 @@ sub create_unique_directorynames $installer::globals::installlocationdirectoryset = 1; if ( $installer::globals::installlocationdirectory =~ /oracle_/i ) { $installer::globals::sundirexists = 1; } } + + # setting the sundirectory + if ( $styles =~ /\bSUNDIRECTORY\b/ ) + { + if ( $installer::globals::vendordirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag SUNDIRECTORY alread set: \"$installer::globals::vendordirectory\".", "create_unique_directorynames"); } + $installer::globals::vendordirectory = $uniquename; + $installer::globals::vendordirectoryset = 1; + } } } ##################################################### +# Adding ":." to selected default directory names +##################################################### + +sub check_sourcedir_addon +{ + my ( $onedir, $allvariableshashref ) = @_; + + if (($installer::globals::addchildprojects) || + ($installer::globals::patch) || + ($installer::globals::languagepack) || + ($allvariableshashref->{'CHANGETARGETDIR'})) + { + my $sourcediraddon = "\:\."; + $onedir->{'defaultdir'} = $onedir->{'defaultdir'} . $sourcediraddon; + } + +} + +##################################################### # The directory with the style ISINSTALLLOCATION # will be replaced by INSTALLLOCATION ##################################################### sub set_installlocation_directory { - my ( $directoryref ) = @_; + my ( $directoryref, $allvariableshashref ) = @_; if ( ! $installer::globals::installlocationdirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag ISINSTALLLOCATION not set!", "set_installlocation_directory"); } @@ -159,16 +186,12 @@ sub set_installlocation_directory if ( $onedir->{'uniquename'} eq $installer::globals::installlocationdirectory ) { $onedir->{'uniquename'} = "INSTALLLOCATION"; + check_sourcedir_addon($onedir, $allvariableshashref); + } - if (($installer::globals::addchildprojects) || - ($installer::globals::patch) || - ($installer::globals::languagepack) || - ($allvariableshashref->{'CHANGETARGETDIR'})) - { - - my $sourcediraddon = "\:\."; - $onedir->{'defaultdir'} = $onedir->{'defaultdir'} . $sourcediraddon; - } + if ( $onedir->{'uniquename'} eq $installer::globals::vendordirectory ) + { + check_sourcedir_addon($onedir, $allvariableshashref); } if ( $onedir->{'uniqueparentname'} eq $installer::globals::installlocationdirectory ) @@ -415,7 +438,7 @@ sub create_directory_table if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_1.log", $directoryref); } create_defaultdir_directorynames($directoryref, $shortdirnamehashref); # only destdir! if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_2.log", $directoryref); } - set_installlocation_directory($directoryref); + set_installlocation_directory($directoryref, $allvariableshashref); if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_3.log", $directoryref); } installer::windows::idtglobal::write_idt_header(\@directorytable, "directory"); add_root_directories(\@directorytable, $allvariableshashref); |