summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
Diffstat (limited to 'solenv')
-rwxr-xr-xsolenv/bin/deliver.pl16
-rwxr-xr-xsolenv/bin/gsicheck18
-rw-r--r--solenv/bin/make_installer.pl10
-rw-r--r--solenv/bin/mhids.pl8
-rw-r--r--solenv/bin/modules/CreatePDBRelocators.pm2
-rw-r--r--solenv/bin/modules/installer/globals.pm10
-rw-r--r--solenv/bin/modules/installer/scriptitems.pm14
-rw-r--r--solenv/bin/modules/installer/windows/admin.pm6
-rw-r--r--solenv/bin/modules/installer/windows/component.pm16
-rw-r--r--solenv/bin/modules/installer/windows/directory.pm216
-rw-r--r--solenv/bin/modules/installer/windows/idtglobal.pm41
-rw-r--r--solenv/bin/modules/installer/windows/property.pm12
-rw-r--r--solenv/bin/modules/installer/windows/registry.pm10
-rw-r--r--solenv/bin/modules/installer/windows/shortcut.pm4
-rw-r--r--solenv/bin/modules/installer/worker.pm3
-rw-r--r--solenv/bin/modules/installer/ziplist.pm10
-rw-r--r--solenv/config/sdev300.ini1
-rw-r--r--solenv/config/ssolar.cmn1
-rw-r--r--solenv/inc/minor.mk6
-rw-r--r--solenv/inc/rules.mk2
20 files changed, 204 insertions, 202 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
###########################################################
diff --git a/solenv/config/sdev300.ini b/solenv/config/sdev300.ini
index 56fe6c6e4a4d..d04a87c595e2 100644
--- a/solenv/config/sdev300.ini
+++ b/solenv/config/sdev300.ini
@@ -2966,6 +2966,7 @@ wntmsci12
XCLASSPATH .
ZIPDEP %PERL% %SOLARENV%$/bin$/zipdep.pl
BUILD_X64 TRUE
+ CHECK_LUCENCE_INDEXER_OUTPUT TRUE
}
common0
{
diff --git a/solenv/config/ssolar.cmn b/solenv/config/ssolar.cmn
index 54eda38b47f9..937c345e2de8 100644
--- a/solenv/config/ssolar.cmn
+++ b/solenv/config/ssolar.cmn
@@ -47,6 +47,7 @@ common
BUILD_X64
CLASSPATH
CALL_CDECL
+ CHECK_LUCENCE_INDEXER_OUTPUT
COMEX
common_build
COMMON_OUTDIR
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index 4c69817791e8..519831ffb932 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,5 +1,5 @@
RSCVERSION=300
-RSCREVISION=300m82(Build:9510)
-BUILD=9510
-LAST_MINOR=m82
+RSCREVISION=300m83(Build:9511)
+BUILD=9511
+LAST_MINOR=m83
SOURCEVERSION=DEV300
diff --git a/solenv/inc/rules.mk b/solenv/inc/rules.mk
index 457041378f85..63c4d0cef28c 100644
--- a/solenv/inc/rules.mk
+++ b/solenv/inc/rules.mk
@@ -156,7 +156,7 @@ $(SLO)/precompiled_ex.% .PHONY:
$(SLO)/%.obj : %.cxx
@echo $(COMPILE_ECHO_SWITCH) Compiling: $(PRJNAME)/$(PATH_IN_MODULE)/$(COMPILE_ECHO_FILE)
-.IF "$(ENABLE_PCH)"!="" && ( "$(BUILD_SPECIAL)"!="TRUE" )
+.IF "$(ENABLE_PCH)"!=""
# just a helper var
@noop $(assign used_exc_switches=$(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)))
# cleanup first