1 #*************************************************************************
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 # Copyright 2008 by Sun Microsystems, Inc.
7 # OpenOffice.org - a multi-platform office productivity suite
9 # $RCSfile: parameter.pm,v $
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
;
35 use installer
::exiter
;
37 use installer
::globals
;
38 use installer
::logger
;
39 use installer
::remover
;
40 use installer
::systemactions
;
42 ############################################
43 # Parameter Operations
44 ############################################
48 if ( $installer::globals
::debug
) { installer
::logger
::debuginfo
("installer::parameter::usage"); }
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)
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
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 --------------------------------------------------------------------------------
99 #########################################
100 # Writing all parameter into logfile
101 #########################################
105 if ( $installer::globals
::debug
) { installer
::logger
::debuginfo
("installer::parameter::saveparameter"); }
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 #####################################
126 #####################################
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;
183 installer
::logger
::print_error
( "unknown parameter: $param" );
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!" );
213 ##########################################################
214 # The path parameters can be relative or absolute.
215 # This function creates absolute pathes.
216 ##########################################################
218 sub make_path_absolute
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;
243 # Avoid the $(LANG) problem.
244 if ($p =~ /(\A.*)(\$\(.*\Z)/) {
249 chomp( $p = qx{cygpath
-w
"$p"} );
251 # Use windows paths, but with '/'s.
252 $$pathref =~ s/\\/\//g
;
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";
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;
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)!" );
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)!" );
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!" );
558 if (( $installer::globals
::patch
) && ( $installer::globals
::issolarispkgbuild
) && ( ! $installer::globals
::patchincludepath
))
560 installer
::logger
::print_error
( "Solaris patch requires parameter -patchinc !" );
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) !" );
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 ################################################
598 if ( $installer::globals
::debug
) { installer
::logger
::debuginfo
("installer::parameter::outputparameter"); }
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");
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"); }
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]);