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