solenv: remove unused functions
Change-Id: I8e361beb954c742ddcecde4a4ba2a4ae57057c39
This commit is contained in:
committed by
Tim Retout
parent
ab03e87741
commit
fe9f8c1800
@@ -103,25 +103,6 @@ sub convert_whitespace_stringlist_into_array
|
||||
return [map "$_\n", split /\s+/, $tmp];
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
# Converting an array into a comma separated string
|
||||
#############################################################################
|
||||
|
||||
sub convert_array_to_comma_separated_string
|
||||
{
|
||||
my ( $arrayref ) = @_;
|
||||
|
||||
my $newstring;
|
||||
for (@{$arrayref}) {
|
||||
my $tmp = $_;
|
||||
$tmp =~ s/\s+$//;
|
||||
$newstring .= "$tmp,";
|
||||
}
|
||||
$newstring =~ s/\,$//;
|
||||
|
||||
return $newstring;
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
# Converting an array into a space separated string
|
||||
#############################################################################
|
||||
|
@@ -282,21 +282,6 @@ sub tar_package
|
||||
return ( -s $tarfilename );
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Setting type of installation
|
||||
#########################################################
|
||||
|
||||
sub get_installation_type
|
||||
{
|
||||
my $type = "";
|
||||
|
||||
if ( $installer::globals::languagepack ) { $type = "langpack"; }
|
||||
elsif ( $installer::globals::helppack ) { $type = "helppack"; }
|
||||
else { $type = "install"; }
|
||||
|
||||
return $type;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Setting installation languages
|
||||
#########################################################
|
||||
@@ -525,77 +510,6 @@ sub get_install_type
|
||||
return $type;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Setting installation addons
|
||||
#########################################################
|
||||
|
||||
sub get_downloadname_addon
|
||||
{
|
||||
my $addon = "";
|
||||
|
||||
if ( $installer::globals::isdebbuild ) { $addon = $addon . "_deb"; }
|
||||
|
||||
if ( $installer::globals::product =~ /_wJRE\s*$/ ) { $addon = "_wJRE"; }
|
||||
|
||||
return $addon;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Looking for versionstring in version.info
|
||||
# This has to be the only content of this file.
|
||||
#########################################################
|
||||
|
||||
sub _get_versionstring
|
||||
{
|
||||
my ( $versionfile ) = @_;
|
||||
|
||||
my $versionstring = "";
|
||||
|
||||
for ( @{$versionfile} )
|
||||
{
|
||||
next if /^\s*\#/; # comment line
|
||||
if ( /^\s*\"\s*(.*?)\s*\"\s*$/ )
|
||||
{
|
||||
$versionstring = $1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
return $versionstring;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Returning the current product version
|
||||
# This has to be defined in file "version.info"
|
||||
# in directory $installer::globals::ooouploaddir
|
||||
#########################################################
|
||||
|
||||
sub get_current_version
|
||||
{
|
||||
my $infoline = "";
|
||||
my $versionstring = "";
|
||||
my $filename = "version.info";
|
||||
|
||||
if ( -f $filename )
|
||||
{
|
||||
$infoline = "File $filename exists. Trying to find current version.\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
my $versionfile = installer::files::read_file($filename);
|
||||
$versionstring = _get_versionstring($versionfile);
|
||||
$infoline = "Setting version string: $versionstring\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$infoline = "File $filename does not exist. No version setting in download file name.\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
|
||||
$installer::globals::oooversionstring = $versionstring;
|
||||
|
||||
return $versionstring;
|
||||
}
|
||||
|
||||
###############################################################################################
|
||||
# Setting the download file name
|
||||
# Syntax:
|
||||
@@ -781,26 +695,6 @@ sub get_language_string_from_language_block
|
||||
return $newstring;
|
||||
}
|
||||
|
||||
#######################################################
|
||||
# Setting supported platform for LibreOffice
|
||||
# builds
|
||||
#######################################################
|
||||
|
||||
sub is_supported_platform
|
||||
{
|
||||
my $is_supported = 0;
|
||||
|
||||
if (( $installer::globals::isrpmbuild ) ||
|
||||
( $installer::globals::issolarissparcbuild ) ||
|
||||
( $installer::globals::issolarisx86build ) ||
|
||||
( $installer::globals::iswindowsbuild ))
|
||||
{
|
||||
$is_supported = 1;
|
||||
}
|
||||
|
||||
return $is_supported;
|
||||
}
|
||||
|
||||
####################################################
|
||||
# Creating download installation sets
|
||||
####################################################
|
||||
|
@@ -2942,31 +2942,6 @@ sub analyze_rootpath
|
||||
|
||||
}
|
||||
|
||||
######################################################
|
||||
# Including license and readme into
|
||||
# Unix installation sets.
|
||||
######################################################
|
||||
|
||||
sub put_installsetfiles_into_installset
|
||||
{
|
||||
my ($destdir) = @_;
|
||||
|
||||
# All files for the installation set are saved in the global
|
||||
# array @installer::globals::installsetfiles
|
||||
|
||||
for ( my $i = 0; $i <= $#installer::globals::installsetfiles; $i++ )
|
||||
{
|
||||
my $onefile = $installer::globals::installsetfiles[$i];
|
||||
my $sourcefile = $onefile->{'sourcepath'};
|
||||
my $destfile = "";
|
||||
$destfile = $destdir . $installer::globals::separator . $onefile->{'Name'};
|
||||
installer::systemactions::copy_one_file($sourcefile, $destfile);
|
||||
|
||||
my $infoline = "Adding to installation set \"$destfile\" from source \"$sourcefile\".\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
}
|
||||
|
||||
######################################################
|
||||
# Replacing one variable in patchinfo file
|
||||
######################################################
|
||||
|
@@ -99,116 +99,4 @@ sub save_followme_info
|
||||
installer::logger::print_message( "... creating \"follow me\" info file $downloadinfofilename.\n" );
|
||||
}
|
||||
|
||||
####################################################
|
||||
# Reading the file, that contains all information
|
||||
# to create a follow up process.
|
||||
####################################################
|
||||
|
||||
sub read_followme_info
|
||||
{
|
||||
my ( $filename ) = @_;
|
||||
|
||||
if ( ! -f $filename ) { installer::exiter::exit_program("ERROR: Could not find file: $filename", "read_download_info"); }
|
||||
|
||||
installer::logger::print_message( "\n... reading \"follow me\" info file $filename\n" );
|
||||
|
||||
my %contenthash = ();
|
||||
|
||||
my $finalinstalldir = "";
|
||||
my $downloadname = "";
|
||||
my $currentinstallnumber = "";
|
||||
my $loggingdir = "";
|
||||
my $installlogdir = "";
|
||||
my $languagestring = "";
|
||||
my @includepatharray = ();
|
||||
my @languagesarray = ();
|
||||
my %allvariableshash = ();
|
||||
|
||||
# Global variables can be set directly
|
||||
|
||||
my $filecontent = installer::files::read_file($filename);
|
||||
|
||||
# First line has to contain the string "finalinstalldir:".
|
||||
# Otherwise this is not a correct file.
|
||||
|
||||
|
||||
if ( ! ( ${$filecontent}[0] =~ /s*finalinstalldir:\s*(.*?)\s*$/ )) { installer::exiter::exit_program("ERROR: Not a correct download info file: $filename", "read_download_info"); }
|
||||
|
||||
for ( my $i = 0; $i <= $#{$filecontent}; $i++ )
|
||||
{
|
||||
my $line = ${$filecontent}[$i];
|
||||
|
||||
if ( $line =~ /^\s*finalinstalldir:\s*(.*?)\s*$/ ) { $finalinstalldir = $1; }
|
||||
if( $^O =~ /cygwin/i ) { $finalinstalldir =~ s/\\/\//; }
|
||||
if ( $line =~ /^\s*downloadname:\s*(.*?)\s*$/ ) { $downloadname = $1; }
|
||||
if ( $line =~ /^\s*currentinstallnumber:\s*(.*?)\s*$/ ) { $currentinstallnumber = $1; }
|
||||
if ( $line =~ /^\s*loggingdir:\s*(.*?)\s*$/ ) { $loggingdir = $1; }
|
||||
if( $^O =~ /cygwin/i ) { $loggingdir =~ s/\\/\//; }
|
||||
if ( $line =~ /^\s*installlogdir:\s*(.*?)\s*$/ ) { $installlogdir = $1; }
|
||||
if( $^O =~ /cygwin/i ) { $installlogdir =~ s/\\/\//; }
|
||||
if ( $line =~ /^\s*languagestring:\s*(.*?)\s*$/ ) { $languagestring = $1; }
|
||||
if ( $line =~ /^\s*languagesarray:\s*(.*?)\s*$/ ) { push(@languagesarray, $1); }
|
||||
if ( $line =~ /^\s*includepatharray:\s*(.*?)\s*$/ )
|
||||
{
|
||||
my $path = $1;
|
||||
if( $^O =~ /cygwin/i ) { $path =~ s/\\/\//; }
|
||||
push(@includepatharray, $path . "\n");
|
||||
}
|
||||
if ( $line =~ /^\s*allvariableshash:\s*(.*?)\s*:\s*(.*?)\s*$/ ) { $allvariableshash{$1} = $2; }
|
||||
if ( $line =~ /^\s*globals:(.*?)\s*:\s*(.*?)\s*$/ )
|
||||
{
|
||||
my $name = $1;
|
||||
my $value = $2;
|
||||
if ( $name eq "updatepack" ) { $installer::globals::updatepack = $value; }
|
||||
if ( $name eq "added_english" ) { $installer::globals::added_english = $value; }
|
||||
if ( $name eq "iswindowsbuild" ) { $installer::globals::iswindowsbuild = $value; }
|
||||
if ( $name eq "issolarisbuild" ) { $installer::globals::issolarisbuild = $value; }
|
||||
if ( $name eq "issolarispkgbuild" ) { $installer::globals::issolarispkgbuild = $value; }
|
||||
if ( $name eq "issolarissparcbuild" ) { $installer::globals::issolarissparcbuild = $value; }
|
||||
if ( $name eq "issolarisx86build" ) { $installer::globals::issolarisx86build = $value; }
|
||||
if ( $name eq "isfreebsdpkgbuild" ) { $installer::globals::isfreebsdpkgbuild = $value; }
|
||||
if ( $name eq "islinuxbuild" ) { $installer::globals::islinuxbuild = $value; }
|
||||
if ( $name eq "isrpmbuild" ) { $installer::globals::isrpmbuild = $value; }
|
||||
if ( $name eq "islinuxintelrpmbuild" ) { $installer::globals::islinuxintelrpmbuild = $value; }
|
||||
if ( $name eq "islinuxppcrpmbuild" ) { $installer::globals::islinuxppcrpmbuild = $value; }
|
||||
if ( $name eq "islinuxx86_64rpmbuild" ) { $installer::globals::islinuxx86_64rpmbuild = $value; }
|
||||
if ( $name eq "isdebbuild" ) { $installer::globals::isdebbuild = $value; }
|
||||
if ( $name eq "islinuxinteldebbuild" ) { $installer::globals::islinuxinteldebbuild = $value; }
|
||||
if ( $name eq "islinuxppcdebbuild" ) { $installer::globals::islinuxppcdebbuild = $value; }
|
||||
if ( $name eq "islinuxx86_64debbuild" ) { $installer::globals::islinuxx86_64debbuild = $value; }
|
||||
if ( $name eq "issolaris" ) { $installer::globals::issolaris = $value; }
|
||||
if ( $name eq "islinux" ) { $installer::globals::islinux = $value; }
|
||||
if ( $name eq "unpackpath" ) { $installer::globals::unpackpath = $value; }
|
||||
if( $^O =~ /cygwin/i ) { $installer::globals::unpackpath =~ s/\\/\//; }
|
||||
if ( $name eq "idttemplatepath" ) { $installer::globals::idttemplatepath = $value; }
|
||||
if( $^O =~ /cygwin/i ) { $installer::globals::idttemplatepath =~ s/\\/\//; }
|
||||
if ( $name eq "idtlanguagepath" ) { $installer::globals::idtlanguagepath = $value; }
|
||||
if( $^O =~ /cygwin/i ) { $installer::globals::idtlanguagepath =~ s/\\/\//; }
|
||||
if ( $name eq "logfilename" ) { $installer::globals::logfilename = $value; }
|
||||
if ( $name eq "product" ) { $installer::globals::product = $value; }
|
||||
if ( $name eq "patch" ) { $installer::globals::patch = $value; }
|
||||
if ( $name eq "languagepack" ) { $installer::globals::languagepack = $value; }
|
||||
if ( $name eq "helppack" ) { $installer::globals::helppack = $value; }
|
||||
if ( $name eq "installertypedir" ) { $installer::globals::installertypedir = $value; }
|
||||
if ( $name eq "max_lang_length" ) { $installer::globals::max_lang_length = $value; }
|
||||
if ( $name eq "compiler" ) { $installer::globals::compiler = $value; }
|
||||
if ( $name eq "product" ) { $installer::globals::product = $value; }
|
||||
if ( $name eq "minor" ) { $installer::globals::minor = $value; }
|
||||
if ( $name eq "lastminor" ) { $installer::globals::lastminor = $value; }
|
||||
}
|
||||
}
|
||||
|
||||
$contenthash{'finalinstalldir'} = $finalinstalldir;
|
||||
$contenthash{'downloadname'} = $downloadname;
|
||||
$contenthash{'currentinstallnumber'} = $currentinstallnumber;
|
||||
$contenthash{'loggingdir'} = $loggingdir;
|
||||
$contenthash{'installlogdir'} = $installlogdir;
|
||||
$contenthash{'languagestring'} = $languagestring;
|
||||
$contenthash{'languagesarray'} = \@languagesarray;
|
||||
$contenthash{'includepatharray'} = \@includepatharray;
|
||||
$contenthash{'allvariableshash'} = \%allvariableshash;
|
||||
|
||||
return \%contenthash;
|
||||
}
|
||||
|
||||
1;
|
||||
|
@@ -204,18 +204,4 @@ sub get_default_language
|
||||
return ${$languagesref}[0]; # ToDo, only returning the first language
|
||||
}
|
||||
|
||||
################################################################
|
||||
# Determining the language used by the Java installer
|
||||
################################################################
|
||||
|
||||
sub get_java_language
|
||||
{
|
||||
my ( $language ) = @_;
|
||||
|
||||
$javalanguage = $language;
|
||||
$javalanguage =~ s/\-/\_/;
|
||||
|
||||
return $javalanguage;
|
||||
}
|
||||
|
||||
1;
|
||||
|
@@ -57,21 +57,6 @@ sub remove_leading_and_ending_slashes
|
||||
$$stringref =~ s/\/\s*$//g;
|
||||
}
|
||||
|
||||
sub remove_ending_slashes
|
||||
{
|
||||
my ( $stringref ) = @_;
|
||||
|
||||
$$stringref =~ s/\/\s*$//g;
|
||||
}
|
||||
|
||||
sub remove_leading_and_ending_pathseparators
|
||||
{
|
||||
my ( $stringref ) = @_;
|
||||
|
||||
$$stringref =~ s/^\s*\Q$installer::globals::separator\E//;
|
||||
$$stringref =~ s/\Q$installer::globals::separator\E\s*$//;
|
||||
}
|
||||
|
||||
sub remove_ending_pathseparator
|
||||
{
|
||||
my ( $stringref ) = @_;
|
||||
|
@@ -732,38 +732,6 @@ sub changing_name_of_language_dependent_keys
|
||||
}
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Collecting language specific names for language packs
|
||||
################################################################################
|
||||
|
||||
sub collect_language_specific_names
|
||||
{
|
||||
my ($itemsarrayref) = @_;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$itemsarrayref}; $i++ )
|
||||
{
|
||||
my $oneitem = ${$itemsarrayref}[$i];
|
||||
my $styles = "";
|
||||
if ( $oneitem->{'Styles'} ) { $styles = $oneitem->{'Styles'}; }
|
||||
|
||||
if ( $styles =~ /\bUSELANGUAGENAME\b/ )
|
||||
{
|
||||
my $language = "";
|
||||
if ( $oneitem->{'Language'} ) { $language = $oneitem->{'Language'}; }
|
||||
my $specificlanguage = "";
|
||||
if ( $oneitem->{'specificlanguage'} ) { $specificlanguage = $oneitem->{'specificlanguage'}; }
|
||||
|
||||
if (( $language ne "" ) && ( $language eq $specificlanguage ))
|
||||
{
|
||||
if (! grep {$_ eq $oneitem->{'Name'}} @installer::globals::languagenames )
|
||||
{
|
||||
push(@installer::globals::languagenames, $oneitem->{'Name'});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Replacement of setup variables in ConfigurationItems and ProfileItems
|
||||
# <productkey>, <buildid>, <sequence_languages>, <productcode>, <upgradecode>, <productupdate>
|
||||
@@ -2698,45 +2666,4 @@ sub select_required_language_strings
|
||||
}
|
||||
}
|
||||
|
||||
#####################################################################################
|
||||
# Unixlinks are not always required. For Linux RPMs and Solaris Packages they are
|
||||
# created dynamically. Exception: For package formats "installed" or "archive".
|
||||
# In scp2 this unixlinks have the flag LAYERLINK.
|
||||
#####################################################################################
|
||||
|
||||
sub filter_layerlinks_from_unixlinks
|
||||
{
|
||||
my ( $unixlinksref ) = @_;
|
||||
|
||||
my @alllinks = ();
|
||||
|
||||
for ( my $i = 0; $i <= $#{$unixlinksref}; $i++ )
|
||||
{
|
||||
my $isrequired = 1;
|
||||
|
||||
my $onelink = ${$unixlinksref}[$i];
|
||||
my $styles = "";
|
||||
if ( $onelink->{'Styles'} ) { $styles = $onelink->{'Styles'}; }
|
||||
|
||||
if ( $styles =~ /\bLAYERLINK\b/ )
|
||||
{
|
||||
# Platforms, that do not need the layer links
|
||||
if (( $installer::globals::isrpmbuild ) || ( $installer::globals::issolarispkgbuild ))
|
||||
{
|
||||
$isrequired = 0;
|
||||
}
|
||||
|
||||
# Package formats, that need the layer link (platform independent)
|
||||
if (( $installer::globals::packageformat eq "installed" ) || ( $installer::globals::packageformat eq "archive" ))
|
||||
{
|
||||
$isrequired = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $isrequired ) { push(@alllinks, $onelink); }
|
||||
}
|
||||
|
||||
return \@alllinks;
|
||||
}
|
||||
|
||||
1;
|
||||
|
@@ -60,22 +60,6 @@ sub check_simple_packager_project
|
||||
}
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Getting the translation file for the Mac Language Pack installer
|
||||
########################################################################
|
||||
|
||||
sub get_mac_translation_file
|
||||
{
|
||||
my $translationfilename = $installer::globals::maclangpackfilename;
|
||||
if ( ! -f $translationfilename ) { installer::exiter::exit_program("ERROR: Could not find language file $translationfilename!", "get_mac_translation_file"); }
|
||||
my $translationfile = installer::files::read_file($translationfilename);
|
||||
|
||||
my $infoline = "Reading translation file: $translationfilename\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
|
||||
return $translationfile;
|
||||
}
|
||||
|
||||
##################################################################
|
||||
# Collecting all identifier from ulf file
|
||||
##################################################################
|
||||
|
@@ -747,48 +747,6 @@ sub copy_directory_with_fileextension
|
||||
}
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Copying all files without a specified file extension
|
||||
# from one directory to another directory.
|
||||
#########################################################
|
||||
|
||||
sub copy_directory_except_fileextension
|
||||
{
|
||||
my ($sourcedir, $destdir, $extension) = @_;
|
||||
|
||||
my @sourcefiles = ();
|
||||
|
||||
$sourcedir =~ s/\Q$installer::globals::separator\E\s*$//;
|
||||
$destdir =~ s/\Q$installer::globals::separator\E\s*$//;
|
||||
|
||||
$infoline = "\n";
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
$infoline = "Copying files without extension $extension from directory $sourcedir to directory $destdir\n";
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
|
||||
opendir(DIR, $sourcedir);
|
||||
@sourcefiles = readdir(DIR);
|
||||
closedir(DIR);
|
||||
|
||||
my $onefile;
|
||||
|
||||
foreach $onefile (@sourcefiles)
|
||||
{
|
||||
if ((!($onefile eq ".")) && (!($onefile eq "..")))
|
||||
{
|
||||
if ( ! ( $onefile =~ /\.$extension\s*$/ )) # only copying not having the specified extension
|
||||
{
|
||||
my $sourcefile = $sourcedir . $installer::globals::separator . $onefile;
|
||||
my $destfile = $destdir . $installer::globals::separator . $onefile;
|
||||
if ( -f $sourcefile ) # only files, no directories
|
||||
{
|
||||
copy_one_file($sourcefile, $destfile);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
########################################################
|
||||
# Renaming all files with a specified file extension
|
||||
# in a specified directory.
|
||||
@@ -919,95 +877,6 @@ sub make_numbered_dir
|
||||
return $returndir;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Determining the highest number in the install directory.
|
||||
##############################################################
|
||||
|
||||
sub determine_maximum_number
|
||||
{
|
||||
my ($dir, $languagestringref) = @_;
|
||||
|
||||
my $basedir = $dir;
|
||||
installer::pathanalyzer::get_path_from_fullqualifiedname(\$basedir);
|
||||
|
||||
my $alldirs = get_all_directories($basedir);
|
||||
|
||||
my $maxnumber = 1;
|
||||
|
||||
# In control.pm the installation directory is determined as:
|
||||
# $installer::globals::build . "_" . $installer::globals::lastminor . "_" .
|
||||
# "native_inprogress-number_" . $$languagesref . "\." . $installer::globals::buildid;
|
||||
|
||||
# searching for the highest number extension after the first "-", which belongs to
|
||||
# $installer::globals::build, $installer::globals::lastminor and $installer::globals::buildid
|
||||
# In this step not looking for the language!
|
||||
|
||||
my @correctbuildiddirs = ();
|
||||
|
||||
for ( my $i = 0; $i <= $#{$alldirs}; $i++ )
|
||||
{
|
||||
my $onedir = ${$alldirs}[$i];
|
||||
installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$onedir);
|
||||
|
||||
if ( $onedir =~ /^\s*\Q$installer::globals::build\E\_\Q$installer::globals::lastminor\E\_(.*?)\-(\d+)\_(.*?)\.\Q$installer::globals::buildid\E\s*$/ )
|
||||
{
|
||||
my $number = $2;
|
||||
if ( $number > $maxnumber ) { $maxnumber = $number; }
|
||||
push(@correctbuildiddirs, $onedir);
|
||||
}
|
||||
}
|
||||
|
||||
# From all directories with correct $installer::globals::build, $installer::globals::lastminor
|
||||
# and $installer::globals::buildid, those directories, which already have the maximum number
|
||||
# have to be selected
|
||||
|
||||
my @maximumnumberdirs = ();
|
||||
|
||||
for ( my $i = 0; $i <= $#correctbuildiddirs; $i++ )
|
||||
{
|
||||
my $onedir = $correctbuildiddirs[$i];
|
||||
|
||||
if ( $onedir =~ /^\s*(.*?)\-(\d+)\_(.*?)\.(.*?)\s*$/ )
|
||||
{
|
||||
my $number = $2;
|
||||
|
||||
if ( $number == $maxnumber )
|
||||
{
|
||||
push(@maximumnumberdirs, $onedir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# @maximumnumberdirs contains only those directories with correct $installer::globals::build,
|
||||
# $installer::globals::lastminor and $installer::globals::buildid, which already have the maximum number.
|
||||
# If the current language is part of this directory, the number has to be increased.
|
||||
|
||||
my $increase_counter = 0;
|
||||
|
||||
for ( my $i = 0; $i <= $#maximumnumberdirs; $i++ )
|
||||
{
|
||||
my $onedir = $maximumnumberdirs[$i];
|
||||
|
||||
if ( $onedir =~ /^\s*(.*?)\-(\d+)\_(.*?)\.(.*?)\s*$/ )
|
||||
{
|
||||
my $number = $2;
|
||||
my $languagestring = $3;
|
||||
|
||||
if ( $languagestring eq $$languagestringref )
|
||||
{
|
||||
$increase_counter = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $increase_counter )
|
||||
{
|
||||
$maxnumber = $maxnumber + 1;
|
||||
}
|
||||
|
||||
return $maxnumber;
|
||||
}
|
||||
|
||||
#####################################################################################
|
||||
# Renaming a directory by exchanging a string, for example from "01_inprogress_7"
|
||||
# to "01_witherror_7".
|
||||
@@ -1178,66 +1047,6 @@ sub get_all_directories_without_path
|
||||
return \@alldirs;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Collecting all files inside one directory
|
||||
##############################################################
|
||||
|
||||
sub get_all_files_from_one_directory
|
||||
{
|
||||
my ($basedir) = @_;
|
||||
|
||||
my @allfiles = ();
|
||||
my $direntry;
|
||||
|
||||
$basedir =~ s/\Q$installer::globals::separator\E\s*$//;
|
||||
|
||||
opendir(DIR, $basedir);
|
||||
|
||||
foreach $direntry (readdir (DIR))
|
||||
{
|
||||
next if $direntry eq ".";
|
||||
next if $direntry eq "..";
|
||||
|
||||
my $completeentry = $basedir . $installer::globals::separator . $direntry;
|
||||
|
||||
if ( -f $completeentry ) { push(@allfiles, $completeentry); }
|
||||
}
|
||||
|
||||
closedir(DIR);
|
||||
|
||||
return \@allfiles;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Collecting all files inside one directory
|
||||
##############################################################
|
||||
|
||||
sub get_all_files_from_one_directory_without_path
|
||||
{
|
||||
my ($basedir) = @_;
|
||||
|
||||
my @allfiles = ();
|
||||
my $direntry;
|
||||
|
||||
$basedir =~ s/\Q$installer::globals::separator\E\s*$//;
|
||||
|
||||
opendir(DIR, $basedir);
|
||||
|
||||
foreach $direntry (readdir (DIR))
|
||||
{
|
||||
next if $direntry eq ".";
|
||||
next if $direntry eq "..";
|
||||
|
||||
my $completeentry = $basedir . $installer::globals::separator . $direntry;
|
||||
|
||||
if ( -f $completeentry ) { push(@allfiles, $direntry); }
|
||||
}
|
||||
|
||||
closedir(DIR);
|
||||
|
||||
return \@allfiles;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Collecting all files and directories inside one directory
|
||||
##############################################################
|
||||
|
@@ -143,35 +143,6 @@ sub get_msiassembly_file
|
||||
return $onefile;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Returning the file object for the msiassembly table.
|
||||
##############################################################
|
||||
|
||||
sub get_msiassembly_file_by_gid
|
||||
{
|
||||
my ( $filesref, $gid ) = @_;
|
||||
|
||||
my $foundfile = 0;
|
||||
my $onefile;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
|
||||
{
|
||||
$onefile = ${$filesref}[$i];
|
||||
my $filegid = $onefile->{'gid'};
|
||||
|
||||
if ( $filegid eq $gid )
|
||||
{
|
||||
$foundfile = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
# It does not need to exist. For example products that do not contain the libraries.
|
||||
if (! $foundfile ) { $onefile = ""; }
|
||||
|
||||
return $onefile;
|
||||
}
|
||||
|
||||
####################################################################################
|
||||
# Creating the file MsiAssembly.idt dynamically
|
||||
# Content:
|
||||
@@ -219,24 +190,6 @@ sub create_msiassembly_table
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
|
||||
####################################################################################
|
||||
# Returning the name for the table MsiAssemblyName
|
||||
####################################################################################
|
||||
|
||||
sub get_msiassemblyname_name
|
||||
{
|
||||
( $number ) = @_;
|
||||
|
||||
my $name = "";
|
||||
|
||||
if ( $number == 1 ) { $name = "name"; }
|
||||
elsif ( $number == 2 ) { $name = "publicKeyToken"; }
|
||||
elsif ( $number == 3 ) { $name = "version"; }
|
||||
elsif ( $number == 4 ) { $name = "culture"; }
|
||||
|
||||
return $name;
|
||||
}
|
||||
|
||||
####################################################################################
|
||||
# Creating the file MsiAssemblyName.idt dynamically
|
||||
# Content:
|
||||
|
@@ -75,35 +75,4 @@ sub create_font_table
|
||||
|
||||
}
|
||||
|
||||
#################################################################################
|
||||
# Reading the Font version from the ttf file, to avoid installation
|
||||
# of older files over newer files.
|
||||
#################################################################################
|
||||
|
||||
sub get_font_version
|
||||
{
|
||||
my ( $fontfile ) = @_;
|
||||
|
||||
if ( ! -f $fontfile ) { installer::exiter::exit_program("ERROR: Font file does not exist: \"$fontfile\"", "get_font_version"); }
|
||||
|
||||
my $fontversion = 0;
|
||||
my $infoline = "";
|
||||
|
||||
my $onefile = installer::files::read_binary_file($fontfile);
|
||||
|
||||
if ( $onefile =~ /Version\s+(\d+\.\d+\.*\d*)/ )
|
||||
{
|
||||
$fontversion = $1;
|
||||
$infoline = "FONT: Font \"$fontfile\" version: $fontversion\n";
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$infoline = "FONT: Could not determine font version: \"$fontfile\"\n";
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
|
||||
return $fontversion;
|
||||
}
|
||||
|
||||
1;
|
||||
|
@@ -850,37 +850,6 @@ sub get_rtflicensefilesource
|
||||
return $$sourcefileref;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Returning the source path of the licensefile for
|
||||
# a specified language
|
||||
##############################################################
|
||||
|
||||
sub get_licensefilesource
|
||||
{
|
||||
my ($language, $filesref) = @_;
|
||||
|
||||
my $licensefilename = "license_" . $language . ".txt";
|
||||
my $sourcepath = "";
|
||||
my $foundlicensefile = 0;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
|
||||
{
|
||||
my $onefile = ${$filesref}[$i];
|
||||
my $filename = $onefile->{'Name'};
|
||||
|
||||
if ($filename eq $licensefilename)
|
||||
{
|
||||
$sourcepath = $onefile->{'sourcepath'};
|
||||
$foundlicensefile = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! $foundlicensefile ) { installer::exiter::exit_program("ERROR: Did not find file $licensefilename in file collector!", "get_licensefilesource"); }
|
||||
|
||||
return $sourcepath;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# A simple converter to create the license text
|
||||
# in rtf format
|
||||
@@ -983,50 +952,6 @@ sub make_string_licensetext
|
||||
return $rtf_licensetext;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Setting the path, where the soffice.exe is installed, into
|
||||
# the CustomAction table
|
||||
##############################################################
|
||||
|
||||
sub add_officedir_to_database
|
||||
{
|
||||
my ($basedir, $allvariables) = @_;
|
||||
|
||||
my $customactionfilename = $basedir . $installer::globals::separator . "CustomAc.idt";
|
||||
|
||||
my $customacfile = installer::files::read_file($customactionfilename);
|
||||
|
||||
my $found = 0;
|
||||
|
||||
# Updating the values
|
||||
|
||||
if ( $installer::globals::officeinstalldirectoryset )
|
||||
{
|
||||
$found = 0;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$customacfile}; $i++ )
|
||||
{
|
||||
if ( ${$customacfile}[$i] =~ /\bOFFICEDIRECTORYGID\b/ )
|
||||
{
|
||||
${$customacfile}[$i] =~ s/\bOFFICEDIRECTORYGID\b/$installer::globals::officeinstalldirectory/;
|
||||
$found = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (( ! $found ) && ( ! $allvariables->{'IGNOREDIRECTORYLAYER'} ))
|
||||
{
|
||||
installer::exiter::exit_program("ERROR: \"OFFICEDIRECTORYGID\" not found in \"$customactionfilename\" !", "add_officedir_to_database");
|
||||
}
|
||||
}
|
||||
|
||||
# Saving the file
|
||||
|
||||
installer::files::save_file($customactionfilename ,$customacfile);
|
||||
my $infoline = "Updated idt file: $customactionfilename\n";
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Including the license text into the table control.idt
|
||||
##############################################################
|
||||
|
@@ -579,35 +579,6 @@ sub generate_cab_file_list
|
||||
return \@cabfilelist; # contains all system calls for packaging process
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Returning the file sequence of a specified file.
|
||||
########################################################################
|
||||
|
||||
sub get_file_sequence
|
||||
{
|
||||
my ($filesref, $uniquefilename) = @_;
|
||||
|
||||
my $sequence = "";
|
||||
my $found_sequence = 0;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
|
||||
{
|
||||
my $onefile = ${$filesref}[$i];
|
||||
my $uniquename = $onefile->{'uniquename'};
|
||||
|
||||
if ( $uniquename eq $uniquefilename )
|
||||
{
|
||||
$sequence = $onefile->{'sequencenumber'};
|
||||
$found_sequence = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! $found_sequence ) { installer::exiter::exit_program("ERROR: No sequence found for $uniquefilename !", "get_file_sequence"); }
|
||||
|
||||
return $sequence;
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# For update and patch reasons the pack order needs to be saved.
|
||||
# The pack order is saved in the ddf files; the names and locations
|
||||
@@ -1218,37 +1189,6 @@ sub rename_msi_database_in_installset
|
||||
$installer::globals::msidatabasename = $newdatabasename;
|
||||
}
|
||||
|
||||
#################################################################
|
||||
# Copying the files defined as ScpActions into the
|
||||
# installation set.
|
||||
#################################################################
|
||||
|
||||
sub copy_scpactions_into_installset
|
||||
{
|
||||
my ($defaultlanguage, $installdir, $allscpactions) = @_;
|
||||
|
||||
installer::logger::include_header_into_logfile("Copying ScpAction files into installation set");
|
||||
|
||||
for ( my $i = 0; $i <= $#{$allscpactions}; $i++ )
|
||||
{
|
||||
my $onescpaction = ${$allscpactions}[$i];
|
||||
|
||||
if ( $onescpaction->{'Name'} eq "loader.exe" ) { next; } # do not copy this ScpAction loader
|
||||
|
||||
# only copying language independent files or files with the correct language (the defaultlanguage)
|
||||
|
||||
my $filelanguage = $onescpaction->{'specificlanguage'};
|
||||
|
||||
if ( ($filelanguage eq $defaultlanguage) || ($filelanguage eq "") )
|
||||
{
|
||||
my $sourcefile = $onescpaction->{'sourcepath'};
|
||||
my $destfile = $installdir . $installer::globals::separator . $onescpaction->{'DestinationName'};
|
||||
|
||||
installer::systemactions::copy_one_file($sourcefile, $destfile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#################################################################
|
||||
# Copying MergeModules for the Windows installer into the
|
||||
# installation set. The list of MergeModules is located
|
||||
@@ -1360,55 +1300,6 @@ sub calculate_guid
|
||||
return $guid;
|
||||
}
|
||||
|
||||
#################################################################
|
||||
# Filling the component hash with the values of the
|
||||
# component file.
|
||||
#################################################################
|
||||
|
||||
sub fill_component_hash
|
||||
{
|
||||
my ($componentfile) = @_;
|
||||
|
||||
my %components = ();
|
||||
|
||||
for ( my $i = 0; $i <= $#{$componentfile}; $i++ )
|
||||
{
|
||||
my $line = ${$componentfile}[$i];
|
||||
|
||||
if ( $line =~ /^\s*(.*?)\t(.*?)\s*$/ )
|
||||
{
|
||||
my $key = $1;
|
||||
my $value = $2;
|
||||
|
||||
$components{$key} = $value;
|
||||
}
|
||||
}
|
||||
|
||||
return \%components;
|
||||
}
|
||||
|
||||
#################################################################
|
||||
# Creating a new component file, if new guids were generated.
|
||||
#################################################################
|
||||
|
||||
sub create_new_component_file
|
||||
{
|
||||
my ($componenthash) = @_;
|
||||
|
||||
my @componentfile = ();
|
||||
|
||||
my $key;
|
||||
|
||||
foreach $key (keys %{$componenthash})
|
||||
{
|
||||
my $value = $componenthash->{$key};
|
||||
my $input = "$key\t$value\n";
|
||||
push(@componentfile ,$input);
|
||||
}
|
||||
|
||||
return \@componentfile;
|
||||
}
|
||||
|
||||
#################################################################
|
||||
# Filling real component GUID into the component table.
|
||||
# This works only on Windows
|
||||
|
@@ -595,35 +595,6 @@ sub set_codes_in_property_table
|
||||
|
||||
}
|
||||
|
||||
############################################################
|
||||
# Setting the variable REGKEYPRODPATH, that is used
|
||||
# by the language packs.
|
||||
############################################################
|
||||
|
||||
sub set_regkeyprodpath_in_property_table
|
||||
{
|
||||
my ($basedir, , $allvariables) = @_;
|
||||
|
||||
# Reading the property file
|
||||
|
||||
my $properyfilename = $basedir . $installer::globals::separator . "Property.idt";
|
||||
my $propertyfile = installer::files::read_file($properyfilename);
|
||||
|
||||
my $name = $allvariables->{'PRODUCTNAME'};
|
||||
my $version = $allvariables->{'PRODUCTVERSION'};
|
||||
|
||||
my $onepropertyline = "REGKEYPRODPATH" . "\t" . "Software" . "\\" . $installer::globals::manufacturer . "\\". $name;
|
||||
|
||||
push(@{$propertyfile}, $onepropertyline);
|
||||
|
||||
# Saving the property file
|
||||
|
||||
installer::files::save_file($properyfilename ,$propertyfile);
|
||||
my $infoline = "Added language content into idt file: $properyfilename\n";
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
|
||||
}
|
||||
|
||||
############################################################
|
||||
# Changing default for MS file type registration
|
||||
# in Beta products.
|
||||
|
@@ -285,28 +285,6 @@ sub get_registry_value
|
||||
return $value;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Returning 64 bit value for registry table.
|
||||
##############################################################
|
||||
|
||||
sub get_registry_val64
|
||||
{
|
||||
my ($registry, $allvariableshashref) = @_;
|
||||
|
||||
my $value = "";
|
||||
|
||||
if ( $registry->{'Val64'} ) { $value = $registry->{'Val64'}; }
|
||||
|
||||
$value =~ s/\\\"/\"/g; # no more masquerading of '"'
|
||||
$value =~ s/\\\\\s*$/\\/g; # making "\\" at end of value to "\"
|
||||
$value =~ s/\<progpath\>/\[INSTALLLOCATION\]/;
|
||||
$value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/; # removing "\" after "[INSTALLLOCATION]"
|
||||
|
||||
if ( $value =~ /\%/ ) { $value = installer::worker::replace_variables_in_string($value, $allvariableshashref); }
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Returning component for registry table.
|
||||
##############################################################
|
||||
|
@@ -32,34 +32,6 @@ use installer::files;
|
||||
use installer::globals;
|
||||
use installer::windows::idtglobal;
|
||||
|
||||
##############################################################
|
||||
# Returning the file object for the msiassembly table.
|
||||
##############################################################
|
||||
|
||||
sub get_file_by_name
|
||||
{
|
||||
my ( $filesref, $filename ) = @_;
|
||||
|
||||
my $foundfile = 0;
|
||||
my $onefile;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
|
||||
{
|
||||
$onefile = ${$filesref}[$i];
|
||||
my $name = $onefile->{'Name'};
|
||||
|
||||
if ( $name eq $filename )
|
||||
{
|
||||
$foundfile = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
if (! $foundfile ) { $onefile = ""; }
|
||||
|
||||
return $onefile;
|
||||
}
|
||||
|
||||
##############################################################
|
||||
# Returning identifier for shortcut table.
|
||||
##############################################################
|
||||
|
@@ -149,47 +149,6 @@ sub remove_old_installation_sets
|
||||
installer::systemactions::create_directory($basedir);
|
||||
}
|
||||
|
||||
###############################################################
|
||||
# Removing all non successful installation sets on ship
|
||||
###############################################################
|
||||
|
||||
sub remove_old_ship_installation_sets
|
||||
{
|
||||
my ($fulldir, $counter) = @_;
|
||||
|
||||
installer::logger::print_message( "... removing old installation directories ...\n" );
|
||||
|
||||
my $basedir = $fulldir;
|
||||
installer::pathanalyzer::get_path_from_fullqualifiedname(\$basedir);
|
||||
|
||||
# collecting all directories next to the new installation directory
|
||||
my $alldirs = installer::systemactions::get_all_directories($basedir);
|
||||
|
||||
if ( $fulldir =~ /^\s*(.*?inprogress\-)(\d+)(.*?)\s*$/ )
|
||||
{
|
||||
my $pre_inprogress = $1; # $pre still contains "inprogress"
|
||||
my $number = $2;
|
||||
my $post = $3;
|
||||
my $pre_witherror = $pre_inprogress;
|
||||
$pre_witherror =~ s/inprogress/witherror/;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$alldirs}; $i++ )
|
||||
{
|
||||
if ( ${$alldirs}[$i] eq $fulldir ) { next; } # do not delete the newly created directory
|
||||
|
||||
if ( ${$alldirs}[$i] =~ /^\s*\Q$pre_inprogress\E\d+\Q$post\E\s*$/ ) # removing old "inprogress" directories
|
||||
{
|
||||
installer::systemactions::remove_complete_directory(${$alldirs}[$i], 1);
|
||||
}
|
||||
|
||||
if ( ${$alldirs}[$i] =~ /^\s*\Q$pre_witherror\E\d+\Q$post\E\s*$/ ) # removing old "witherror" directories
|
||||
{
|
||||
installer::systemactions::remove_complete_directory(${$alldirs}[$i], 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
###############################################################
|
||||
# Creating the installation directory structure
|
||||
###############################################################
|
||||
@@ -1035,32 +994,6 @@ sub analyze_patch_files
|
||||
return \@filesarray;
|
||||
}
|
||||
|
||||
###########################################################
|
||||
# Sorting an array
|
||||
###########################################################
|
||||
|
||||
sub sort_array
|
||||
{
|
||||
my ( $arrayref ) = @_;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
|
||||
{
|
||||
my $under = ${$arrayref}[$i];
|
||||
|
||||
for ( my $j = $i + 1; $j <= $#{$arrayref}; $j++ )
|
||||
{
|
||||
my $over = ${$arrayref}[$j];
|
||||
|
||||
if ( $under gt $over)
|
||||
{
|
||||
${$arrayref}[$i] = $over;
|
||||
${$arrayref}[$j] = $under;
|
||||
$under = $over;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
###########################################################
|
||||
# Renaming linux files with flag LINUXLINK
|
||||
###########################################################
|
||||
@@ -1466,167 +1399,6 @@ sub replace_variables_in_string
|
||||
return $string;
|
||||
}
|
||||
|
||||
###########################################################
|
||||
# Replacing %-variables with the content
|
||||
# of $allvariableshashref
|
||||
###########################################################
|
||||
|
||||
sub replace_dollar_variables_in_string
|
||||
{
|
||||
my ( $string, $variableshashref ) = @_;
|
||||
|
||||
if ( $string =~ /^.*\$\{\w+\}.*$/ )
|
||||
{
|
||||
my $key;
|
||||
|
||||
foreach $key (keys %{$variableshashref})
|
||||
{
|
||||
my $value = $variableshashref->{$key};
|
||||
$key = "\$\{" . $key . "\}";
|
||||
$string =~ s/\Q$key\E/$value/g;
|
||||
}
|
||||
}
|
||||
|
||||
return $string;
|
||||
}
|
||||
|
||||
###########################################################
|
||||
# The list file contains the list of packages/RPMs that
|
||||
# have to be copied.
|
||||
###########################################################
|
||||
|
||||
sub get_all_files_from_filelist
|
||||
{
|
||||
my ( $listfile, $section ) = @_;
|
||||
|
||||
my @allpackages = ();
|
||||
|
||||
for (@{$listfile}) {
|
||||
next unless /^\s*([^#].*?)\s*$/;
|
||||
push @allpackages, $1;
|
||||
}
|
||||
|
||||
return \@allpackages;
|
||||
}
|
||||
|
||||
###########################################################
|
||||
# Getting one section from a file. Section begins with
|
||||
# [xyz] and ends with file end or next [abc].
|
||||
###########################################################
|
||||
|
||||
sub get_section_from_file
|
||||
{
|
||||
my ($file, $sectionname) = @_;
|
||||
|
||||
my @section = ();
|
||||
my $record = 0;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$file}; $i++ )
|
||||
{
|
||||
my $line = ${$file}[$i];
|
||||
|
||||
if (( $record ) && ( $line =~ /^\s*\[/ ))
|
||||
{
|
||||
$record = 0;
|
||||
last;
|
||||
}
|
||||
|
||||
if ( $line =~ /^\s*\[\Q$sectionname\E\]\s*$/ ) { $record = 1; }
|
||||
|
||||
if ( $line =~ /^\s*\[/ ) { next; } # this is a section line
|
||||
if ( $line =~ /^\s*\#/ ) { next; } # this is a comment line
|
||||
if ( $line =~ /^\s*$/ ) { next; } # empty line
|
||||
$line =~ s/^\s*//;
|
||||
$line =~ s/\s*$//;
|
||||
if ( $record ) { push(@section, $line); }
|
||||
}
|
||||
|
||||
return \@section;
|
||||
|
||||
}
|
||||
|
||||
#######################################################
|
||||
# Substituting one variable in the xml file
|
||||
#######################################################
|
||||
|
||||
sub replace_one_dollar_variable
|
||||
{
|
||||
my ($file, $variable, $searchstring) = @_;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$file}; $i++ )
|
||||
{
|
||||
${$file}[$i] =~ s/\$\{$searchstring\}/$variable/g;
|
||||
}
|
||||
}
|
||||
|
||||
#######################################################
|
||||
# Substituting the variables in the xml file
|
||||
#######################################################
|
||||
|
||||
sub substitute_dollar_variables
|
||||
{
|
||||
my ($file, $variableshashref) = @_;
|
||||
|
||||
my $key;
|
||||
|
||||
foreach $key (keys %{$variableshashref})
|
||||
{
|
||||
my $value = $variableshashref->{$key};
|
||||
replace_one_dollar_variable($file, $value, $key);
|
||||
}
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
# Collecting all packages or rpms located in the installation directory
|
||||
#############################################################################
|
||||
|
||||
sub get_all_packages_in_installdir
|
||||
{
|
||||
my ($directory) = @_;
|
||||
|
||||
my $infoline = "";
|
||||
|
||||
my @allpackages = ();
|
||||
my $allpackages = \@allpackages;
|
||||
|
||||
if ( $installer::globals::isrpmbuild )
|
||||
{
|
||||
$allpackages = installer::systemactions::find_file_with_file_extension("rpm", $directory);
|
||||
}
|
||||
|
||||
if ( $installer::globals::issolarisbuild )
|
||||
{
|
||||
$allpackages = installer::systemactions::get_all_directories($directory);
|
||||
}
|
||||
|
||||
return $allpackages;
|
||||
}
|
||||
|
||||
###############################################################
|
||||
# The list of exclude packages can contain the
|
||||
# beginning of the package name, not the complete name.
|
||||
###############################################################
|
||||
|
||||
sub is_matching
|
||||
{
|
||||
my ($onepackage, $allexcludepackages ) = @_;
|
||||
|
||||
my $matches = 0;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$allexcludepackages}; $i++ )
|
||||
{
|
||||
my $oneexcludepackage = ${$allexcludepackages}[$i];
|
||||
|
||||
if ( $onepackage =~ /^\s*$oneexcludepackage/ )
|
||||
{
|
||||
$matches = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
return $matches;
|
||||
}
|
||||
|
||||
######################################################
|
||||
# Making systemcall
|
||||
######################################################
|
||||
@@ -1719,54 +1491,6 @@ sub collect_scpactions
|
||||
}
|
||||
}
|
||||
|
||||
#################################################################
|
||||
# Setting the platform name for download
|
||||
#################################################################
|
||||
|
||||
sub get_platform_name
|
||||
{
|
||||
my $platformname = "";
|
||||
|
||||
if (( $installer::globals::islinuxintelrpmbuild ) || ( $installer::globals::islinuxinteldebbuild ))
|
||||
{
|
||||
$platformname = "LinuxIntel";
|
||||
}
|
||||
elsif (( $installer::globals::islinuxppcrpmbuild ) || ( $installer::globals::islinuxppcdebbuild ))
|
||||
{
|
||||
$platformname = "LinuxPowerPC";
|
||||
}
|
||||
elsif (( $installer::globals::islinuxx86_64rpmbuild ) || ( $installer::globals::islinuxx86_64debbuild ))
|
||||
{
|
||||
$platformname = "LinuxX86-64";
|
||||
}
|
||||
elsif ( $installer::globals::issolarissparcbuild )
|
||||
{
|
||||
$platformname = "SolarisSparc";
|
||||
}
|
||||
elsif ( $installer::globals::issolarisx86build )
|
||||
{
|
||||
$platformname = "Solarisx86";
|
||||
}
|
||||
elsif ( $installer::globals::iswindowsbuild )
|
||||
{
|
||||
$platformname = "Win32Intel";
|
||||
}
|
||||
elsif ( $installer::globals::compiler =~ /^unxmacxi/ )
|
||||
{
|
||||
$platformname = "MacOSXIntel";
|
||||
}
|
||||
elsif ( $installer::globals::compiler =~ /^unxmacxp/ )
|
||||
{
|
||||
$platformname = "MacOSXPowerPC";
|
||||
}
|
||||
else
|
||||
{
|
||||
$platformname = $installer::globals::compiler;
|
||||
}
|
||||
|
||||
return $platformname;
|
||||
}
|
||||
|
||||
###########################################################
|
||||
# Adding additional variables into the variableshashref,
|
||||
# that are defined in include files in the solver. The
|
||||
@@ -1902,33 +1626,6 @@ sub find_file_by_id
|
||||
return $onefile;
|
||||
}
|
||||
|
||||
##############################################
|
||||
# Searching for an item with the gid
|
||||
##############################################
|
||||
|
||||
sub find_item_by_gid
|
||||
{
|
||||
my ( $itemsref, $gid ) = @_;
|
||||
|
||||
my $founditem = 0;
|
||||
my $oneitem = "";
|
||||
|
||||
for ( my $i = 0; $i <= $#{$itemsref}; $i++ )
|
||||
{
|
||||
my $localitem = ${$itemsref}[$i];
|
||||
my $itemgid = $localitem->{'gid'};
|
||||
|
||||
if ( $itemgid eq $gid )
|
||||
{
|
||||
$oneitem = $localitem;
|
||||
$founditem = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
return $oneitem;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Calling sum
|
||||
#########################################################
|
||||
@@ -2008,86 +1705,6 @@ sub call_wc
|
||||
return $wcoutput;
|
||||
}
|
||||
|
||||
##############################################
|
||||
# Setting architecture ARCH=i86pc
|
||||
# instead of ARCH=i386.
|
||||
##############################################
|
||||
|
||||
sub set_old_architecture_string
|
||||
{
|
||||
my ($pkginfofile) = @_;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$pkginfofile}; $i++ )
|
||||
{
|
||||
if ( ${$pkginfofile}[$i] =~ /^\s*ARCH=i386\s*$/ )
|
||||
{
|
||||
${$pkginfofile}[$i] =~ s/i386/i86pc/;
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
##############################################
|
||||
# For the new copied package, it is necessary
|
||||
# that a value for the key SUNW_REQUIRES
|
||||
# is set. Otherwise this copied package
|
||||
# with ARCH=i86pc would be useless.
|
||||
##############################################
|
||||
|
||||
sub check_requires_setting
|
||||
{
|
||||
my ($pkginfofile) = @_;
|
||||
|
||||
my $found = 0;
|
||||
my $patchid = "";
|
||||
|
||||
for ( my $i = 0; $i <= $#{$pkginfofile}; $i++ )
|
||||
{
|
||||
if ( ${$pkginfofile}[$i] =~ /^\s*SUNW_REQUIRES=(\S*?)\s*$/ )
|
||||
{
|
||||
$patchid = $1;
|
||||
$found = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
if (( ! $found ) || ( $patchid eq "" )) { installer::exiter::exit_program("ERROR: No patch id defined for SUNW_REQUIRES in patch pkginfo file!", "check_requires_setting"); }
|
||||
}
|
||||
|
||||
##############################################
|
||||
# Setting checksum and wordcount for changed
|
||||
# pkginfo file into pkgmap.
|
||||
##############################################
|
||||
|
||||
sub set_pkginfo_line
|
||||
{
|
||||
my ($pkgmapfile, $pkginfofilename) = @_;
|
||||
|
||||
# 1 i pkginfo 442 34577 1166716297
|
||||
# ->
|
||||
# 1 i pkginfo 443 34737 1166716297
|
||||
#
|
||||
# wc -c pkginfo | cut -f6 -d' ' -> 442 (variable)
|
||||
# sum pkginfo | cut -f1 -d' ' -> 34577 (variable)
|
||||
# grep 'pkginfo' pkgmap | cut -f6 -d' ' -> 1166716297 (fix)
|
||||
|
||||
my $checksum = call_sum($pkginfofilename);
|
||||
if ( $checksum =~ /^\s*(\d+)\s+.*$/ ) { $checksum = $1; }
|
||||
|
||||
my $wordcount = call_wc($pkginfofilename);
|
||||
if ( $wordcount =~ /^\s*(\d+)\s+.*$/ ) { $wordcount = $1; }
|
||||
|
||||
for ( my $i = 0; $i <= $#{$pkgmapfile}; $i++ )
|
||||
{
|
||||
if ( ${$pkgmapfile}[$i] =~ /(^.*\bpkginfo\b\s+)(\d+)(\s+)(\d+)(\s+)(\d+)(\s*$)/ )
|
||||
{
|
||||
my $newline = $1 . $wordcount . $3 . $checksum . $5 . $6 . $7;
|
||||
${$pkgmapfile}[$i] = $newline;
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
##############################################
|
||||
# Setting time stamp of copied files to avoid
|
||||
# errors from pkgchk.
|
||||
@@ -2122,33 +1739,6 @@ sub set_time_stamp
|
||||
}
|
||||
}
|
||||
|
||||
############################################################
|
||||
# Generating paths for cygwin (first version)
|
||||
# This function has problems with cygwin, if $tmpfilename
|
||||
# contains many thousand files (OpenOffice SDK).
|
||||
############################################################
|
||||
|
||||
sub generate_cygwin_paths_old
|
||||
{
|
||||
my ($filesref) = @_;
|
||||
|
||||
my ($tmpfilehandle, $tmpfilename) = tmpnam();
|
||||
open SOURCEPATHLIST, ">$tmpfilename" or die "oops...\n";
|
||||
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
|
||||
{
|
||||
print SOURCEPATHLIST "${$filesref}[$i]->{'sourcepath'}\n";
|
||||
}
|
||||
close SOURCEPATHLIST;
|
||||
my @cyg_sourcepathlist = qx{cygpath -w -f "$tmpfilename"};
|
||||
chomp @cyg_sourcepathlist;
|
||||
unlink "$tmpfilename" or die "oops\n";
|
||||
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
|
||||
{
|
||||
${$filesref}[$i]->{'cyg_sourcepath'} = $cyg_sourcepathlist[$i];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#################################################
|
||||
# Generating paths for cygwin (second version)
|
||||
# This function generates smaller files for
|
||||
@@ -2235,29 +1825,6 @@ sub generate_cygwin_paths
|
||||
installer::logger::include_timestamp_into_logfile("Ending generating cygwin paths");
|
||||
}
|
||||
|
||||
##############################################
|
||||
# Include only files from install directory
|
||||
# in pkgmap file.
|
||||
##############################################
|
||||
|
||||
sub filter_pkgmapfile
|
||||
{
|
||||
my ($pkgmapfile) = @_;
|
||||
|
||||
my @pkgmap = ();
|
||||
|
||||
my $line = ": 1 10\n";
|
||||
push(@pkgmap, $line);
|
||||
|
||||
for ( my $i = 0; $i <= $#{$pkgmapfile}; $i++ )
|
||||
{
|
||||
$line = ${$pkgmapfile}[$i];
|
||||
if ( $line =~ /^\s*1\si\s/ ) { push(@pkgmap, $line); }
|
||||
}
|
||||
|
||||
return \@pkgmap;
|
||||
}
|
||||
|
||||
################################################
|
||||
# Files with flag HIDDEN get a dot at the
|
||||
# beginning of the file name. This cannot be
|
||||
@@ -2490,22 +2057,6 @@ sub put_license_into_setup
|
||||
installer::files::save_file($setupfilename, $setupfile);
|
||||
}
|
||||
|
||||
################################################
|
||||
# Setting global path to getuid.so library
|
||||
################################################
|
||||
|
||||
sub set_getuid_path
|
||||
{
|
||||
my ($includepatharrayref) = @_;
|
||||
|
||||
my $getuidlibraryname = "getuid.so";
|
||||
my $getuidlibraryref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$getuidlibraryname, $includepatharrayref, 0);
|
||||
if ($$getuidlibraryref eq "") { installer::exiter::exit_program("ERROR: Could not find $getuidlibraryname!", "set_getuid_path"); }
|
||||
|
||||
$installer::globals::getuidpath = $$getuidlibraryref;
|
||||
$installer::globals::getuidpathset = 1;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Create a tar file from the binary package
|
||||
#########################################################
|
||||
@@ -2543,38 +2094,6 @@ sub tar_package
|
||||
return $filesize;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Create a tar file from the binary package
|
||||
#########################################################
|
||||
|
||||
sub untar_package
|
||||
{
|
||||
my ( $installdir, $tarfilename, $getuidlibrary) = @_;
|
||||
|
||||
my $ldpreloadstring = "";
|
||||
if ( $getuidlibrary ne "" ) { $ldpreloadstring = "LD_PRELOAD=" . $getuidlibrary; }
|
||||
|
||||
my $systemcall = "cd $installdir; $ldpreloadstring tar -xf $tarfilename";
|
||||
|
||||
my $returnvalue = system($systemcall);
|
||||
|
||||
my $infoline = "Systemcall: $systemcall\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
|
||||
if ($returnvalue)
|
||||
{
|
||||
$infoline = "ERROR: Could not execute \"$systemcall\"!\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$infoline = "Success: Executed \"$systemcall\" successfully!\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
|
||||
chmod 0775, $tarfilename;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Shuffle an array (Fisher Yates shuffle)
|
||||
#########################################################
|
||||
|
@@ -48,23 +48,6 @@ sub convert_array_to_hash
|
||||
return \%newhash;
|
||||
}
|
||||
|
||||
sub convert_hash_into_array
|
||||
{
|
||||
my ($hashref) = @_;
|
||||
|
||||
my @array = ();
|
||||
my ($key, $value, $input);
|
||||
|
||||
foreach $key (keys %{$hashref})
|
||||
{
|
||||
$value = $hashref->{$key};
|
||||
$input = "$key = $value\n";
|
||||
push(@array ,$input);
|
||||
}
|
||||
|
||||
return \@array
|
||||
}
|
||||
|
||||
sub convert_stringlist_into_array_2
|
||||
{
|
||||
my ( $input, $separator ) = @_;
|
||||
|
@@ -1,66 +0,0 @@
|
||||
#
|
||||
# This file is part of the LibreOffice project.
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# This file incorporates work covered by the following license notice:
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed
|
||||
# with this work for additional information regarding copyright
|
||||
# ownership. The ASF licenses this file to you under the Apache
|
||||
# License, Version 2.0 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
#
|
||||
|
||||
|
||||
package par2script::shortcut;
|
||||
|
||||
use par2script::work;
|
||||
|
||||
############################################################
|
||||
# Writing shortcuts to files behind the correct files and
|
||||
# then shortcuts to shortcuts behind these shortcuts.
|
||||
############################################################
|
||||
|
||||
sub shift_shortcut_positions
|
||||
{
|
||||
my ($script) = @_;
|
||||
|
||||
my $allshortcutgids = par2script::work::get_all_gids_from_script($script, "Shortcut");
|
||||
|
||||
# first all shortcuts that are assigned to files
|
||||
|
||||
for ( my $i = 0; $i <= $#{$allshortcutgids}; $i++ )
|
||||
{
|
||||
my $codeblock = par2script::work::get_definitionblock_from_script($script, ${$allshortcutgids}[$i]);
|
||||
|
||||
my $filegid = par2script::work::get_value_from_definitionblock($codeblock, "FileID");
|
||||
|
||||
if (!($filegid eq ""))
|
||||
{
|
||||
par2script::work::remove_definitionblock_from_script($script, ${$allshortcutgids}[$i]);
|
||||
par2script::work::add_definitionblock_into_script($script, $codeblock, $filegid);
|
||||
}
|
||||
}
|
||||
|
||||
# secondly all shortcuts that are assigned to other shortcuts
|
||||
|
||||
for ( my $i = 0; $i <= $#{$allshortcutgids}; $i++ )
|
||||
{
|
||||
my $codeblock = par2script::work::get_definitionblock_from_script($script, ${$allshortcutgids}[$i]);
|
||||
my $shortcutgid = par2script::work::get_value_from_definitionblock($codeblock, "ShortcutID");
|
||||
|
||||
if (!($shortcutgid eq ""))
|
||||
{
|
||||
par2script::work::remove_definitionblock_from_script($script, ${$allshortcutgids}[$i]);
|
||||
par2script::work::add_definitionblock_into_script($script, $codeblock, $shortcutgid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
1;
|
@@ -289,22 +289,6 @@ sub getlangfilename
|
||||
return $pre2par::globals::langfilename;
|
||||
}
|
||||
|
||||
###################################################
|
||||
# Creating the ulf file name from the
|
||||
# corresponding pre file name
|
||||
###################################################
|
||||
|
||||
sub getulffilename
|
||||
{
|
||||
my ($prefilename) = @_;
|
||||
|
||||
my $ulffilename = $prefilename;
|
||||
$ulffilename =~ s/\.pre\s*$/\.ulf/;
|
||||
pre2par::pathanalyzer::make_absolute_filename_to_relative_filename(\$ulffilename);
|
||||
|
||||
return $ulffilename;
|
||||
}
|
||||
|
||||
############################################
|
||||
# Checking if a file exists
|
||||
############################################
|
||||
|
Reference in New Issue
Block a user