1*b1cdbd2cSJim Jagielski#**************************************************************
2*b1cdbd2cSJim Jagielski#
3*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
6*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski#
11*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski#
13*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski#  under the License.
19*b1cdbd2cSJim Jagielski#
20*b1cdbd2cSJim Jagielski#**************************************************************
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielskipackage installer::globals;
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielski############################################
27*b1cdbd2cSJim Jagielski# Global settings
28*b1cdbd2cSJim Jagielski############################################
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim JagielskiBEGIN
31*b1cdbd2cSJim Jagielski{
32*b1cdbd2cSJim Jagielski	$prog="make_installer.pl";
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski    # WARNING: the following lines are matched verbatim in i18npool/source/isolang/langid.pl
35*b1cdbd2cSJim Jagielski
36*b1cdbd2cSJim Jagielski	@noMSLocaleLangs = (
37*b1cdbd2cSJim Jagielski        "br",
38*b1cdbd2cSJim Jagielski        "bs",
39*b1cdbd2cSJim Jagielski        "dz",
40*b1cdbd2cSJim Jagielski        "gu",
41*b1cdbd2cSJim Jagielski        "km",
42*b1cdbd2cSJim Jagielski        "nr",
43*b1cdbd2cSJim Jagielski        "ns",
44*b1cdbd2cSJim Jagielski        "nso",
45*b1cdbd2cSJim Jagielski        "rw",
46*b1cdbd2cSJim Jagielski        "ss",
47*b1cdbd2cSJim Jagielski        "st",
48*b1cdbd2cSJim Jagielski        "tg",
49*b1cdbd2cSJim Jagielski        "ts",
50*b1cdbd2cSJim Jagielski        "tn",
51*b1cdbd2cSJim Jagielski        "ve",
52*b1cdbd2cSJim Jagielski        "xh",
53*b1cdbd2cSJim Jagielski        "zu",
54*b1cdbd2cSJim Jagielski        "ne",
55*b1cdbd2cSJim Jagielski        "bn",
56*b1cdbd2cSJim Jagielski        "bn-BD",
57*b1cdbd2cSJim Jagielski        "bn-IN",
58*b1cdbd2cSJim Jagielski        "lo",
59*b1cdbd2cSJim Jagielski        "cy",
60*b1cdbd2cSJim Jagielski        "ku",
61*b1cdbd2cSJim Jagielski        "as-IN",
62*b1cdbd2cSJim Jagielski        "te-IN",
63*b1cdbd2cSJim Jagielski        "ml-IN",
64*b1cdbd2cSJim Jagielski        "mr-IN",
65*b1cdbd2cSJim Jagielski        "ur-IN",
66*b1cdbd2cSJim Jagielski        "ta-IN",
67*b1cdbd2cSJim Jagielski        "or-IN",
68*b1cdbd2cSJim Jagielski        "ti-ER",
69*b1cdbd2cSJim Jagielski        "eo",
70*b1cdbd2cSJim Jagielski        "ka",
71*b1cdbd2cSJim Jagielski        "ga",
72*b1cdbd2cSJim Jagielski        "gd",
73*b1cdbd2cSJim Jagielski        "my",
74*b1cdbd2cSJim Jagielski        "mai",
75*b1cdbd2cSJim Jagielski        "brx",
76*b1cdbd2cSJim Jagielski        "dgo",
77*b1cdbd2cSJim Jagielski        "kok",
78*b1cdbd2cSJim Jagielski        "mni",
79*b1cdbd2cSJim Jagielski        "ca-XV",
80*b1cdbd2cSJim Jagielski        "ca-XR",
81*b1cdbd2cSJim Jagielski        "sat",
82*b1cdbd2cSJim Jagielski        "ug",
83*b1cdbd2cSJim Jagielski        "om",
84*b1cdbd2cSJim Jagielski        "si",
85*b1cdbd2cSJim Jagielski        "or",
86*b1cdbd2cSJim Jagielski        "oc",
87*b1cdbd2cSJim Jagielski        "ml",
88*b1cdbd2cSJim Jagielski        "as",
89*b1cdbd2cSJim Jagielski        "ast",
90*b1cdbd2cSJim Jagielski        "ht",
91*b1cdbd2cSJim Jagielski        "jbo",
92*b1cdbd2cSJim Jagielski        "fur",
93*b1cdbd2cSJim Jagielski        "ny",
94*b1cdbd2cSJim Jagielski        "so",
95*b1cdbd2cSJim Jagielski        "kab",
96*b1cdbd2cSJim Jagielski        "tk"
97*b1cdbd2cSJim Jagielski    );
98*b1cdbd2cSJim Jagielski	@items_at_modules = ("Files", "Dirs", "Unixlinks");
99*b1cdbd2cSJim Jagielski	@asianlanguages = ("ja", "ko", "zh-CN", "zh-TW");
100*b1cdbd2cSJim Jagielski	@bidilanguages = ("ar", "he");
101*b1cdbd2cSJim Jagielski
102*b1cdbd2cSJim Jagielski	$ziplistname = "";
103*b1cdbd2cSJim Jagielski	$pathfilename = "";
104*b1cdbd2cSJim Jagielski	$setupscriptname = "";
105*b1cdbd2cSJim Jagielski	$headerfilename = "";
106*b1cdbd2cSJim Jagielski	$shellscriptsfilename = "";
107*b1cdbd2cSJim Jagielski	$product = "";
108*b1cdbd2cSJim Jagielski	$languagelist = "";
109*b1cdbd2cSJim Jagielski	$added_english = 0;
110*b1cdbd2cSJim Jagielski	$set_office_start_language = 0;
111*b1cdbd2cSJim Jagielski	$solarjavaset = 0;
112*b1cdbd2cSJim Jagielski
113*b1cdbd2cSJim Jagielski	$destdir = "";
114*b1cdbd2cSJim Jagielski	$rootpath = "";
115*b1cdbd2cSJim Jagielski
116*b1cdbd2cSJim Jagielski	$required_dotnet_version = "2.0.0.0";
117*b1cdbd2cSJim Jagielski	$productextension = "";
118*b1cdbd2cSJim Jagielski	$languageproduct = undef;
119*b1cdbd2cSJim Jagielski	$build = "";
120*b1cdbd2cSJim Jagielski	$minor = "";
121*b1cdbd2cSJim Jagielski	$lastminor = "";
122*b1cdbd2cSJim Jagielski	$compiler = "";
123*b1cdbd2cSJim Jagielski	$pro = 0;
124*b1cdbd2cSJim Jagielski	$dounzip = 1;
125*b1cdbd2cSJim Jagielski	$languages_defined_in_productlist = 0;
126*b1cdbd2cSJim Jagielski	$setupscript_defined_in_productlist = 0;
127*b1cdbd2cSJim Jagielski	$islinux = 0;
128*b1cdbd2cSJim Jagielski	$issolaris = 0;
129*b1cdbd2cSJim Jagielski	$ismacosx = 0;
130*b1cdbd2cSJim Jagielski	$isos2 = 0;
131*b1cdbd2cSJim Jagielski	$iswindowsbuild = 0;
132*b1cdbd2cSJim Jagielski	$islinuxbuild = 0;
133*b1cdbd2cSJim Jagielski	$islinuxrpmbuild = 0;
134*b1cdbd2cSJim Jagielski	$islinuxdebbuild = 0;
135*b1cdbd2cSJim Jagielski	$islinuxintelrpmbuild = 0;
136*b1cdbd2cSJim Jagielski	$islinuxppcrpmbuild = 0;
137*b1cdbd2cSJim Jagielski	$islinuxinteldebbuild = 0;
138*b1cdbd2cSJim Jagielski	$islinuxppcdebbuild = 0;
139*b1cdbd2cSJim Jagielski	$islinuxx86_64rpmbuild = 0;
140*b1cdbd2cSJim Jagielski	$islinuxx86_64debbuild = 0;
141*b1cdbd2cSJim Jagielski	$issolarisbuild = 0;
142*b1cdbd2cSJim Jagielski	$issolarispkgbuild = 0;
143*b1cdbd2cSJim Jagielski	$issolarissparcbuild = 0;
144*b1cdbd2cSJim Jagielski	$issolarisx86build = 0;
145*b1cdbd2cSJim Jagielski	$isfreebsdbuild = 0;
146*b1cdbd2cSJim Jagielski	$isfreebsdpkgbuild = 0;
147*b1cdbd2cSJim Jagielski	$ismacbuild = 0;
148*b1cdbd2cSJim Jagielski	$ismacdmgbuild = 0;
149*b1cdbd2cSJim Jagielski	$unpackpath = "";
150*b1cdbd2cSJim Jagielski	$idttemplatepath = "";
151*b1cdbd2cSJim Jagielski	$idtlanguagepath = "";
152*b1cdbd2cSJim Jagielski	$packjobref = "";
153*b1cdbd2cSJim Jagielski	$buildid = "Not set";
154*b1cdbd2cSJim Jagielski	$guidcounter = 1000; # for uniqueness of guids
155*b1cdbd2cSJim Jagielski	$fontsfolder = "FontsFolder";
156*b1cdbd2cSJim Jagielski	$fontsfoldername = "Fonts";
157*b1cdbd2cSJim Jagielski	$fontsdirparent = "";
158*b1cdbd2cSJim Jagielski	$fontsdirhostname = "truetype";
159*b1cdbd2cSJim Jagielski	$fontsdirname = "";
160*b1cdbd2cSJim Jagielski	$officefolder = "OfficeFolder";
161*b1cdbd2cSJim Jagielski	$officemenufolder = "OfficeMenuFolder";
162*b1cdbd2cSJim Jagielski	$startupfolder = "StartupFolder";
163*b1cdbd2cSJim Jagielski	$startmenufolder = "StartMenuFolder";
164*b1cdbd2cSJim Jagielski	$desktopfolder = "DesktopFolder";
165*b1cdbd2cSJim Jagielski	$programfilesfolder = "ProgramFilesFolder";
166*b1cdbd2cSJim Jagielski	$commonfilesfolder = "CommonFilesFolder";
167*b1cdbd2cSJim Jagielski	$commonappdatafolder = "CommonAppDataFolder";
168*b1cdbd2cSJim Jagielski	$localappdatafolder = "LocalAppDataFolder";
169*b1cdbd2cSJim Jagielski	$templatefolder = "TemplateFolder";
170*b1cdbd2cSJim Jagielski	$templatefoldername = "Templates";
171*b1cdbd2cSJim Jagielski	$programmenufolder = "ProgramMenuFolder";
172*b1cdbd2cSJim Jagielski	$systemfolder = "SystemFolder";
173*b1cdbd2cSJim Jagielski	$encodinglistname = "msi-encodinglist.txt";
174*b1cdbd2cSJim Jagielski	$msiencoding = "";	# hash reference for msi encodings
175*b1cdbd2cSJim Jagielski	$msilanguage = "";	# hash reference for msi languages LCID
176*b1cdbd2cSJim Jagielski	$sofficeiconadded = 0;
177*b1cdbd2cSJim Jagielski	$temppath = "";
178*b1cdbd2cSJim Jagielski	$globaltempdirname = "ooopackaging";
179*b1cdbd2cSJim Jagielski	$cyg_temppath = "";
180*b1cdbd2cSJim Jagielski	$temppathdefined = 0;
181*b1cdbd2cSJim Jagielski	$jdstemppathdefined = 0;
182*b1cdbd2cSJim Jagielski	$packageversion = 1;
183*b1cdbd2cSJim Jagielski	$packagerevision = 1;
184*b1cdbd2cSJim Jagielski	$rpm = "";
185*b1cdbd2cSJim Jagielski	$rpmcommand = "";
186*b1cdbd2cSJim Jagielski	$rpmquerycommand = "";
187*b1cdbd2cSJim Jagielski	$rpminfologged = 0;
188*b1cdbd2cSJim Jagielski	$debian = "";
189*b1cdbd2cSJim Jagielski	$installertypedir = "";
190*b1cdbd2cSJim Jagielski	$controlledmakecabversion = "5";
191*b1cdbd2cSJim Jagielski	$saved_packages_path = "";
192*b1cdbd2cSJim Jagielski	$max_lang_length = 50;
193*b1cdbd2cSJim Jagielski	$globalblock = "Globals";
194*b1cdbd2cSJim Jagielski	$rootmodulegid = "";
195*b1cdbd2cSJim Jagielski	%alllangmodules = ();
196*b1cdbd2cSJim Jagielski	$englishlicenseset = 0;
197*b1cdbd2cSJim Jagielski	$englishlicense = "";
198*b1cdbd2cSJim Jagielski	$englishsolarislicensename = "LICENSE";
199*b1cdbd2cSJim Jagielski	$solarisdontcompress = 0;
200*b1cdbd2cSJim Jagielski	$patharray = "";
201*b1cdbd2cSJim Jagielski
202*b1cdbd2cSJim Jagielski	$is_special_epm = 0;
203*b1cdbd2cSJim Jagielski	$epm_in_path = 0;
204*b1cdbd2cSJim Jagielski	$epm_path = "";
205*b1cdbd2cSJim Jagielski	$epmoutpath = "";
206*b1cdbd2cSJim Jagielski	$upx_in_path = 0;
207*b1cdbd2cSJim Jagielski	$upxfile = "";
208*b1cdbd2cSJim Jagielski	$simple = 0;
209*b1cdbd2cSJim Jagielski	$simpledefaultuserdir = "\$ORIGIN/..";
210*b1cdbd2cSJim Jagielski	$call_epm = 1;
211*b1cdbd2cSJim Jagielski	$packageformat = "";
212*b1cdbd2cSJim Jagielski	$packagename = "";
213*b1cdbd2cSJim Jagielski	$packagelist = "";
214*b1cdbd2cSJim Jagielski	$addpackagelist = "";
215*b1cdbd2cSJim Jagielski	$is_unix_multi = 0;
216*b1cdbd2cSJim Jagielski	$unixmultipath = "";
217*b1cdbd2cSJim Jagielski	$unixmultipath_orig = "";
218*b1cdbd2cSJim Jagielski	$alllanguagesinproductarrayref = "";
219*b1cdbd2cSJim Jagielski	$shiptestdirectory = "";
220*b1cdbd2cSJim Jagielski	$makelinuxlinkrpm = 0;
221*b1cdbd2cSJim Jagielski	$linuxlinkrpmprocess = 0;
222*b1cdbd2cSJim Jagielski	$add_required_package = "";
223*b1cdbd2cSJim Jagielski	$linuxrespin = 0;
224*b1cdbd2cSJim Jagielski	@linuxpatchfiles = ();
225*b1cdbd2cSJim Jagielski	$linuxlibrarybaselevel = "1";
226*b1cdbd2cSJim Jagielski	$linuxlibrarypatchlevel = "1.1";
227*b1cdbd2cSJim Jagielski	@linuxlinks = ();
228*b1cdbd2cSJim Jagielski	@linkrpms = ();
229*b1cdbd2cSJim Jagielski	$archiveformat = "";
230*b1cdbd2cSJim Jagielski	$minorupgradekey = "";
231*b1cdbd2cSJim Jagielski	$pfffileexists = 0;
232*b1cdbd2cSJim Jagielski	$pffcabfilename = "ooobasis3.0_pff.cab";
233*b1cdbd2cSJim Jagielski	$mergefiles_added_into_collector = 0;
234*b1cdbd2cSJim Jagielski	$creating_windows_installer_patch = 0;
235*b1cdbd2cSJim Jagielski
236*b1cdbd2cSJim Jagielski	$strip = 1;
237*b1cdbd2cSJim Jagielski
238*b1cdbd2cSJim Jagielski	$globallogging = 0;
239*b1cdbd2cSJim Jagielski	$logfilename = "logfile.log";	# the default logfile name for global errors
240*b1cdbd2cSJim Jagielski#	@logfileinfo = ();
241*b1cdbd2cSJim Jagielski#	@errorlogfileinfo = ();
242*b1cdbd2cSJim Jagielski#	@globallogfileinfo = ();
243*b1cdbd2cSJim Jagielski	$ignore_error_in_logfile = 0;
244*b1cdbd2cSJim Jagielski	$exitlog = "";
245*b1cdbd2cSJim Jagielski	$globalinfo_copied = 0;
246*b1cdbd2cSJim Jagielski	$quiet = 0;
247*b1cdbd2cSJim Jagielski	$nodownload = 0;
248*b1cdbd2cSJim Jagielski	$writetotemp = 0;
249*b1cdbd2cSJim Jagielski	$useminor = 0;
250*b1cdbd2cSJim Jagielski	$followme_from_directory = 0;
251*b1cdbd2cSJim Jagielski	$internal_cabinet_signing = 0;
252*b1cdbd2cSJim Jagielski
253*b1cdbd2cSJim Jagielski	$debug = 0;
254*b1cdbd2cSJim Jagielski	$debugfilename = "debug.txt";
255*b1cdbd2cSJim Jagielski	$checksumfilename = "checksum.txt";
256*b1cdbd2cSJim Jagielski	@functioncalls = ();
257*b1cdbd2cSJim Jagielski
258*b1cdbd2cSJim Jagielski	$ismultilingual = 0;
259*b1cdbd2cSJim Jagielski	@multilanguagemodules = ();
260*b1cdbd2cSJim Jagielski	$languagemodulesbase = "gid_Module_Root_";
261*b1cdbd2cSJim Jagielski	%alluniquefilenames = ();
262*b1cdbd2cSJim Jagielski	%alllcuniquefilenames = ();
263*b1cdbd2cSJim Jagielski	%uniquefilenamesequence = ();
264*b1cdbd2cSJim Jagielski	%dependfilenames = ();
265*b1cdbd2cSJim Jagielski	$isopensourceproduct = 1;
266*b1cdbd2cSJim Jagielski	$manufacturer = "";
267*b1cdbd2cSJim Jagielski	$longmanufacturer = "";
268*b1cdbd2cSJim Jagielski	$codefilename = "codes.txt";
269*b1cdbd2cSJim Jagielski	$componentfilename = "components.txt";
270*b1cdbd2cSJim Jagielski	$productcode = "";
271*b1cdbd2cSJim Jagielski	$upgradecode = "";
272*b1cdbd2cSJim Jagielski	$msiproductversion = "";
273*b1cdbd2cSJim Jagielski	$msimajorproductversion = "";
274*b1cdbd2cSJim Jagielski	$created_new_component_guid = 0;
275*b1cdbd2cSJim Jagielski	@allddffiles = ();
276*b1cdbd2cSJim Jagielski	$infodirectory = "";
277*b1cdbd2cSJim Jagielski	@currentcontent = ();
278*b1cdbd2cSJim Jagielski	@installsetcontent = ();
279*b1cdbd2cSJim Jagielski	%xpdpackageinfo = ();
280*b1cdbd2cSJim Jagielski	$signfiles_checked = 0;
281*b1cdbd2cSJim Jagielski	$dosign = 0;
282*b1cdbd2cSJim Jagielski	$pwfile = "";
283*b1cdbd2cSJim Jagielski	$pwfile = "";
284*b1cdbd2cSJim Jagielski	$pfxfile = "";
285*b1cdbd2cSJim Jagielski
286*b1cdbd2cSJim Jagielski	%merge_media_line = ();
287*b1cdbd2cSJim Jagielski	%merge_allfeature_hash = ();
288*b1cdbd2cSJim Jagielski	%merge_alldirectory_hash = ();
289*b1cdbd2cSJim Jagielski	%copy_msm_files = ();
290*b1cdbd2cSJim Jagielski	$mergefeaturecollected = 0;
291*b1cdbd2cSJim Jagielski	$mergedirectoriescollected = 0;
292*b1cdbd2cSJim Jagielski	$lastsequence_before_merge = 0;
293*b1cdbd2cSJim Jagielski	$lastcabfilename = "";
294*b1cdbd2cSJim Jagielski
295*b1cdbd2cSJim Jagielski	$createdxpddefaultlang = 0;
296*b1cdbd2cSJim Jagielski	$xpddir = "";
297*b1cdbd2cSJim Jagielski	$productxpdfile = "setup.xpd";
298*b1cdbd2cSJim Jagielski	$xpd_files_prepared = 0;
299*b1cdbd2cSJim Jagielski	$defaultlanguage = "";
300*b1cdbd2cSJim Jagielski	# @emptyxpdparents = ();
301*b1cdbd2cSJim Jagielski	@createdxpdfiles = ();
302*b1cdbd2cSJim Jagielski	@allxpdfiles = ();
303*b1cdbd2cSJim Jagielski	$isxpdplatform = 0;
304*b1cdbd2cSJim Jagielski	$javalanguagepath = "";
305*b1cdbd2cSJim Jagielski	$javasettozero = 0;
306*b1cdbd2cSJim Jagielski	$addlicensefile = 1;
307*b1cdbd2cSJim Jagielski	$addsystemintegration = 0;
308*b1cdbd2cSJim Jagielski	$addjavainstaller = 0;
309*b1cdbd2cSJim Jagielski	$added_directories = 0;
310*b1cdbd2cSJim Jagielski	$makedownload = 1;
311*b1cdbd2cSJim Jagielski	$makejds = 1;
312*b1cdbd2cSJim Jagielski	$jdsexcludefilename = "";
313*b1cdbd2cSJim Jagielski	$jds_language_controlled = 0;
314*b1cdbd2cSJim Jagielski	$correct_jds_language = 0;
315*b1cdbd2cSJim Jagielski	@installsetfiles = ();
316*b1cdbd2cSJim Jagielski	@binarytableonlyfiles = ();
317*b1cdbd2cSJim Jagielski	@allscpactions = ();
318*b1cdbd2cSJim Jagielski	$languagepackaddon = "LanguagePack";
319*b1cdbd2cSJim Jagielski	$patchaddon = "Patch";
320*b1cdbd2cSJim Jagielski	$ooodownloadfilename = "";
321*b1cdbd2cSJim Jagielski	$downloadfilename = "";
322*b1cdbd2cSJim Jagielski	$downloadfileextension = "";
323*b1cdbd2cSJim Jagielski	$followmeinfofilename = "";
324*b1cdbd2cSJim Jagielski	$oooversionstring = "";
325*b1cdbd2cSJim Jagielski	$shellnewfilesadded = 0;
326*b1cdbd2cSJim Jagielski	%multilingual_only_modules = ();
327*b1cdbd2cSJim Jagielski	%application_modules = ();
328*b1cdbd2cSJim Jagielski	$defaultinstallorder = 1000;
329*b1cdbd2cSJim Jagielski	$defaultsystemintinstallorder = 1200;
330*b1cdbd2cSJim Jagielski
331*b1cdbd2cSJim Jagielski	$is_copy_only_project = 0;
332*b1cdbd2cSJim Jagielski	$is_simple_packager_project = 0;
333*b1cdbd2cSJim Jagielski	$patch_user_dir = 0;
334*b1cdbd2cSJim Jagielski	$addchildprojects = 0;
335*b1cdbd2cSJim Jagielski	$languagepack = 0;
336*b1cdbd2cSJim Jagielski	$devsnapshotbuild = 0;
337*b1cdbd2cSJim Jagielski	$betabuild = 0;
338*b1cdbd2cSJim Jagielski	$tab = 0;
339*b1cdbd2cSJim Jagielski	$patch = 0;
340*b1cdbd2cSJim Jagielski	$patchincludepath = "";
341*b1cdbd2cSJim Jagielski	$refresh_includepathes = 0;
342*b1cdbd2cSJim Jagielski	$include_pathes_read = 0;
343*b1cdbd2cSJim Jagielski	$patchfilelistname = "patchfilelist.txt";
344*b1cdbd2cSJim Jagielski	@patchfilecollector = ();
345*b1cdbd2cSJim Jagielski	$nopatchfilecollector = "";
346*b1cdbd2cSJim Jagielski	@userregistrycollector = ();
347*b1cdbd2cSJim Jagielski	$addeduserregitrykeys = 0;
348*b1cdbd2cSJim Jagielski	$poolpathset = 0;
349*b1cdbd2cSJim Jagielski	$poolpath = 0;
350*b1cdbd2cSJim Jagielski	$poollockfilename = "";
351*b1cdbd2cSJim Jagielski	$poolcheckfilename = "";
352*b1cdbd2cSJim Jagielski	%poolshiftedpackages = ();
353*b1cdbd2cSJim Jagielski	%poolpackages = ();
354*b1cdbd2cSJim Jagielski	%createpackages = ();
355*b1cdbd2cSJim Jagielski	$processhaspoolcheckfile = 0;
356*b1cdbd2cSJim Jagielski	$processhaspoollockfile = 0;
357*b1cdbd2cSJim Jagielski	$newpcfcontentcalculated = 0;
358*b1cdbd2cSJim Jagielski	$sessionid = 0;
359*b1cdbd2cSJim Jagielski	$sessionidset = 0;
360*b1cdbd2cSJim Jagielski	$savelockfilecontent = "";
361*b1cdbd2cSJim Jagielski	$savelockfilename = "";
362*b1cdbd2cSJim Jagielski	$getuidpath = "";
363*b1cdbd2cSJim Jagielski	$getuidpathset = 0;
364*b1cdbd2cSJim Jagielski	$newpcfcontent = "";
365*b1cdbd2cSJim Jagielski	%pcfdifflist = ();
366*b1cdbd2cSJim Jagielski	@pcfdiffcomment = ();
367*b1cdbd2cSJim Jagielski	@epmdifflist = ();
368*b1cdbd2cSJim Jagielski	$desktoplinkexists = 0;
369*b1cdbd2cSJim Jagielski	$analyze_spellcheckerlanguage = 0;
370*b1cdbd2cSJim Jagielski	%spellcheckerlanguagehash = ();
371*b1cdbd2cSJim Jagielski	%spellcheckerfilehash = ();
372*b1cdbd2cSJim Jagielski	$registryrootcomponent = "";
373*b1cdbd2cSJim Jagielski	%allcomponents = ();
374*b1cdbd2cSJim Jagielski	%allcomponents_in_this_database = ();
375*b1cdbd2cSJim Jagielski	%allshortcomponents = ();
376*b1cdbd2cSJim Jagielski	%allregistrycomponents_ = ();
377*b1cdbd2cSJim Jagielski	%allregistrycomponents_in_this_database_ = ();
378*b1cdbd2cSJim Jagielski	%allshortregistrycomponents = ();
379*b1cdbd2cSJim Jagielski	%allregistryidentifier = ();
380*b1cdbd2cSJim Jagielski
381*b1cdbd2cSJim Jagielski	$installlocationdirectory = "";
382*b1cdbd2cSJim Jagielski	$installlocationdirectoryset = 0;
383*b1cdbd2cSJim Jagielski	$vendordirectory = "";
384*b1cdbd2cSJim Jagielski	$vendordirectoryset = 0;
385*b1cdbd2cSJim Jagielski	$officeinstalldirectory = "";
386*b1cdbd2cSJim Jagielski	$officeinstalldirectoryset = 0;
387*b1cdbd2cSJim Jagielski	$basisinstalldirectory = "";
388*b1cdbd2cSJim Jagielski	$basisinstalldirectoryset = 0;
389*b1cdbd2cSJim Jagielski	$ureinstalldirectory = "";
390*b1cdbd2cSJim Jagielski	$ureinstalldirectoryset = 0;
391*b1cdbd2cSJim Jagielski	$rootbrandpackage = "";
392*b1cdbd2cSJim Jagielski	$rootbrandpackageset = 0;
393*b1cdbd2cSJim Jagielski	$officedirhostname = "";
394*b1cdbd2cSJim Jagielski	$basisdirhostname = "";
395*b1cdbd2cSJim Jagielski	$uredirhostname = "";
396*b1cdbd2cSJim Jagielski	$officedirgid = "";
397*b1cdbd2cSJim Jagielski	$basisdirgid = "";
398*b1cdbd2cSJim Jagielski
399*b1cdbd2cSJim Jagielski	%sign_extensions = ("dll" => "1", "exe" => "1", "cab" => "1");
400*b1cdbd2cSJim Jagielski	%treestyles = ();
401*b1cdbd2cSJim Jagielski	%installlocations = ("INSTALLLOCATION" => "1");
402*b1cdbd2cSJim Jagielski	%treelayername = ();
403*b1cdbd2cSJim Jagielski	%hostnametreestyles = ();
404*b1cdbd2cSJim Jagielski	%treeconditions = ();
405*b1cdbd2cSJim Jagielski	%usedtreeconditions = ();
406*b1cdbd2cSJim Jagielski	%moduledestination = ();
407*b1cdbd2cSJim Jagielski
408*b1cdbd2cSJim Jagielski	$fix_number_of_cab_files = 1;
409*b1cdbd2cSJim Jagielski	$cabfilecompressionlevel = 2;
410*b1cdbd2cSJim Jagielski	$number_of_cabfiles = 1;	# only for $fix_number_of_cab_files = 1
411*b1cdbd2cSJim Jagielski	$include_cab_in_msi = 0;
412*b1cdbd2cSJim Jagielski	$msidatabasename = "";
413*b1cdbd2cSJim Jagielski	$prepare_winpatch = 0;
414*b1cdbd2cSJim Jagielski	$previous_idt_dir = "";
415*b1cdbd2cSJim Jagielski	$updatepack = 0;
416*b1cdbd2cSJim Jagielski	$msitranpath = "";
417*b1cdbd2cSJim Jagielski	$usesharepointpath = 0;
418*b1cdbd2cSJim Jagielski	%newfilescollector = ();
419*b1cdbd2cSJim Jagielski
420*b1cdbd2cSJim Jagielski	$saveinstalldir = "";
421*b1cdbd2cSJim Jagielski	$csp_installdir = "";       # global installdir of createsimplepackage() in simplepackage.pm
422*b1cdbd2cSJim Jagielski	$csp_installlogdir = "";    # global installlogdir of createsimplepackage() in simplepackage.pm
423*b1cdbd2cSJim Jagielski	$csp_languagestring = "";   # global languagestring of createsimplepackage() in simplepackage.pm
424*b1cdbd2cSJim Jagielski	$localunpackdir = "";
425*b1cdbd2cSJim Jagielski	$localinstalldirset = 0;
426*b1cdbd2cSJim Jagielski	$localinstalldir = "";
427*b1cdbd2cSJim Jagielski
428*b1cdbd2cSJim Jagielski	$javafilename = "";
429*b1cdbd2cSJim Jagielski	$javafilename2 = "";
430*b1cdbd2cSJim Jagielski	$javafilename3 = "";
431*b1cdbd2cSJim Jagielski	$javafile = "";
432*b1cdbd2cSJim Jagielski	$urefile = "";
433*b1cdbd2cSJim Jagielski
434*b1cdbd2cSJim Jagielski	$postprocess_specialepm = 0;
435*b1cdbd2cSJim Jagielski	$postprocess_standardepm = 0;
436*b1cdbd2cSJim Jagielski
437*b1cdbd2cSJim Jagielski	$starttime = "";
438*b1cdbd2cSJim Jagielski
439*b1cdbd2cSJim Jagielski	@solarispatchscripts = ("checkinstall", "copyright", "patch_checkinstall", "patch_postinstall", "postinstall", "preinstall", "i.none");
440*b1cdbd2cSJim Jagielski	@solarispatchscriptsforextensions = ("checkinstall", "copyright", "patch_checkinstall", "patch_postinstall_extensions", "postinstall_extensions", "preinstall", "i.none");
441*b1cdbd2cSJim Jagielski	@solarispatchfiles = (".diPatch", "patchinfo");
442*b1cdbd2cSJim Jagielski	@environmentvariables = ( "SOLARVERSION", "GUI", "WORK_STAMP", "OUTPATH", "LOCAL_OUT", "LOCAL_COMMON_OUT" );
443*b1cdbd2cSJim Jagielski	@packagelistitems = ("module", "solarispackagename", "packagename", "copyright", "vendor", "description" );
444*b1cdbd2cSJim Jagielski	@languagepackfeature =();
445*b1cdbd2cSJim Jagielski	%featurecollector =();
446*b1cdbd2cSJim Jagielski	$msiassemblyfiles = "";
447*b1cdbd2cSJim Jagielski	$nsisfilename = "Nsis";
448*b1cdbd2cSJim Jagielski	$macinstallfilename = "macinstall.ulf";
449*b1cdbd2cSJim Jagielski	$linuxlinkrpms = "";
450*b1cdbd2cSJim Jagielski	$extensioninstalldir = "gid_Dir_Share_Extension_Install";
451*b1cdbd2cSJim Jagielski	@languagenames = ();
452*b1cdbd2cSJim Jagielski	@requiredpackages = ();
453*b1cdbd2cSJim Jagielski	%componentcondition = ();
454*b1cdbd2cSJim Jagielski	%componentid = ();
455*b1cdbd2cSJim Jagielski	%comparecomponentname = ();
456*b1cdbd2cSJim Jagielski	%languageproperties = ();
457*b1cdbd2cSJim Jagielski	%allcabinets = ();
458*b1cdbd2cSJim Jagielski	%allcabinetassigns = ();
459*b1cdbd2cSJim Jagielski	%cabfilecounter = ();
460*b1cdbd2cSJim Jagielski	%lastsequence = ();
461*b1cdbd2cSJim Jagielski	%dontdeletecomponents = ();
462*b1cdbd2cSJim Jagielski	%allcalculated_guids = ();
463*b1cdbd2cSJim Jagielski	%calculated_component_guids = ();
464*b1cdbd2cSJim Jagielski	%base_independent_components = ();
465*b1cdbd2cSJim Jagielski	%all_english_languagestrings = ();
466*b1cdbd2cSJim Jagielski	%all_required_english_languagestrings = ();
467*b1cdbd2cSJim Jagielski
468*b1cdbd2cSJim Jagielski	@forced_properties = ("SERVICETAG_PRODUCTNAME", "SERVICETAG_PRODUCTVERSION", "SERVICETAG_PARENTNAME", "SERVICETAG_SOURCE", "SERVICETAG_URN");
469*b1cdbd2cSJim Jagielski
470*b1cdbd2cSJim Jagielski	@removedirs = ();
471*b1cdbd2cSJim Jagielski	@jdsremovedirs = ();
472*b1cdbd2cSJim Jagielski	@emptypackages = ();
473*b1cdbd2cSJim Jagielski	%fontpackageexists = ();
474*b1cdbd2cSJim Jagielski
475*b1cdbd2cSJim Jagielski    $exithandler = undef;
476*b1cdbd2cSJim Jagielski
477*b1cdbd2cSJim Jagielski	$plat = $^O;
478*b1cdbd2cSJim Jagielski
479*b1cdbd2cSJim Jagielski	if ( $plat =~ /cygwin/i )
480*b1cdbd2cSJim Jagielski	{
481*b1cdbd2cSJim Jagielski		$zippath = "zip";					# Has to be in the path: /usr/bin/zip
482*b1cdbd2cSJim Jagielski		$checksumfile = "so_checksum";
483*b1cdbd2cSJim Jagielski		$unopkgfile = "unopkg.exe";
484*b1cdbd2cSJim Jagielski		$separator = "/";
485*b1cdbd2cSJim Jagielski		$pathseparator = "\:";
486*b1cdbd2cSJim Jagielski		$libextension = "\.dll";
487*b1cdbd2cSJim Jagielski		$isunix = 0;
488*b1cdbd2cSJim Jagielski		$iswin = 1;
489*b1cdbd2cSJim Jagielski        $archiveformat = ".zip";
490*b1cdbd2cSJim Jagielski	}
491*b1cdbd2cSJim Jagielski	elsif ( $plat =~ /os2/i )
492*b1cdbd2cSJim Jagielski	{
493*b1cdbd2cSJim Jagielski		print "Setup OS/2 platform\n";
494*b1cdbd2cSJim Jagielski		$zippath = "zip";					# Has to be in the path: /usr/bin/zip
495*b1cdbd2cSJim Jagielski		$checksumfile = "so_checksum";
496*b1cdbd2cSJim Jagielski		$unopkgfile = "unopkg.bin";
497*b1cdbd2cSJim Jagielski		$separator = "/";
498*b1cdbd2cSJim Jagielski		$pathseparator = "\;";
499*b1cdbd2cSJim Jagielski		$libextension = "\.dll";
500*b1cdbd2cSJim Jagielski		$isunix = 0;
501*b1cdbd2cSJim Jagielski		$iswin = 0;
502*b1cdbd2cSJim Jagielski		$isos2 = 1;
503*b1cdbd2cSJim Jagielski        $archiveformat = ".zip";
504*b1cdbd2cSJim Jagielski	}
505*b1cdbd2cSJim Jagielski	else
506*b1cdbd2cSJim Jagielski	{
507*b1cdbd2cSJim Jagielski		$zippath = "zip";					# Has to be in the path: /usr/bin/zip
508*b1cdbd2cSJim Jagielski		$checksumfile = "so_checksum";
509*b1cdbd2cSJim Jagielski		$unopkgfile = "unopkg";
510*b1cdbd2cSJim Jagielski		$separator = "/";
511*b1cdbd2cSJim Jagielski		$pathseparator = "\:";
512*b1cdbd2cSJim Jagielski		if ( $plat =~ /darwin/i )
513*b1cdbd2cSJim Jagielski		{
514*b1cdbd2cSJim Jagielski			$libextension = "\.dylib";
515*b1cdbd2cSJim Jagielski		}
516*b1cdbd2cSJim Jagielski		else
517*b1cdbd2cSJim Jagielski		{
518*b1cdbd2cSJim Jagielski			$libextension = "\.so";
519*b1cdbd2cSJim Jagielski		}
520*b1cdbd2cSJim Jagielski		$archiveformat = ".tar.gz";
521*b1cdbd2cSJim Jagielski		$isunix = 1;
522*b1cdbd2cSJim Jagielski		$iswin = 0;
523*b1cdbd2cSJim Jagielski	}
524*b1cdbd2cSJim Jagielski	# WRAPCMD is gone - remove this and all related
525*b1cdbd2cSJim Jagielski	# $installer::globals::wrapcmd entries
526*b1cdbd2cSJim Jagielski	$wrapcmd = "";
527*b1cdbd2cSJim Jagielski
528*b1cdbd2cSJim Jagielski	if ( $plat =~ /linux/i ) { $islinux = 1; }
529*b1cdbd2cSJim Jagielski	if ( $plat =~ /kfreebsd/i ) { $islinux = 1; }
530*b1cdbd2cSJim Jagielski	if ( $plat =~ /solaris/i ) { $issolaris = 1; }
531*b1cdbd2cSJim Jagielski    if ( $plat =~ /darwin/i ) { $ismacosx = 1; }
532*b1cdbd2cSJim Jagielski	if ( $plat =~ /os2/i ) { $isos2 = 1; }
533*b1cdbd2cSJim Jagielski
534*b1cdbd2cSJim Jagielski	# ToDo: Needs to be expanded for additional platforms
535*b1cdbd2cSJim Jagielski
536*b1cdbd2cSJim Jagielski    $is_release = 0;  # Is changed in parameter.pm when the -release option is given.
537*b1cdbd2cSJim Jagielski    $source_version = undef;
538*b1cdbd2cSJim Jagielski    $target_version = undef;
539*b1cdbd2cSJim Jagielski    $source_msi = undef;
540*b1cdbd2cSJim Jagielski
541*b1cdbd2cSJim Jagielski    # Is set to 1 when target_version is a major version, ie ?.0.0
542*b1cdbd2cSJim Jagielski    $is_major_release = 0;
543*b1cdbd2cSJim Jagielski}
544*b1cdbd2cSJim Jagielski
545*b1cdbd2cSJim Jagielski1;
546