diff options
Diffstat (limited to 'solenv/bin')
-rwxr-xr-x | solenv/bin/deliver.pl | 16 | ||||
-rwxr-xr-x | solenv/bin/gsicheck | 18 | ||||
-rw-r--r-- | solenv/bin/make_installer.pl | 10 | ||||
-rw-r--r-- | solenv/bin/mhids.pl | 8 | ||||
-rw-r--r-- | solenv/bin/modules/CreatePDBRelocators.pm | 2 | ||||
-rw-r--r-- | solenv/bin/modules/installer/globals.pm | 10 | ||||
-rw-r--r-- | solenv/bin/modules/installer/scriptitems.pm | 14 | ||||
-rw-r--r-- | solenv/bin/modules/installer/windows/admin.pm | 6 | ||||
-rw-r--r-- | solenv/bin/modules/installer/windows/component.pm | 16 | ||||
-rw-r--r-- | solenv/bin/modules/installer/windows/directory.pm | 216 | ||||
-rw-r--r-- | solenv/bin/modules/installer/windows/idtglobal.pm | 41 | ||||
-rw-r--r-- | solenv/bin/modules/installer/windows/property.pm | 12 | ||||
-rw-r--r-- | solenv/bin/modules/installer/windows/registry.pm | 10 | ||||
-rw-r--r-- | solenv/bin/modules/installer/windows/shortcut.pm | 4 | ||||
-rw-r--r-- | solenv/bin/modules/installer/worker.pm | 3 | ||||
-rw-r--r-- | solenv/bin/modules/installer/ziplist.pm | 10 |
16 files changed, 198 insertions, 198 deletions
diff --git a/solenv/bin/deliver.pl b/solenv/bin/deliver.pl index b0cb51e3b076..ab91ae34c01f 100755 --- a/solenv/bin/deliver.pl +++ b/solenv/bin/deliver.pl @@ -73,6 +73,7 @@ $is_debug = 0; $error = 0; $module = 0; # module name +$repository = 0; # parent directory of this module $base_dir = 0; # path to module base directory $dlst_file = 0; # path to d.lst $ilst_ext = 'ilst'; # extension of image lists @@ -446,7 +447,7 @@ sub parse_options sub init_globals { my $ext; - ($module, $base_dir, $dlst_file) = get_base(); + ($module, $repository, $base_dir, $dlst_file) = get_base(); # for CWS: $module =~ s/\.lnk$//; @@ -543,7 +544,7 @@ sub get_base { # a module base dir contains a subdir 'prj' # which in turn contains a file 'd.lst' - my (@field, $base, $dlst); + my (@field, $repo, $base, $dlst); my $path = getcwd(); @field = split(/\//, $path); @@ -560,7 +561,12 @@ sub get_base exit(2); } else { - return ($field[-1], $base, $dlst); + if ( defined $field[-2] ) { + $repo = $field[-2]; + } else { + print_error("Internal error: cannot determine module's parent directory"); + } + return ($field[-1], $repo, $base, $dlst); } } @@ -1152,8 +1158,8 @@ sub push_on_loglist if (( $entry[0] eq "COPY" ) || ( $entry[0] eq "ADDINCPATH" )) { return 0 if ( ! -e $entry[1].$maybedot ); # make 'from' relative to source root - $entry[1] = $module . "/prj/" . $entry[1]; - $entry[1] =~ s/^$module\/prj\/\.\./$module/; + $entry[1] = $repository ."/" . $module . "/prj/" . $entry[1]; + $entry[1] =~ s/$module\/prj\/\.\./$module/; } # platform or common tree? my $common; diff --git a/solenv/bin/gsicheck b/solenv/bin/gsicheck new file mode 100755 index 000000000000..9b898c9d5950 --- /dev/null +++ b/solenv/bin/gsicheck @@ -0,0 +1,18 @@ +#!/bin/sh +if [ x${SOLARENV}x = xx ]; then + echo No environment found, please use 'setsolar' +exit 1 +fi + +if [ "${OS?}" = MACOSX ]; then + export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH+${DYLD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib${UPDMINOREXT} +else + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib${UPDMINOREXT} +fi + +if [ x${SOLARVER}x = xx -o x${UPDMINOREXT}x = xx ]; then + exec $SOLARVERSION/$INPATH/bin/gsicheck "$@" +else + exec $SOLARVERSION/$INPATH/bin$UPDMINOREXT/gsicheck "$@" +fi + diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl index 197f985bbf83..127f28cd7631 100644 --- a/solenv/bin/make_installer.pl +++ b/solenv/bin/make_installer.pl @@ -257,6 +257,10 @@ if ( $installer::globals::globallogging ) { installer::files::save_hash($logging installer::ziplist::add_variables_to_allvariableshashref($allvariableshashref); if ( $installer::globals::globallogging ) { installer::files::save_hash($loggingdir . "allvariables3b.log", $allvariableshashref); } +installer::ziplist::overwrite_ooovendor( $allvariableshashref ); +if ( $installer::globals::globallogging ) { installer::files::save_hash($loggingdir . "allvariables3c.log", $allvariableshashref); } + + ######################################################## # Check if this is simple packaging mechanism ######################################################## @@ -1982,7 +1986,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ ) if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17c.log", $filesinproductlanguageresolvedarrayref); } if ( $installer::globals::updatedatabase ) { installer::windows::file::check_file_sequences($allupdatefileorder, $allupdatecomponentorder); } - installer::windows::directory::create_directory_table($directoriesforepmarrayref, $newidtdir, $allvariableshashref, $shortdirname); + installer::windows::directory::create_directory_table($directoriesforepmarrayref, $newidtdir, $allvariableshashref, $shortdirname, $loggingdir); if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles18.log", $filesinproductlanguageresolvedarrayref); } if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt1.log", $directoriesforepmarrayref); } @@ -2143,10 +2147,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ ) push(@installer::globals::logfileinfo, $infoline); } - # include office directory in CustomAction table - - installer::windows::idtglobal::add_officedir_to_database($languageidtdir, $allvariableshashref); - # include a component into environment table if required installer::windows::component::set_component_in_environment_table($languageidtdir, $filesinproductlanguageresolvedarrayref); diff --git a/solenv/bin/mhids.pl b/solenv/bin/mhids.pl index a1229c398551..f0abf2e5cdca 100644 --- a/solenv/bin/mhids.pl +++ b/solenv/bin/mhids.pl @@ -203,8 +203,8 @@ if ( $ret ) { } push @cleanuplist, ".c1"; -print "$compiler $solarincludes $defs $preprocess_flag ${shell_workfile}.c1 > ${shell_workfile}.c2\n" if $verbose; -$ret = system "$compiler $solarincludes $defs $preprocess_flag ${shell_workfile}.c1 > ${shell_workfile}.c2"; +print "$compiler $defs $solarincludes $preprocess_flag ${shell_workfile}.c1 > ${shell_workfile}.c2\n" if $verbose; +$ret = system "$compiler $defs $solarincludes $preprocess_flag ${shell_workfile}.c1 > ${shell_workfile}.c2"; if ( $ret ) { push @cleanuplist, ".c2"; cleandie("ERROR - calling compiler for preprocessing failed"); @@ -246,8 +246,8 @@ if ( $outobj_flag ne "" ) { $outobj_param = "$outobj_flag${shell_workfile}$objext"; } -print "$compiler $solarincludes $defs ${shell_workfile}.c $outobj_param $outbin_flag${shell_workfile}$appext \n" if $verbose; -$ret = system "$compiler $solarincludes $defs ${shell_workfile}.c $outobj_param $outbin_flag${shell_workfile}$appext"; +print "$compiler $defs $solarincludes ${shell_workfile}.c $outobj_param $outbin_flag${shell_workfile}$appext \n" if $verbose; +$ret = system "$compiler $defs $solarincludes ${shell_workfile}.c $outobj_param $outbin_flag${shell_workfile}$appext"; if ( $ret ) { push @cleanuplist, "$appext"; cleandie("ERROR - compiling $workfile.c failed"); diff --git a/solenv/bin/modules/CreatePDBRelocators.pm b/solenv/bin/modules/CreatePDBRelocators.pm index c6e4f81a660f..c31e3a053b0c 100644 --- a/solenv/bin/modules/CreatePDBRelocators.pm +++ b/solenv/bin/modules/CreatePDBRelocators.pm @@ -186,7 +186,7 @@ sub collect_files # collect all binary executables on o: my @bin = $self->find_binary_execs("$template/bin"); my @bin_so = $self->find_binary_execs("$template/bin/so"); - @$filesref = (@lib, @lib_so, @mac_lib, @mac_lib_so, @bin, @bin_so); + push(@$filesref, (@lib, @lib_so, @mac_lib, @mac_lib_so, @bin, @bin_so)); } return 1; } diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm index 231857195f37..71429e278f4e 100644 --- a/solenv/bin/modules/installer/globals.pm +++ b/solenv/bin/modules/installer/globals.pm @@ -378,6 +378,10 @@ BEGIN %spellcheckerfilehash = (); $registryrootcomponent = ""; + $installlocationdirectory = ""; + $installlocationdirectoryset = 0; + $vendordirectory = ""; + $vendordirectoryset = 0; $officeinstalldirectory = ""; $officeinstalldirectoryset = 0; $basisinstalldirectory = ""; @@ -396,9 +400,9 @@ BEGIN $sundirgid = ""; %sign_extensions = ("dll" => "1", "exe" => "1", "cab" => "1"); - %treestyles = ("UREDIRECTORY" => "INSTALLURE", "BASISDIRECTORY" => "INSTALLBASIS", "OFFICEDIRECTORY" => "INSTALLOFFICE"); - %installlocations = ("INSTALLLOCATION" => "1", "BASISINSTALLLOCATION" => "1", "OFFICEINSTALLLOCATION" => "1", "UREINSTALLLOCATION" => "1"); - %treelayername = ("UREDIRECTORY" => "URE", "BASISDIRECTORY" => "BASIS", "OFFICEDIRECTORY" => "BRAND"); + %treestyles = (); + %installlocations = ("INSTALLLOCATION" => "1"); + %treelayername = (); %hostnametreestyles = (); %treeconditions = (); %usedtreeconditions = (); diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm index cee8b1e0cfe8..a073e60a6697 100644 --- a/solenv/bin/modules/installer/scriptitems.pm +++ b/solenv/bin/modules/installer/scriptitems.pm @@ -241,7 +241,7 @@ sub remove_office_start_language_files else { my $infoline = "INFO: Flag SET_OFFICE_LANGUAGE \-\> Removing $oneitem->{'gid'} from file list.\n"; - push( @installer::globals::globallogfileinfo, $infoline); + push( @installer::globals::logfileinfo, $infoline); } } @@ -541,18 +541,6 @@ sub set_global_directory_hostnames $installer::globals::officedirgid = $onedir->{'gid'}; $allvariables->{'OFFICEDIRECTORYHOSTNAME'} = $installer::globals::officedirhostname; } - if ( $styles =~ /\bBASISDIRECTORY\b/ ) - { - $installer::globals::basisdirhostname = $onedir->{'HostName'}; - $installer::globals::basisdirgid = $onedir->{'gid'}; - $allvariables->{'BASISDIRECTORYHOSTNAME'} = $installer::globals::basisdirhostname; - } - if ( $styles =~ /\bUREDIRECTORY\b/ ) - { - $installer::globals::uredirhostname = $onedir->{'HostName'}; - $installer::globals::uredirgid = $onedir->{'gid'}; - $allvariables->{'UREDIRECTORYHOSTNAME'} = $installer::globals::uredirhostname; - } if ( $styles =~ /\bSUNDIRECTORY\b/ ) { $installer::globals::sundirhostname = $onedir->{'HostName'}; diff --git a/solenv/bin/modules/installer/windows/admin.pm b/solenv/bin/modules/installer/windows/admin.pm index d22a1299e9c9..3564770e76ba 100644 --- a/solenv/bin/modules/installer/windows/admin.pm +++ b/solenv/bin/modules/installer/windows/admin.pm @@ -419,6 +419,12 @@ sub create_directory_structure foreach $dir (@startparents) { create_directory_tree($dir, \%fullpathhash, $targetdir, $dirhash); } + # Also adding the pathes of the startparents + foreach $dir (@startparents) + { + if ( ! exists($fullpathhash{$dir}) ) { $fullpathhash{$dir} = $targetdir; } + } + return \%fullpathhash; } diff --git a/solenv/bin/modules/installer/windows/component.pm b/solenv/bin/modules/installer/windows/component.pm index 125c8607f249..38989858a4b6 100644 --- a/solenv/bin/modules/installer/windows/component.pm +++ b/solenv/bin/modules/installer/windows/component.pm @@ -162,6 +162,11 @@ sub get_file_component_directory } $uniquedir = $onedir->{'uniquename'}; + + if ( $uniquedir eq $installer::globals::officeinstalldirectory ) + { + $uniquedir = "INSTALLLOCATION"; + } } $onefile->{'uniquedirname'} = $uniquedir; # saving it in the file collection @@ -176,16 +181,7 @@ sub get_file_component_directory sub get_registry_component_directory { - my $componentdir = ""; - - if ( $installer::globals::officeinstalldirectoryset ) - { - $componentdir = $installer::globals::officeinstalldirectory; - } - else - { - $componentdir = "INSTALLLOCATION"; - } + my $componentdir = "INSTALLLOCATION"; return $componentdir; } diff --git a/solenv/bin/modules/installer/windows/directory.pm b/solenv/bin/modules/installer/windows/directory.pm index 2a9463f508a1..ba6f9a3b75bd 100644 --- a/solenv/bin/modules/installer/windows/directory.pm +++ b/solenv/bin/modules/installer/windows/directory.pm @@ -110,7 +110,7 @@ sub create_unique_directorynames } else { - $uniqueparentname = "INSTALLLOCATION"; + $uniqueparentname = $installer::globals::programfilesfolder; } if ( $styles =~ /\bPROGRAMFILESFOLDER\b/ ) { $uniqueparentname = $installer::globals::programfilesfolder; } @@ -130,29 +130,73 @@ sub create_unique_directorynames $onedir->{'uniquename'} = $uniquename; $onedir->{'uniqueparentname'} = $uniqueparentname; - # setting the office installation directory - if ( $styles =~ /\bOFFICEDIRECTORY\b/ ) + # setting the installlocation directory + if ( $styles =~ /\bISINSTALLLOCATION\b/ ) { - if ( $installer::globals::officeinstalldirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag OFFICEDIRECTORY alread set: \"$installer::globals::officeinstalldirectory\".", "create_unique_directorynames"); } - $installer::globals::officeinstalldirectory = $uniquename; - $installer::globals::officeinstalldirectoryset = 1; - if ( $installer::globals::officeinstalldirectory =~ /sun_/i ) { $installer::globals::sundirexists = 1; } + if ( $installer::globals::installlocationdirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag ISINSTALLLOCATION alread set: \"$installer::globals::installlocationdirectory\".", "create_unique_directorynames"); } + $installer::globals::installlocationdirectory = $uniquename; + $installer::globals::installlocationdirectoryset = 1; + if ( $installer::globals::installlocationdirectory =~ /oracle_/i ) { $installer::globals::sundirexists = 1; } } - # setting the bais installation directory - if ( $styles =~ /\bBASISDIRECTORY\b/ ) + # setting the sundirectory + if ( $styles =~ /\bSUNDIRECTORY\b/ ) { - if ( $installer::globals::basisinstalldirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag BASISDIRECTORY alread set: \"$installer::globals::basisinstalldirectory\".", "create_unique_directorynames"); } - $installer::globals::basisinstalldirectory = $uniquename; - $installer::globals::basisinstalldirectoryset = 1; + 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, $allvariableshashref ) = @_; + + if ( ! $installer::globals::installlocationdirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag ISINSTALLLOCATION not set!", "set_installlocation_directory"); } + + for ( my $i = 0; $i <= $#{$directoryref}; $i++ ) + { + my $onedir = ${$directoryref}[$i]; + + if ( $onedir->{'uniquename'} eq $installer::globals::installlocationdirectory ) + { + $onedir->{'uniquename'} = "INSTALLLOCATION"; + check_sourcedir_addon($onedir, $allvariableshashref); } - # setting the ure installation directory - if ( $styles =~ /\bUREDIRECTORY\b/ ) + if ( $onedir->{'uniquename'} eq $installer::globals::vendordirectory ) { - if ( $installer::globals::ureinstalldirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag UREDIRECTORY alread set: \"$installer::globals::ureinstalldirectory\".", "create_unique_directorynames"); } - $installer::globals::ureinstalldirectory = $uniquename; - $installer::globals::ureinstalldirectoryset = 1; + check_sourcedir_addon($onedir, $allvariableshashref); + } + + if ( $onedir->{'uniqueparentname'} eq $installer::globals::installlocationdirectory ) + { + $onedir->{'uniqueparentname'} = "INSTALLLOCATION"; } } } @@ -266,27 +310,19 @@ sub add_root_directories { my ($directorytableref, $allvariableshashref) = @_; - my $oneline = "TARGETDIR\t\tSourceDir\n"; - push(@{$directorytableref}, $oneline); +# my $sourcediraddon = ""; +# if (($installer::globals::addchildprojects) || +# ($installer::globals::patch) || +# ($installer::globals::languagepack) || +# ($allvariableshashref->{'CHANGETARGETDIR'})) +# { +# $sourcediraddon = "\:\."; +# } - my $sourcediraddon = ""; - if (($installer::globals::addchildprojects) || - ($installer::globals::patch) || - ($installer::globals::languagepack) || - ($allvariableshashref->{'CHANGETARGETDIR'})) - { - $sourcediraddon = "\:\."; - } + my $oneline = ""; - if (!($installer::globals::product =~ /ada/i )) # the following directories not for ada products + if (( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $allvariableshashref->{'DONTUSESTARTMENUFOLDER'} )) { - $oneline = "$installer::globals::programfilesfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); - - # my $manufacturer = $installer::globals::manufacturer; - # my $shortmanufacturer = installer::windows::idtglobal::make_eight_three_conform($manufacturer, "dir"); # third parameter not used - # $shortmanufacturer =~ s/\s/\_/g; # changing empty space to underline - my $productname = $allvariableshashref->{'PRODUCTNAME'}; my $productversion = $allvariableshashref->{'PRODUCTVERSION'}; my $baseproductversion = $productversion; @@ -318,84 +354,64 @@ sub add_root_directories my $shortproductkey = installer::windows::idtglobal::make_eight_three_conform($productkey, "dir"); # third parameter not used $shortproductkey =~ s/\s/\_/g; # changing empty space to underline - if ( $allvariableshashref->{'SUNDIR'} ) - { - if ( $allvariableshashref->{'SUNDIRNAME'} ) { $installer::globals::sundirname = $allvariableshashref->{'SUNDIRNAME'}; } - $oneline = "sundirectory\t$installer::globals::programfilesfolder\t$installer::globals::sundirname$sourcediraddon\n"; - push(@{$directorytableref}, $oneline); - - $oneline = "INSTALLLOCATION\tsundirectory\t$shortproductkey|$productkey$sourcediraddon\n"; - push(@{$directorytableref}, $oneline); - } - else - { - if ( $allvariableshashref->{'PROGRAMFILESROOT'} ) - { - $oneline = "INSTALLLOCATION\t$installer::globals::programfilesfolder\t.\n"; - } - else - { - $oneline = "INSTALLLOCATION\t$installer::globals::programfilesfolder\t$shortproductkey|$productkey$sourcediraddon\n"; - } - - push(@{$directorytableref}, $oneline); - } - - $oneline = "$installer::globals::programmenufolder\tTARGETDIR\t.\n"; + $oneline = "$installer::globals::officemenufolder\t$installer::globals::programmenufolder\t$shortproductkey|$realproductkey\n"; push(@{$directorytableref}, $oneline); + } - if (( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $allvariableshashref->{'DONTUSESTARTMENUFOLDER'} )) - { - $oneline = "$installer::globals::officemenufolder\t$installer::globals::programmenufolder\t$shortproductkey|$realproductkey\n"; - push(@{$directorytableref}, $oneline); - } + $oneline = "TARGETDIR\t\tSourceDir\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::startupfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::programfilesfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::desktopfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::programmenufolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::startmenufolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::startupfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::commonfilesfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::desktopfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::commonappdatafolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::startmenufolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::localappdatafolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::commonfilesfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - if ( $installer::globals::usesharepointpath ) - { - $oneline = "SHAREPOINTPATH\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); - } + $oneline = "$installer::globals::commonappdatafolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::systemfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::localappdatafolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - my $localtemplatefoldername = $installer::globals::templatefoldername; - my $directorytableentry = $localtemplatefoldername; - my $shorttemplatefoldername = installer::windows::idtglobal::make_eight_three_conform($localtemplatefoldername, "dir"); - if ( $shorttemplatefoldername ne $localtemplatefoldername ) { $directorytableentry = "$shorttemplatefoldername|$localtemplatefoldername"; } - $oneline = "$installer::globals::templatefolder\tTARGETDIR\t$directorytableentry\n"; + if ( $installer::globals::usesharepointpath ) + { + $oneline = "SHAREPOINTPATH\tTARGETDIR\t.\n"; push(@{$directorytableref}, $oneline); + } - if ( $installer::globals::fontsdirname ) - { - $oneline = "$installer::globals::fontsfolder\t$installer::globals::fontsdirparent\t$installer::globals::fontsfoldername\:$installer::globals::fontsdirname\n"; - } - else - { - $oneline = "$installer::globals::fontsfolder\tTARGETDIR\t$installer::globals::fontsfoldername\n"; - } + $oneline = "$installer::globals::systemfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - push(@{$directorytableref}, $oneline); + my $localtemplatefoldername = $installer::globals::templatefoldername; + my $directorytableentry = $localtemplatefoldername; + my $shorttemplatefoldername = installer::windows::idtglobal::make_eight_three_conform($localtemplatefoldername, "dir"); + if ( $shorttemplatefoldername ne $localtemplatefoldername ) { $directorytableentry = "$shorttemplatefoldername|$localtemplatefoldername"; } + $oneline = "$installer::globals::templatefolder\tTARGETDIR\t$directorytableentry\n"; + push(@{$directorytableref}, $oneline); + + if ( $installer::globals::fontsdirname ) + { + $oneline = "$installer::globals::fontsfolder\t$installer::globals::fontsdirparent\t$installer::globals::fontsfoldername\:$installer::globals::fontsdirname\n"; + } + else + { + $oneline = "$installer::globals::fontsfolder\tTARGETDIR\t$installer::globals::fontsfoldername\n"; } + push(@{$directorytableref}, $oneline); + } ############################################### @@ -404,7 +420,7 @@ sub add_root_directories sub create_directory_table { - my ($directoryref, $basedir, $allvariableshashref, $shortdirnamehashref) = @_; + my ($directoryref, $basedir, $allvariableshashref, $shortdirnamehashref, $loggingdir) = @_; # Structure of the directory table: # Directory Directory_Parent DefaultDir @@ -419,7 +435,11 @@ sub create_directory_table overwrite_programfilesfolder($allvariableshashref); create_unique_directorynames($directoryref); + 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, $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); create_directorytable_from_collection(\@directorytable, $directoryref); diff --git a/solenv/bin/modules/installer/windows/idtglobal.pm b/solenv/bin/modules/installer/windows/idtglobal.pm index b82f5175250b..64dc2f34a12a 100644 --- a/solenv/bin/modules/installer/windows/idtglobal.pm +++ b/solenv/bin/modules/installer/windows/idtglobal.pm @@ -1023,44 +1023,6 @@ sub add_officedir_to_database } } - if ( $installer::globals::basisinstalldirectoryset ) - { - $found = 0; - - for ( my $i = 0; $i <= $#{$customacfile}; $i++ ) - { - if ( ${$customacfile}[$i] =~ /\bBASISDIRECTORYGID\b/ ) - { - ${$customacfile}[$i] =~ s/\bBASISDIRECTORYGID\b/$installer::globals::basisinstalldirectory/; - $found = 1; - } - } - - if (( ! $found ) && ( ! $allvariables->{'IGNOREDIRECTORYLAYER'} )) - { - installer::exiter::exit_program("ERROR: \"BASISDIRECTORYGID\" not found in \"$customactionfilename\" !", "add_officedir_to_database"); - } - } - - if ( $installer::globals::ureinstalldirectoryset ) - { - $found = 0; - - for ( my $i = 0; $i <= $#{$customacfile}; $i++ ) - { - if ( ${$customacfile}[$i] =~ /\bUREDIRECTORYGID\b/ ) - { - ${$customacfile}[$i] =~ s/\bUREDIRECTORYGID\b/$installer::globals::ureinstalldirectory/; - $found = 1; - } - } - - if (( ! $found ) && ( ! $allvariables->{'IGNOREDIRECTORYLAYER'} )) - { - installer::exiter::exit_program("ERROR: \"UREDIRECTORYGID\" not found in \"$customactionfilename\" !", "add_officedir_to_database"); - } - } - # Saving the file installer::files::save_file($customactionfilename ,$customacfile); @@ -1634,7 +1596,8 @@ sub include_subdirname_into_directory_table { my $newuniquename = "sub" . $subdir; $newdir = $newuniquename; - my $newparent = $parent; + # my $newparent = $parent; + my $newparent = "INSTALLLOCATION"; my $newname = $name . "\:" . $subdir; my $newline = $line = "$newuniquename\t$newparent\t$newname\n"; diff --git a/solenv/bin/modules/installer/windows/property.pm b/solenv/bin/modules/installer/windows/property.pm index 2ef083178122..e9f122a54d86 100644 --- a/solenv/bin/modules/installer/windows/property.pm +++ b/solenv/bin/modules/installer/windows/property.pm @@ -318,18 +318,6 @@ sub set_important_properties push(@{$propertyfile}, $onepropertyline); } - if ( $installer::globals::basisdirhostname ) - { - my $onepropertyline = "BASISDIRHOSTNAME" . "\t" . $installer::globals::basisdirhostname . "\n"; - push(@{$propertyfile}, $onepropertyline); - } - - if ( $installer::globals::uredirhostname ) - { - my $onepropertyline = "UREDIRHOSTNAME" . "\t" . $installer::globals::uredirhostname . "\n"; - push(@{$propertyfile}, $onepropertyline); - } - if ( $installer::globals::sundirhostname ) { my $onepropertyline = "SUNDIRHOSTNAME" . "\t" . $installer::globals::sundirhostname . "\n"; diff --git a/solenv/bin/modules/installer/windows/registry.pm b/solenv/bin/modules/installer/windows/registry.pm index f2edd8d0e830..cf87ba174dd0 100644 --- a/solenv/bin/modules/installer/windows/registry.pm +++ b/solenv/bin/modules/installer/windows/registry.pm @@ -203,8 +203,9 @@ sub get_registry_value if ( $registry->{'Value'} ) { $value = $registry->{'Value'}; } $value =~ s/\\\"/\"/g; # no more masquerading of '"' - $value =~ s/\<progpath\>/\[OFFICEINSTALLLOCATION\]/; - $value =~ s/\[OFFICEINSTALLLOCATION\]\\/\[OFFICEINSTALLLOCATION\]/; # removing "\" after "[OFFICEINSTALLLOCATION]" + $value =~ s/\\\\\s*$/\\/g; # making "\\" at end of value to "\" + $value =~ s/\<progpath\>/\[INSTALLLOCATION\]/; + $value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/; # removing "\" after "[INSTALLLOCATION]" if ( $value =~ /\%/ ) { $value = installer::worker::replace_variables_in_string($value, $allvariableshashref); } @@ -224,8 +225,9 @@ sub get_registry_val64 if ( $registry->{'Val64'} ) { $value = $registry->{'Val64'}; } $value =~ s/\\\"/\"/g; # no more masquerading of '"' - $value =~ s/\<progpath\>/\[OFFICEINSTALLLOCATION\]/; - $value =~ s/\[OFFICEINSTALLLOCATION\]\\/\[OFFICEINSTALLLOCATION\]/; # removing "\" after "[OFFICEINSTALLLOCATION]" + $value =~ s/\\\\\s*$/\\/g; # making "\\" at end of value to "\" + $value =~ s/\<progpath\>/\[INSTALLLOCATION\]/; + $value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/; # removing "\" after "[INSTALLLOCATION]" if ( $value =~ /\%/ ) { $value = installer::worker::replace_variables_in_string($value, $allvariableshashref); } diff --git a/solenv/bin/modules/installer/windows/shortcut.pm b/solenv/bin/modules/installer/windows/shortcut.pm index b15c7418352f..76039baf10c9 100644 --- a/solenv/bin/modules/installer/windows/shortcut.pm +++ b/solenv/bin/modules/installer/windows/shortcut.pm @@ -111,7 +111,7 @@ sub get_shortcut_directory $directory = $onedir->{'uniquename'}; - if ($directory eq "") { $directory = "OFFICEINSTALLLOCATION"; } # Shortcuts in the root directory + if ($directory eq "") { $directory = "INSTALLLOCATION"; } # Shortcuts in the root directory return $directory; } @@ -343,7 +343,7 @@ sub get_folderitem_wkdir $directory = $onedir->{'uniquename'}; - if ($directory eq "") { $directory = "OFFICEINSTALLLOCATION"; } + if ($directory eq "") { $directory = "INSTALLLOCATION"; } } return $directory; diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm index e8a8f922bc41..564a8cb71da7 100644 --- a/solenv/bin/modules/installer/worker.pm +++ b/solenv/bin/modules/installer/worker.pm @@ -1054,8 +1054,7 @@ sub write_content_into_inf_file if ( $registryitem->{'Value'} ) { $value = $registryitem->{'Value'}; } if ( $value =~ /\<progpath\>/ ) { $value =~ s/\\\"/\"\"/g; } # Quoting for INF is done by double "" $value =~ s/\\\"/\"/g; # no more masquerading of '"' - $value =~ s/\<progpath\>/\%OFFICEINSTALLLOCATION\%/g; - # $value =~ s/\%OFFICEINSTALLLOCATION\%\\/\%OFFICEINSTALLLOCATION\%/g; # removing "\" after "%OFFICEINSTALLLOCATION%" + $value =~ s/\<progpath\>/\%INSTALLLOCATION\%/g; if ( $value ne "" ) { $value = "\"" . $value . "\""; } my $oneline = $regroot . "," . $subkey . "," . $valueentryname . "," . $flag . "," . $value . "\n"; diff --git a/solenv/bin/modules/installer/ziplist.pm b/solenv/bin/modules/installer/ziplist.pm index 09b7718e2992..ddc98c43bdb7 100644 --- a/solenv/bin/modules/installer/ziplist.pm +++ b/solenv/bin/modules/installer/ziplist.pm @@ -762,6 +762,16 @@ sub replace_variables_in_ziplist_variables } ########################################################### +# Overwrite the vendor string in openoffice.lst that is defined in configure +########################################################### + +sub overwrite_ooovendor +{ + my ($variableshashref) = @_; + $variableshashref->{'OOOVENDOR'} = $ENV{'OOO_VENDOR'} , if( defined $ENV{'OOO_VENDOR'} && $ENV{'OOO_VENDOR'} ne "" ); +} + +########################################################### # Adding the lowercase variables into the variableshashref ########################################################### |