update dev300-m58
[ooovba.git] / solenv / bin / modules / installer / parameter.pm
blob1d107e1c29a2df578a1ec851c6d933b7e9e9dec6
1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # $RCSfile: parameter.pm,v $
11 # $Revision: 1.56 $
13 # This file is part of OpenOffice.org.
15 # OpenOffice.org is free software: you can redistribute it and/or modify
16 # it under the terms of the GNU Lesser General Public License version 3
17 # only, as published by the Free Software Foundation.
19 # OpenOffice.org is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU Lesser General Public License version 3 for more details
23 # (a copy is included in the LICENSE file that accompanied this code).
25 # You should have received a copy of the GNU Lesser General Public License
26 # version 3 along with OpenOffice.org. If not, see
27 # <http://www.openoffice.org/license.html>
28 # for a copy of the LGPLv3 License.
30 #*************************************************************************
32 package installer::parameter;
34 use Cwd;
35 use installer::exiter;
36 use installer::files;
37 use installer::globals;
38 use installer::logger;
39 use installer::remover;
40 use installer::systemactions;
42 ############################################
43 # Parameter Operations
44 ############################################
46 sub usage
48 if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::parameter::usage"); }
50 print <<Ende;
51 --------------------------------------------------------------------------------
52 $installer::globals::prog
53 The following parameter are needed:
54 -f: Path to the product list (required)
55 -s: Path to the setup script (optional, if defined in product list)
56 -i: Install path of the product (/opt/openofficeorg20) (optional)
57 -p: Product from product list to be created (required)
58 -l: Language of the product (comma and hash) (optional, defined in productlist)
59 -b: Build, e.g. srx645 (optional)
60 -m: Minor, e.g. m10 (optional)
61 -simple: Path to do a simple install to
62 -c: Compiler, e.g. wntmsci8, unxlngi5, unxsols4, ... (optional)
63 -u: Path, in which zipfiles are unpacked (optional)
64 -msitemplate: Source of the msi file templates (Windows compiler only)
65 -msilanguage: Source of the msi file templates (Windows compiler only)
66 -javalanguage: Source of the Java language files (opt., non-Windows only)
67 -buildid: Current BuildID (optional)
68 -pro: Product version
69 -format: Package format
70 -debian: Create Debian packages for Linux
71 -dontunzip: do not unzip all files with flag ARCHIVE
72 -dontstrip : do not strip binaries, keep the debugging symbols
73 -dontcallepm : do not call epm to create install sets (opt., non-Windows only)
74 -ispatchedepm : Usage of a patched (non-standard) epm (opt., non-Windows only)
75 -copyproject : is set for projects that are only used for copying (optional)
76 -languagepack : do create a languagepack, no product pack (optional)
77 -patch : do create a patch (optional)
78 -patchinc: Source for the patch include files (Solaris only)
79 -dontstrip: No file stripping (Unix only)
80 -log : Logging all available information (optional)
81 -debug : Collecting debug information
83 Examples for Windows:
85 perl make_epmlist.pl -f zip.lst -p OfficeFAT -l en-US
86 -u /export/unpack -buildid 8712
87 -msitemplate /export/msi_files
88 -msilanguage /export/msi_languages
90 Examples for Non-Windows:
92 perl make_epmlist.pl -f zip.lst -p OfficeFAT -l en-US -format rpm
93 -u /export/unpack -buildid 8712 -ispatchedepm
94 --------------------------------------------------------------------------------
95 Ende
96 exit(-1);
99 #########################################
100 # Writing all parameter into logfile
101 #########################################
103 sub saveparameter
105 if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::parameter::saveparameter"); }
107 my $include = "";
109 installer::logger::globallog("Command line arguments:");
111 for ( my $i = 0; $i <= $#ARGV; $i++ )
113 $include = $ARGV[$i] . "\n";
114 push(@installer::globals::globallogfileinfo, $include);
117 # also saving global settings:
119 $include = "Separator: $installer::globals::separator\n";
120 push(@installer::globals::globallogfileinfo, $include);
124 #####################################
125 # Reading parameter
126 #####################################
128 sub getparameter
130 if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::parameter::getparameter"); }
132 while ( $#ARGV >= 0 )
134 my $param = shift(@ARGV);
136 if ($param eq "-f") { $installer::globals::ziplistname = shift(@ARGV); }
137 elsif ($param eq "-s") { $installer::globals::setupscriptname = shift(@ARGV); }
138 elsif ($param eq "-p") { $installer::globals::product = shift(@ARGV); }
139 elsif ($param eq "-l") { $installer::globals::languagelist = shift(@ARGV); }
140 elsif ($param eq "-b") { $installer::globals::build = shift(@ARGV); }
141 elsif ($param eq "-m") { $installer::globals::minor = shift(@ARGV); }
142 elsif ($param eq "-dontunzip") { $installer::globals::dounzip = 0; }
143 elsif ($param eq "-c") { $installer::globals::compiler = shift(@ARGV); }
144 elsif ($param eq "-pro") { $installer::globals::pro = 1; }
145 elsif ($param eq "-format") { $installer::globals::packageformat = shift(@ARGV); }
146 elsif ($param eq "-log") { $installer::globals::globallogging = 1; }
147 elsif ($param eq "-quiet") { $installer::globals::quiet = 1; }
148 elsif ($param eq "-verbose") { $installer::globals::quiet = 0; }
149 elsif ($param eq "-debug") { $installer::globals::debug = 1; }
150 elsif ($param eq "-tab") { $installer::globals::tab = 1; }
151 elsif ($param eq "-u") { $installer::globals::unpackpath = shift(@ARGV); }
152 elsif ($param eq "-i") { $installer::globals::rootpath = shift(@ARGV); }
153 elsif ($param eq "-dontcallepm") { $installer::globals::call_epm = 0; }
154 elsif ($param eq "-dontstrip") { $installer::globals::strip = 0; }
155 elsif ($param eq "-msitemplate") { $installer::globals::idttemplatepath = shift(@ARGV); }
156 elsif ($param eq "-msilanguage") { $installer::globals::idtlanguagepath = shift(@ARGV); }
157 elsif ($param eq "-patchinc") { $installer::globals::patchincludepath = shift(@ARGV); }
158 elsif ($param eq "-javalanguage") { $installer::globals::javalanguagepath = shift(@ARGV); }
159 elsif ($param eq "-buildid") { $installer::globals::buildid = shift(@ARGV); }
160 elsif ($param eq "-copyproject") { $installer::globals::is_copy_only_project = 1; }
161 elsif ($param eq "-languagepack") { $installer::globals::languagepack = 1; }
162 elsif ($param eq "-patch") { $installer::globals::patch = 1; }
163 elsif ($param eq "-debian") { $installer::globals::debian = 1; }
164 elsif ($param eq "-dontstrip") { $installer::globals::strip = 0; }
165 elsif ($param eq "-destdir") # new parameter for simple installer
167 $installer::globals::rootpath ne "" && die "must set destdir before -i or -simple";
168 $installer::globals::destdir = shift @ARGV;
170 elsif ($param eq "-simple") # new parameter for simple installer
172 $installer::globals::simple = 1;
173 $installer::globals::call_epm = 0;
174 $installer::globals::makedownload = 0;
175 $installer::globals::makejds = 0;
176 $installer::globals::strip = 0;
177 my $path = shift(@ARGV);
178 $path =~ s/^\Q$installer::globals::destdir\E//;
179 $installer::globals::rootpath = $path;
181 else
183 installer::logger::print_error( "unknown parameter: $param" );
184 usage();
185 exit(-1);
189 # Usage of simple installer (not for Windows):
190 # $PERL -w $SOLARENV/bin/make_installer.pl \
191 # -f openoffice.lst -l en-US -p OpenOffice \
192 # -buildid $BUILD -rpm \
193 # -destdir /tmp/nurk -simple $INSTALL_PATH
196 ############################################
197 # Controlling the fundamental parameter
198 # (required for every process)
199 ############################################
201 sub control_fundamental_parameter
203 if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::parameter::control_fundamental_parameter"); }
205 if ($installer::globals::product eq "")
207 installer::logger::print_error( "Product name not set!" );
208 usage();
209 exit(-1);
213 ##########################################################
214 # The path parameters can be relative or absolute.
215 # This function creates absolute pathes.
216 ##########################################################
218 sub make_path_absolute
220 my ($pathref) = @_;
222 if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::parameter::make_path_absolute : $$pathref"); }
224 if ( $installer::globals::isunix )
226 if (!($$pathref =~ /^\s*\//)) # this is a relative unix path
228 $$pathref = cwd() . $installer::globals::separator . $$pathref;
232 if ( $installer::globals::iswin )
234 if ( $^O =~ /cygwin/i )
236 if ( $$pathref !~ /^\s*\// && $$pathref !~ /^\s*\w\:/ ) # not an absolute POSIX or DOS path
238 $$pathref = cwd() . $installer::globals::separator . $$pathref;
240 my $p = $$pathref;
241 chomp( $p );
242 my $q = '';
243 # Avoid the $(LANG) problem.
244 if ($p =~ /(\A.*)(\$\(.*\Z)/) {
245 $p = $1;
246 $q = $2;
248 $p =~ s/\\/\\\\/g;
249 chomp( $p = qx{cygpath -w "$p"} );
250 $$pathref = $p.$q;
251 # Use windows paths, but with '/'s.
252 $$pathref =~ s/\\/\//g;
254 else
256 if (!($$pathref =~ /^\s*\w\:/)) # this is a relative windows path (no dos drive)
258 $$pathref = cwd() . $installer::globals::separator . $$pathref;
260 $$pathref =~ s/\//\\/g;
264 $$pathref =~ s/[\/\\]\s*$//; # removing ending slashes
267 ##################################################
268 # Setting some global parameters
269 # This has to be expanded with furher platforms
270 ##################################################
272 sub setglobalvariables
274 if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::parameter::setglobalvariables"); }
276 # Setting the installertype directory corresponding to the environment variable PKGFORMAT
277 # The global variable $installer::globals::packageformat can only contain one package format.
278 # If PKGFORMAT cotains more than one format (for example "rpm deb") this is splitted in the
279 # makefile calling the perl program.
280 $installer::globals::installertypedir = $installer::globals::packageformat;
282 if ( $installer::globals::compiler =~ /wnt(msc|gcc)i/ )
284 $installer::globals::iswindowsbuild = 1;
285 if ( $installer::globals::installertypedir eq "" ) { $installer::globals::installertypedir = "msi"; }
288 if ( $installer::globals::compiler =~ /unxso[lg][siux]/ )
290 $installer::globals::issolarisbuild = 1;
291 if ( $installer::globals::packageformat eq "pkg" )
293 $installer::globals::issolarispkgbuild = 1;
294 $installer::globals::epmoutpath = "packages";
295 $installer::globals::isxpdplatform = 1;
299 if ( $installer::globals::compiler =~ /unxmacxi/ )
301 if ( $installer::globals::packageformat eq "dmg" )
303 $installer::globals::ismacdmgbuild = 1;
307 if ( $installer::globals::compiler =~ /unxfbsd/ )
309 if ( $installer::globals::packageformat eq "bsd" )
311 $installer::globals::epmoutpath = "freebsd";
312 $installer::globals::isfreebsdpkgbuild = 1;
316 if ( $installer::globals::compiler =~ /unxso[lg]s/ ) { $installer::globals::issolarissparcbuild = 1; }
318 if ( $installer::globals::compiler =~ /unxso[lg]i/ ) { $installer::globals::issolarisx86build = 1; }
320 if ($ENV{OS} eq 'LINUX')
322 $installer::globals::islinuxbuild = 1;
323 if ( $installer::globals::packageformat eq "rpm" )
325 $installer::globals::islinuxrpmbuild = 1;
326 $installer::globals::isxpdplatform = 1;
327 $installer::globals::epmoutpath = "RPMS";
328 if ( $installer::globals::compiler =~ /unxlngi/ )
330 $installer::globals::islinuxintelrpmbuild = 1;
332 if ( $installer::globals::compiler =~ /unxlngppc/ )
334 $installer::globals::islinuxppcrpmbuild = 1;
336 if ( $installer::globals::compiler =~ /unxlngx/ )
338 $installer::globals::islinuxx86_64rpmbuild = 1;
341 if ( $installer::globals::rpm eq "" ) { installer::exiter::exit_program("ERROR: Environment variable \"\$RPM\" has to be defined!", "setglobalvariables"); }
344 # Creating Debian packages ?
345 if (( $installer::globals::packageformat eq "deb" ) || ( $installer::globals::debian ))
347 $installer::globals::debian = 1;
348 $installer::globals::packageformat = "deb";
349 my $message = "Creating Debian packages";
350 installer::logger::print_message( $message );
351 push(@installer::globals::globallogfileinfo, $message);
352 $installer::globals::islinuxrpmbuild = 0;
353 $installer::globals::islinuxdebbuild = 1;
354 $installer::globals::epmoutpath = "DEBS";
355 if ( $installer::globals::compiler =~ /unxlngi/ )
357 $installer::globals::islinuxinteldebbuild = 1;
359 if ( $installer::globals::compiler =~ /unxlngppc/ )
361 $installer::globals::islinuxppcdebbuild = 1;
363 if ( $installer::globals::compiler =~ /unxlngx/ )
365 $installer::globals::islinuxx86_64debbuild = 1;
370 # Defaulting to native package format for epm
372 if ( ! $installer::globals::packageformat ) { $installer::globals::packageformat = "native"; }
374 # $installer::globals::servicesrdb_can_be_created can only be set, if regcomp (regcomp.exe) can be executed.
376 if ( $installer::globals::iswin && $installer::globals::iswindowsbuild ) { $installer::globals::servicesrdb_can_be_created = 1; }
377 if ( $installer::globals::islinux && $installer::globals::islinuxbuild ) { $installer::globals::servicesrdb_can_be_created = 1; }
378 if ( $installer::globals::issolaris && $installer::globals::issolarisbuild ) { $installer::globals::servicesrdb_can_be_created = 1; }
380 # ToDo: Needs to be expanded for additional compiler (setting $installer::globals::servicesrdb_can_be_created = 1 for all external platforms)
382 if ((!($installer::globals::iswindowsbuild)) && (!($installer::globals::islinuxbuild)) && (!($installer::globals::issolarisbuild)))
384 $installer::globals::servicesrdb_can_be_created = 1;
387 # extension, if $installer::globals::pro is set
388 if ($installer::globals::pro) { $installer::globals::productextension = ".pro"; }
390 # no languages defined as parameter
391 if ($installer::globals::languagelist eq "") { $installer::globals::languages_defined_in_productlist = 1; }
393 # setting and creating the unpackpath
395 if ($installer::globals::unpackpath eq "") # unpackpath not set
397 $installer::globals::unpackpath = cwd();
398 if ( $installer::globals::iswin ) { $installer::globals::unpackpath =~ s/\//\\/g; }
401 if ( $installer::globals::localunpackdir ne "" ) { $installer::globals::unpackpath = $installer::globals::localunpackdir; }
403 if (!($installer::globals::unpackpath eq ""))
405 make_path_absolute(\$installer::globals::unpackpath);
408 $installer::globals::unpackpath =~ s/\Q$installer::globals::separator\E\s*$//;
410 if (! -d $installer::globals::unpackpath ) # create unpackpath
412 installer::systemactions::create_directory($installer::globals::unpackpath);
415 # setting jds exclude file list
417 if ( $installer::globals::islinuxrpmbuild )
419 $installer::globals::jdsexcludefilename = "jds_excludefiles_linux.txt";
421 if ( $installer::globals::issolarissparcbuild )
423 $installer::globals::jdsexcludefilename = "jds_excludefiles_solaris_sparc.txt";
425 if ( $installer::globals::issolarisx86build )
427 $installer::globals::jdsexcludefilename = "jds_excludefiles_solaris_intel.txt";
430 # setting and creating the temppath
432 if (( $ENV{'TMP'} ) || ( $ENV{'TEMP'} ) || ( $ENV{'TMPDIR'} ))
434 if ( $ENV{'TMP'} ) { $installer::globals::temppath = $ENV{'TMP'}; }
435 elsif ( $ENV{'TEMP'} ) { $installer::globals::temppath = $ENV{'TEMP'}; }
436 elsif ( $ENV{'TMPDIR'} ) { $installer::globals::temppath = $ENV{'TMPDIR'}; }
437 $installer::globals::temppath =~ s/\Q$installer::globals::separator\E\s*$//; # removing ending slashes and backslashes
438 $installer::globals::temppath = $installer::globals::temppath . $installer::globals::separator . $installer::globals::globaltempdirname;
439 installer::systemactions::create_directory_with_privileges($installer::globals::temppath, "777");
440 my $dirsave = $installer::globals::temppath;
442 if ( $installer::globals::compiler =~ /^unxmac/ )
444 my $localcall = "chmod 777 $installer::globals::temppath \>\/dev\/null 2\>\&1";
445 system($localcall);
448 $installer::globals::temppath = $installer::globals::temppath . $installer::globals::separator . "i";
449 $installer::globals::temppath = installer::systemactions::create_pid_directory($installer::globals::temppath);
450 push(@installer::globals::removedirs, $installer::globals::temppath);
452 if ( ! -d $installer::globals::temppath ) { installer::exiter::exit_program("ERROR: Failed to create directory $installer::globals::temppath ! Possible reason: Wrong privileges in directory $dirsave .", "setglobalvariables"); }
454 $installer::globals::jdstemppath = $installer::globals::temppath;
455 $installer::globals::jdstemppath =~ s/i_/j_/;
456 push(@installer::globals::jdsremovedirs, $installer::globals::jdstemppath);
457 $installer::globals::temppath = $installer::globals::temppath . $installer::globals::separator . $installer::globals::compiler . $installer::globals::productextension;
458 installer::systemactions::create_directory($installer::globals::temppath);
459 if ( $^O =~ /cygwin/i )
461 $installer::globals::cyg_temppath = $installer::globals::temppath;
462 $installer::globals::cyg_temppath =~ s/\\/\\\\/g;
463 chomp( $installer::globals::cyg_temppath = qx{cygpath -w "$installer::globals::cyg_temppath"} );
465 $installer::globals::temppathdefined = 1;
466 $installer::globals::jdstemppathdefined = 1;
468 else
470 $installer::globals::temppathdefined = 0;
471 $installer::globals::jdstemppathdefined = 0;
474 # only one cab file, if Windows msp patches shall be prepared
475 if ( $installer::globals::prepare_winpatch ) { $installer::globals::number_of_cabfiles = 1; }
479 ############################################
480 # Controlling the parameter that are
481 # required for special processes
482 ############################################
484 sub control_required_parameter
486 if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::parameter::control_required_parameter"); }
488 if (!($installer::globals::is_copy_only_project))
490 ##############################################################################################
491 # idt template path. Only required for Windows build ($installer::globals::compiler =~ /wntmsci/)
492 # for the creation of the msi database.
493 ##############################################################################################
495 if (($installer::globals::idttemplatepath eq "") && ($installer::globals::iswindowsbuild))
497 installer::logger::print_error( "idt template path not set (-msitemplate)!" );
498 usage();
499 exit(-1);
502 ##############################################################################################
503 # idt language path. Only required for Windows build ($installer::globals::compiler =~ /wntmsci/)
504 # for the creation of the msi database.
505 ##############################################################################################
507 if (($installer::globals::idtlanguagepath eq "") && ($installer::globals::iswindowsbuild))
509 installer::logger::print_error( "idt language path not set (-msilanguage)!" );
510 usage();
511 exit(-1);
514 # Analyzing the idt template path
516 if (!($installer::globals::idttemplatepath eq "")) # idttemplatepath set, relative or absolute?
518 make_path_absolute(\$installer::globals::idttemplatepath);
521 installer::remover::remove_ending_pathseparator(\$installer::globals::idttemplatepath);
523 # Analyzing the idt language path
525 if (!($installer::globals::idtlanguagepath eq "")) # idtlanguagepath set, relative or absolute?
527 make_path_absolute(\$installer::globals::idtlanguagepath);
530 installer::remover::remove_ending_pathseparator(\$installer::globals::idtlanguagepath);
532 # In the msi template directory a files "codes.txt" has to exist, in which the ProductCode
533 # and the UpgradeCode for the product are defined.
534 # The name "codes.txt" can be overwritten in Product definition with CODEFILENAME (msiglobal.pm)
536 if ($installer::globals::iswindowsbuild)
538 $installer::globals::codefilename = $installer::globals::idttemplatepath . $installer::globals::separator . $installer::globals::codefilename;
539 installer::files::check_file($installer::globals::codefilename);
540 $installer::globals::componentfilename = $installer::globals::idttemplatepath . $installer::globals::separator . $installer::globals::componentfilename;
541 installer::files::check_file($installer::globals::componentfilename);
546 #######################################
547 # Patch currently only available
548 # for Solaris packages and Linux
549 #######################################
551 if (( $installer::globals::patch ) && ( ! $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::islinuxrpmbuild ) && ( ! $installer::globals::islinuxdebbuild ) && ( ! $installer::globals::iswindowsbuild ) && ( ! $installer::globals::ismacdmgbuild ))
553 installer::logger::print_error( "Sorry, Patch flag currently only available for Solaris pkg, Linux RPM and Windows builds!" );
554 usage();
555 exit(-1);
558 if (( $installer::globals::patch ) && ( $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::patchincludepath ))
560 installer::logger::print_error( "Solaris patch requires parameter -patchinc !" );
561 usage();
562 exit(-1);
565 if (( $installer::globals::patch ) && ( $installer::globals::issolarispkgbuild ) && ( $installer::globals::patchincludepath ))
567 make_path_absolute(\$installer::globals::patchincludepath);
568 $installer::globals::patchincludepath = installer::converter::make_path_conform($installer::globals::patchincludepath);
571 #######################################
572 # Testing existence of files
573 # also for copy-only projects
574 #######################################
576 if ($installer::globals::ziplistname eq "")
578 installer::logger::print_error( "ERROR: Zip list file has to be defined (Parameter -f) !" );
579 usage();
580 exit(-1);
582 else
584 installer::files::check_file($installer::globals::ziplistname);
587 if ($installer::globals::setupscriptname eq "") { $installer::globals::setupscript_defined_in_productlist = 1; }
588 else { installer::files::check_file($installer::globals::setupscriptname); } # if the setupscript file is defined, it has to exist
592 ################################################
593 # Writing parameter to shell and into logfile
594 ################################################
596 sub outputparameter
598 if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::parameter::outputparameter"); }
600 my $element;
602 my @output = ();
604 push(@output, "\n########################################################\n");
605 push(@output, "$installer::globals::prog, version 1.0\n");
606 push(@output, "Product list file: $installer::globals::ziplistname\n");
607 if (!($installer::globals::setupscript_defined_in_productlist))
609 push(@output, "Setup script: $installer::globals::setupscriptname\n");
611 else
613 push(@output, "Taking setup script from solver\n");
615 push(@output, "Unpackpath: $installer::globals::unpackpath\n");
616 push(@output, "Compiler: $installer::globals::compiler\n");
617 push(@output, "Product: $installer::globals::product\n");
618 push(@output, "BuildID: $installer::globals::buildid\n");
619 push(@output, "Build: $installer::globals::build\n");
620 if ( $installer::globals::minor ) { push(@output, "Minor: $installer::globals::minor\n"); }
621 else { push(@output, "No minor set\n"); }
622 if ( $installer::globals::pro ) { push(@output, "Product version\n"); }
623 else { push(@output, "Non-Product version\n"); }
624 if ( $installer::globals::rootpath eq "" ) { push(@output, "Using default installpath\n"); }
625 else { push(@output, "Installpath: $installer::globals::rootpath\n"); }
626 push(@output, "Package format: $installer::globals::packageformat\n");
627 if (!($installer::globals::idttemplatepath eq "")) { push(@output, "msi templatepath: $installer::globals::idttemplatepath\n"); }
628 if ((!($installer::globals::idttemplatepath eq "")) && (!($installer::globals::iswindowsbuild))) { push(@output, "msi template path will be ignored for non Windows builds!\n"); }
629 if (!($installer::globals::idtlanguagepath eq "")) { push(@output, "msi languagepath: $installer::globals::idtlanguagepath\n"); }
630 if ((!($installer::globals::idtlanguagepath eq "")) && (!($installer::globals::iswindowsbuild))) { push(@output, "msi language path will be ignored for non Windows builds!\n"); }
631 if ((!($installer::globals::iswindowsbuild)) && ( $installer::globals::call_epm )) { push(@output, "Calling epm\n"); }
632 if ((!($installer::globals::iswindowsbuild)) && (!($installer::globals::call_epm))) { push(@output, "Not calling epm\n"); }
633 if (!($installer::globals::javalanguagepath eq "")) { push(@output, "Java language path: $installer::globals::javalanguagepath\n"); }
634 if ((!($installer::globals::javalanguagepath eq "")) && ($installer::globals::iswindowsbuild)) { push(@output, "Java language path will be ignored for Windows builds!\n"); }
635 if ( $installer::globals::patchincludepath ) { push(@output, "Patch include path: $installer::globals::patchincludepath\n"); }
636 if ( $installer::globals::globallogging ) { push(@output, "Complete logging activated\n"); }
637 if ( $installer::globals::debug ) { push(@output, "Debug is activated\n"); }
638 if ( $installer::globals::tab ) { push(@output, "TAB version\n"); }
639 if ( $installer::globals::strip ) { push(@output, "Stripping files\n"); }
640 else { push(@output, "No file stripping\n"); }
641 if ( $installer::globals::debian ) { push(@output, "Linux: Creating Debian packages\n"); }
642 if ( $installer::globals::dounzip ) { push(@output, "Unzip ARCHIVE files\n"); }
643 else { push(@output, "Not unzipping ARCHIVE files\n"); }
644 if ( $installer::globals::servicesrdb_can_be_created ) { push(@output, "services.rdb can be created\n"); }
645 else { push(@output, "services.rdb cannot be created !\n"); }
646 if (!($installer::globals::languages_defined_in_productlist))
648 push(@output, "Languages:\n");
649 foreach $element (@installer::globals::languageproducts) { push(@output, "\t$element\n"); }
651 else
653 push(@output, "Languages defined in $installer::globals::ziplistname\n");
655 if ( $installer::globals::is_copy_only_project ) { push(@output, "This is a copy only project!\n"); }
656 if ( $installer::globals::languagepack ) { push(@output, "Creating language pack!\n"); }
657 if ( $installer::globals::patch ) { push(@output, "Creating patch!\n"); }
658 push(@output, "########################################################\n");
660 # output into shell and into logfile
662 for ( my $i = 0; $i <= $#output; $i++ )
664 installer::logger::print_message( $output[$i] );
665 push(@installer::globals::globallogfileinfo, $output[$i]);