summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorAndras Timar <atimar@suse.com>2012-05-09 13:41:19 +0200
committerAndras Timar <atimar@suse.com>2012-05-09 14:54:45 +0200
commit949e9a5c55c6ddc63e53a5e5959773ec39bd7331 (patch)
tree21bb39633a61937ffb34d2499e739279105d6b0a /solenv
parent3ea961725a8488082e3741df98cbea358d807c87 (diff)
partially revert 6d1f7fadc06bb57b175d5f4b94147373fc07f8a8
Change-Id: I I I0bfc367a3b2c551509b383fc4f6dcaa3cb8661f8
Diffstat (limited to 'solenv')
-rw-r--r--solenv/bin/make_installer.pl16
-rwxr-xr-xsolenv/bin/modules/installer/simplepackage.pm5
-rw-r--r--solenv/bin/modules/installer/windows/idtglobal.pm69
-rw-r--r--solenv/bin/modules/installer/windows/property.pm23
4 files changed, 113 insertions, 0 deletions
diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index baf4b08c6ae6..1413b5fb02ba 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -1719,6 +1719,22 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# setting the encoding in every table (replacing WINDOWSENCODINGTEMPLATE)
installer::windows::idtglobal::set_multilanguageonly_condition($languageidtdir);
+ # include the license text into the table Control.idt
+
+ if ( ! $allvariableshashref->{'HIDELICENSEDIALOG'} )
+ {
+ my $licensefilesource = installer::windows::idtglobal::get_rtflicensefilesource($onelanguage, $includepatharrayref_lang);
+ my $licensefile = installer::files::read_file($licensefilesource);
+ installer::scpzipfiles::replace_all_ziplistvariables_in_rtffile($licensefile, $allvariablesarrayref, $onelanguage, $loggingdir);
+ my $controltablename = $languageidtdir . $installer::globals::separator . "Control.idt";
+ my $controltable = installer::files::read_file($controltablename);
+ installer::windows::idtglobal::add_licensefile_to_database($licensefile, $controltable);
+ installer::files::save_file($controltablename, $controltable);
+
+ $infoline = "Added licensefile $licensefilesource into database $controltablename\n";
+ push(@installer::globals::logfileinfo, $infoline);
+ }
+
# include a component into environment table if required
installer::windows::component::set_component_in_environment_table($languageidtdir, $filesinproductlanguageresolvedarrayref);
diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm
index 29a98b0c1820..5f477a5c8924 100755
--- a/solenv/bin/modules/installer/simplepackage.pm
+++ b/solenv/bin/modules/installer/simplepackage.pm
@@ -408,6 +408,11 @@ sub create_package
my $sla = 'sla.r';
my $ref = "";
+ if ( ! $allvariables->{'HIDELICENSEDIALOG'} )
+ {
+ installer::scriptitems::get_sourcepath_from_filename_and_includepath( \$sla, $includepatharrayref, 0);
+ }
+
my $localtempdir = $tempdir;
if (( $installer::globals::languagepack ) || ( $installer::globals::helppack ) || ( $installer::globals::patch ))
diff --git a/solenv/bin/modules/installer/windows/idtglobal.pm b/solenv/bin/modules/installer/windows/idtglobal.pm
index cb5fa18fb4c5..176e8352e7f1 100644
--- a/solenv/bin/modules/installer/windows/idtglobal.pm
+++ b/solenv/bin/modules/installer/windows/idtglobal.pm
@@ -1037,6 +1037,75 @@ sub add_officedir_to_database
}
+##############################################################
+# Including the license text into the table control.idt
+##############################################################
+
+sub add_licensefile_to_database
+{
+ my ($licensefile, $controltable) = @_;
+
+ # Nine tabs before the license text and two tabs after it
+ # The license text has to be included into the dialog
+ # LicenseAgreement into the control Memo.
+
+ my $foundlicenseline = 0;
+ my ($number, $line);
+
+ for ( my $i = 0; $i <= $#{$controltable}; $i++ )
+ {
+ $line = ${$controltable}[$i];
+
+ if ( $line =~ /^\s*\bLicenseAgreement\b\t\bMemo\t/ )
+ {
+ $foundlicenseline = 1;
+ $number = $i;
+ last;
+ }
+ }
+
+ if (!($foundlicenseline))
+ {
+ installer::exiter::exit_program("ERROR: Line for license file in Control.idt not found!", "add_licensefile_to_database");
+ }
+ else
+ {
+ my %control = ();
+
+ if ( $line =~ /^\s*(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\s*$/ )
+ {
+ $control{'Dialog_'} = $1;
+ $control{'Control'} = $2;
+ $control{'Type'} = $3;
+ $control{'X'} = $4;
+ $control{'Y'} = $5;
+ $control{'Width'} = $6;
+ $control{'Height'} = $7;
+ $control{'Attributes'} = $8;
+ $control{'Property'} = $9;
+ $control{'Text'} = $10;
+ $control{'Control_Next'} = $11;
+ $control{'Help'} = $12;
+ }
+ else
+ {
+ installer::exiter::exit_program("ERROR: Could not split line correctly!", "add_licensefile_to_database");
+ }
+
+ # my $licensetext = get_rtf_licensetext($licensefile);
+ my $licensetext = make_string_licensetext($licensefile);
+
+ $control{'Text'} = $licensetext;
+
+ my $newline = $control{'Dialog_'} . "\t" . $control{'Control'} . "\t" . $control{'Type'} . "\t" .
+ $control{'X'} . "\t" . $control{'Y'} . "\t" . $control{'Width'} . "\t" .
+ $control{'Height'} . "\t" . $control{'Attributes'} . "\t" . $control{'Property'} . "\t" .
+ $control{'Text'} . "\t" . $control{'Control_Next'} . "\t" . $control{'Help'} . "\n";
+
+ ${$controltable}[$number] = $newline
+ }
+}
+
###################################################################
# Determining the last position in a sequencetable
# into the tables CustomAc.idt and InstallE.idt.
diff --git a/solenv/bin/modules/installer/windows/property.pm b/solenv/bin/modules/installer/windows/property.pm
index c402de97ccb4..934802d51350 100644
--- a/solenv/bin/modules/installer/windows/property.pm
+++ b/solenv/bin/modules/installer/windows/property.pm
@@ -378,6 +378,29 @@ sub set_important_properties
push(@{$propertyfile}, $onepropertyline);
}
+ # No more license dialog for selected products
+ if ( $allvariables->{'HIDELICENSEDIALOG'} )
+ {
+ my $onepropertyline = "HIDEEULA" . "\t" . "1" . "\n";
+
+ my $already_defined = 0;
+
+ for ( my $i = 0; $i <= $#{$propertyfile}; $i++ )
+ {
+ if ( ${$propertyfile}[$i] =~ /^\s*HIDEEULA\t/ )
+ {
+ ${$propertyfile}[$i] = $onepropertyline;
+ $already_defined = 1;
+ last;
+ }
+ }
+
+ if ( ! $already_defined )
+ {
+ push(@{$propertyfile}, $onepropertyline);
+ }
+ }
+
# Setting .NET requirements
if ( $installer::globals::required_dotnet_version ne "" )
{