summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2013-01-08 23:47:02 +0200
committerMiklos Vajna <vmiklos@suse.cz>2013-01-10 09:32:36 +0000
commit26c142ca5f2b405b02ab5701dfaeab7bf281a727 (patch)
tree5f13ab387169c4a17ce6c1304430e23eb49f868d /solenv
parenta5838b19bc774efd261c1d6c78a2b6eb62f1b502 (diff)
Kill the ancient StarOffice "patch" concept
For Windows, superseded by Windows Installer patching (i.e., creating .msp files), which is something completely different. (And quite hard to get working... but still a saner approach, I think.) For Linux, many distros use delta RPMs or similar, so no home-grown LO-specific patching mechanism is needed. Remove the -patch and -patchinc command-line options to make_installer.pl and all code that was invoked only when using those. Remove the PATCH and PATCH_ONLY flags in scp2. Remove the patchmsi.dll Windows Installer custom action. Change-Id: I09e949e601a969f88eff60067faa2352f4f89537 Reviewed-on: https://gerrit.libreoffice.org/1605 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Miklos Vajna <vmiklos@suse.cz>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/bin/modules/installer.pm78
-rw-r--r--solenv/bin/modules/installer/archivefiles.pm67
-rw-r--r--solenv/bin/modules/installer/control.pm1
-rw-r--r--solenv/bin/modules/installer/epmfile.pm468
-rw-r--r--solenv/bin/modules/installer/globals.pm6
-rw-r--r--solenv/bin/modules/installer/parameter.pm31
-rw-r--r--solenv/bin/modules/installer/scriptitems.pm67
-rwxr-xr-xsolenv/bin/modules/installer/simplepackage.pm16
-rw-r--r--solenv/bin/modules/installer/systemactions.pm1
-rw-r--r--solenv/bin/modules/installer/windows/createfolder.pm2
-rw-r--r--solenv/bin/modules/installer/windows/directory.pm5
-rw-r--r--solenv/bin/modules/installer/windows/feature.pm1
-rw-r--r--solenv/bin/modules/installer/windows/idtglobal.pm29
-rw-r--r--solenv/bin/modules/installer/windows/inifile.pm19
-rwxr-xr-xsolenv/bin/modules/installer/windows/mergemodule.pm2
-rw-r--r--solenv/bin/modules/installer/windows/msiglobal.pm16
-rw-r--r--solenv/bin/modules/installer/windows/property.pm40
-rw-r--r--solenv/bin/modules/installer/windows/upgrade.pm109
-rw-r--r--solenv/bin/modules/installer/worker.pm383
-rw-r--r--solenv/bin/modules/installer/ziplist.pm3
-rwxr-xr-xsolenv/bin/oochkpatch23
-rw-r--r--solenv/bin/oochkpatch.pl292
22 files changed, 69 insertions, 1590 deletions
diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/installer.pm
index 76455f1c84ee..4df3bc759b42 100644
--- a/solenv/bin/modules/installer.pm
+++ b/solenv/bin/modules/installer.pm
@@ -298,7 +298,6 @@ sub run {
my $dirsinproductarrayref = installer::setupscript::get_all_items_from_script($setupscriptref, "Directory");
if ( $installer::globals::languagepack ) { installer::scriptitems::use_langpack_hostname($dirsinproductarrayref); }
- if ( $installer::globals::patch ) { installer::scriptitems::use_patch_hostname($dirsinproductarrayref); }
if ( $allvariableshashref->{'SHIFT_BASIS_INTO_BRAND_LAYER'} ) { $dirsinproductarrayref = installer::scriptitems::shift_basis_directory_parents($dirsinproductarrayref); }
if ( $allvariableshashref->{'OFFICEDIRECTORYNAME'} ) { installer::scriptitems::set_officedirectory_name($dirsinproductarrayref, $allvariableshashref->{'OFFICEDIRECTORYNAME'}); }
@@ -329,11 +328,6 @@ sub run {
$filesinproductarrayref = installer::scriptitems::remove_Helppacklibraries_from_Installset($filesinproductarrayref);
}
- if (! $installer::globals::patch)
- {
- $filesinproductarrayref = installer::scriptitems::remove_patchonlyfiles_from_Installset($filesinproductarrayref);
- }
-
installer::logger::print_message( "... analyzing scpactions ... \n" );
my $scpactionsinproductarrayref = installer::setupscript::get_all_items_from_script($setupscriptref, "ScpAction");
@@ -341,7 +335,6 @@ sub run {
if ( $installer::globals::languagepack ) { installer::scriptitems::use_langpack_copy_scpaction($scpactionsinproductarrayref); }
if ( $installer::globals::helppack ) { installer::scriptitems::use_langpack_copy_scpaction($scpactionsinproductarrayref); }
if ( $allvariableshashref->{'PRODUCTNAME'} eq "LibO-dev" ) { installer::scriptitems::use_devversion_copy_scpaction($scpactionsinproductarrayref); }
- if ( $installer::globals::patch ) { installer::scriptitems::use_patch_copy_scpaction($scpactionsinproductarrayref); }
installer::scriptitems::change_keys_of_scpactions($scpactionsinproductarrayref);
@@ -442,12 +435,6 @@ sub run {
installer::logger::print_message( "------------------------------------\n" );
installer::logger::print_message( "... languages $$languagestringref ... \n" );
- if ( $installer::globals::patch )
- {
- $installer::globals::addlicensefile = 0; # no license files for patches
- $installer::globals::makedownload = 0;
- }
-
if ( $installer::globals::languagepack )
{
$installer::globals::addsystemintegration = 0;
@@ -743,7 +730,7 @@ sub run {
my $profilesinproductlanguageresolvedarrayref;
my $profileitemsinproductlanguageresolvedarrayref;
- if ((!($installer::globals::is_copy_only_project)) && (!($installer::globals::product =~ /ada/i )) && (!($installer::globals::languagepack)) && (!($installer::globals::helppack)))
+ if ((!($installer::globals::is_copy_only_project)) && (!($installer::globals::languagepack)) && (!($installer::globals::helppack)))
{
installer::logger::print_message( "... creating profiles ...\n" );
@@ -757,6 +744,8 @@ sub run {
installer::scriptitems::replace_setup_variables($profileitemsinproductlanguageresolvedarrayref, $languagestringref, $allvariableshashref);
+ # Note that patch_user_dir is not related to the killed
+ # ancient (not MSP) "patch" thing, I think.
if ( $installer::globals::patch_user_dir )
{
installer::scriptitems::replace_userdir_variable($profileitemsinproductlanguageresolvedarrayref);
@@ -878,32 +867,6 @@ sub run {
}
- # Collecting all files without flag PATCH (for maintenance reasons)
- if ( $installer::globals::patch ) { installer::worker::collect_all_files_without_patch_flag($filesinproductlanguageresolvedarrayref); }
-
- # Patch projects can now start to select the required information
- if (( $installer::globals::patch ) && (( $installer::globals::issolarispkgbuild ) || ( $installer::globals::iswindowsbuild )))
- {
- $filesinproductlanguageresolvedarrayref = installer::worker::select_patch_items($filesinproductlanguageresolvedarrayref, "File");
- $scpactionsinproductlanguageresolvedarrayref = installer::worker::select_patch_items($scpactionsinproductlanguageresolvedarrayref, "ScpAction");
- $linksinproductlanguageresolvedarrayref = installer::worker::select_patch_items($linksinproductlanguageresolvedarrayref, "Shortcut");
- $unixlinksinproductlanguageresolvedarrayref = installer::worker::select_patch_items($unixlinksinproductlanguageresolvedarrayref, "Unixlink");
- $folderitemsinproductlanguageresolvedarrayref = installer::worker::select_patch_items($folderitemsinproductlanguageresolvedarrayref, "FolderItem");
- # @{$folderitemsinproductlanguageresolvedarrayref} = (); # no folderitems in languagepacks
-
- if ( $installer::globals::iswindowsbuild )
- {
- $registryitemsinproductlanguageresolvedarrayref = installer::worker::select_patch_items_without_name($registryitemsinproductlanguageresolvedarrayref, "RegistryItem");
-
- installer::worker::prepare_windows_patchfiles($filesinproductlanguageresolvedarrayref, $languagestringref, $allvariableshashref);
-
- # For Windows patches, the directories can now be collected again
- ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_from_filesarray($filesinproductlanguageresolvedarrayref);
-
- @$directoriesforepmarrayref = sort { $a->{"HostName"} cmp $b->{"HostName"} } @$directoriesforepmarrayref;
- }
- }
-
#########################################################
# Collecting all scp actions
#########################################################
@@ -1012,8 +975,6 @@ sub run {
my $shellscriptsfilename = "";
if ( $onepackage->{'script'} ) { $shellscriptsfilename = $onepackage->{'script'}; }
- # no scripts for Solaris patches!
- if (( $installer::globals::patch ) && ( $installer::globals::issolarispkgbuild )) { $shellscriptsfilename = ""; }
###########################
# package name
@@ -1101,22 +1062,6 @@ sub run {
next; # next package, end of loop !
}
- #################################################################
- # nothing to do for Linux patches, if no file has flag PATCH
- #################################################################
-
- # Linux Patch: The complete RPM has to be built, if one file in the RPM has the flag PATCH (also for DEBs)
- if (( $installer::globals::patch ) && (( $installer::globals::isrpmbuild ) || ( $installer::globals::isdebbuild )))
- {
- my $patchfiles = installer::worker::collect_all_items_with_special_flag($filesinpackage ,"PATCH");
- if ( ! ( $#{$patchfiles} > -1 ))
- {
- $infoline = "\n\nLinux Patch: No patch file in package: $packagename \-\> Skipping\n\n";
- push(@installer::globals::logfileinfo, $infoline);
- next;
- }
- }
-
###########################################
# Stripping libraries
###########################################
@@ -1152,18 +1097,6 @@ sub run {
my $epmheaderref = installer::epmfile::create_epm_header($allvariableshashref, $filesinproductlanguageresolvedarrayref, $languagesarrayref, $onepackage);
installer::epmfile::adding_header_to_epm_file(\@epmfile, $epmheaderref);
- if (( $installer::globals::patch ) && ( $installer::globals::issolarispkgbuild ))
- {
- $filesinpackage = installer::worker::analyze_patch_files($filesinpackage);
-
- if ( ! ( $#{$filesinpackage} > -1 ))
- {
- $infoline = "\nNo file in package: $packagename \-\> Skipping\n";
- push(@installer::globals::logfileinfo, $infoline);
- next; # next package, end of loop !
- }
- }
-
# adding directories, files and links into epm file
installer::epmfile::put_directories_into_epmfile($dirsinpackage, \@epmfile, $allvariableshashref, $packagerootpath);
@@ -1292,10 +1225,6 @@ sub run {
# Creating installation set for Unix help packs, that are not part of multi lingual installation sets
if ( ( $installer::globals::helppack ) && ( ! $installer::globals::debian ) && ( ! $installer::globals::makedownload ) ) { installer::helppack::build_installer_for_helppack($installer::globals::epmoutpath, $allvariableshashref, $includepatharrayref, $languagesarrayref, $languagestringref); }
- # Finalizing patch installation sets
- if (( $installer::globals::patch ) && ( $installer::globals::issolarispkgbuild )) { installer::epmfile::finalize_patch($installer::globals::epmoutpath, $allvariableshashref); }
- if (( $installer::globals::patch ) && ( $installer::globals::isrpmbuild )) { installer::epmfile::finalize_linux_patch($installer::globals::epmoutpath, $allvariableshashref, $includepatharrayref); }
-
chdir($currentdir); # changing back into start directory
}
@@ -1731,7 +1660,6 @@ sub run {
my $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "downloadname");
if ( $installer::globals::languagepack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "langpackdownloadname"); }
if ( $installer::globals::helppack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "helppackdownloadname"); }
- if ( $installer::globals::patch ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "patchdownloadname"); }
if ( $$downloadname ne "" ) { $create_download = 1; }
if ( $installer::globals::iswindowsbuild )
diff --git a/solenv/bin/modules/installer/archivefiles.pm b/solenv/bin/modules/installer/archivefiles.pm
index bd26953f7c4a..11498f836de9 100644
--- a/solenv/bin/modules/installer/archivefiles.pm
+++ b/solenv/bin/modules/installer/archivefiles.pm
@@ -212,18 +212,6 @@ sub resolving_archive_flag
my $select_patch_files = 0;
my $patchlistfiles = "";
my @keptpatchflags = ();
- if (( $styles =~ /\bPATCH\b/ ) && ( $onefile->{'Patchfiles'} ) && ( $installer::globals::patch ))
- {
- $select_patch_files = 1; # special handling if a Patchlist is defined
- $patchlistfiles = get_patch_file_list( $onefile->{'Patchfiles'} );
- $infoline = "Patch file list defined at file: $onefile->{'Name'} :\n";
- push( @installer::globals::logfileinfo, $infoline);
- for ( my $k = 0; $k <= $#{$patchlistfiles}; $k++ )
- {
- $infoline = "\"${$patchlistfiles}[$k]\"\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
- }
if ( $onefile->{'Patchfiles'} ) { $onefile->{'Patchfiles'} = ""; } # Patch file list no longer required
@@ -398,24 +386,6 @@ sub resolving_archive_flag
}
}
- if ( $select_patch_files )
- {
- # Is this file listed in the Patchfile list?
- # $zipname (filename including path in zip file has to be listed in patchfile list
-
- if ( ! grep {$_ eq $zipname} @{$patchlistfiles} )
- {
- $newfile{'Styles'} =~ s/\bPATCH\b//; # removing the flag PATCH
- $newfile{'Styles'} =~ s/\,\s*\,/\,/;
- $newfile{'Styles'} =~ s/\(\s*\,/\(/;
- $newfile{'Styles'} =~ s/\,\s*\)/\)/;
- }
- else
- {
- push( @keptpatchflags, $zipname); # collecting all PATCH flags
- }
- }
-
if ( $rename_to_language )
{
my $newzipname = put_language_into_name($zipname, $onelanguage);
@@ -484,43 +454,6 @@ sub resolving_archive_flag
}
- # Comparing the content of @keptpatchflags and $patchlistfiles
- # Do all files from the patch list have a PATCH flag ?
- # @keptpatchflags contains only files included in $patchlistfiles. But are all
- # files from $patchlistfiles included in @keptpatchflags?
-
- if ( $select_patch_files )
- {
- my $number = $#{$patchlistfiles} + 1;
- $infoline = "PATCHLIST: Number of files in patch list: $number\n";
- push( @installer::globals::logfileinfo, $infoline);
- $number = $#keptpatchflags + 1;
- $infoline = "PATCHLIST: Number of kept PATCH flags: $number\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- for ( my $k = 0; $k <= $#keptpatchflags; $k++ )
- {
- $infoline = "KEPT PATCH FLAGS: $keptpatchflags[$k]\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- my @warningfiles = ();
-
- for ( my $k = 0; $k <= $#{$patchlistfiles}; $k++ )
- {
- if ( ! grep {$_ eq ${$patchlistfiles}[$k]} @keptpatchflags )
- {
- push(@warningfiles, ${$patchlistfiles}[$k]);
- }
- }
-
- for ( my $k = 0; $k <= $#warningfiles; $k++ )
- {
- $infoline = "WARNING: $warningfiles[$k] did not keep PATCH flag (does not exist in zip file)!\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
- }
-
if ( $unziperror )
{
installer::logger::print_warning( "Repeating to unpack $sourcepath! \n" );
diff --git a/solenv/bin/modules/installer/control.pm b/solenv/bin/modules/installer/control.pm
index 3f88c472ec22..6baced7633c3 100644
--- a/solenv/bin/modules/installer/control.pm
+++ b/solenv/bin/modules/installer/control.pm
@@ -484,7 +484,6 @@ sub set_addsystemintegration
if ( $allvariables->{'ADDSYSTEMINTEGRATION'} ) { $installer::globals::addsystemintegration = 1; }
- if ( $installer::globals::patch ) { $installer::globals::addsystemintegration = 0; }
if ( $installer::globals::languagepack ) { $installer::globals::addsystemintegration = 0; }
if ( $installer::globals::helppack ) { $installer::globals::addsystemintegration = 0; }
if (( $installer::globals::packageformat eq "native" ) || ( $installer::globals::packageformat eq "portable" )) { $installer::globals::addsystemintegration = 0; }
diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm
index fa66fd91db8e..58fe27d4bab0 100644
--- a/solenv/bin/modules/installer/epmfile.pm
+++ b/solenv/bin/modules/installer/epmfile.pm
@@ -487,16 +487,16 @@ sub create_epm_header
my $replaces = "";
- if (( $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::patch ))
+ if ( $installer::globals::issolarispkgbuild )
{
$replaces = "solarisreplaces"; # the name in the packagelist
}
- elsif (( $installer::globals::islinuxbuild ) && ( ! $installer::globals::patch ))
+ elsif ( $installer::globals::islinuxbuild )
{
$replaces = "linuxreplaces"; # the name in the packagelist
}
- if (( $replaces ) && ( ! $installer::globals::patch ))
+ if ( $replaces )
{
if ( $onepackage->{$replaces} )
{
@@ -549,13 +549,6 @@ sub create_epm_header
$provides = "freebsdprovides"; # the name in the packagelist
$requires = "freebsdrequires"; # the name in the packagelist
}
- elsif (( $installer::globals::isrpmbuild ) &&
- ( $installer::globals::patch ) &&
- ( exists($onepackage->{'linuxpatchrequires'}) ))
- {
- $provides = "provides"; # the name in the packagelist
- $requires = "linuxpatchrequires"; # the name in the packagelist
- }
else
{
$provides = "provides"; # the name in the packagelist
@@ -1008,124 +1001,6 @@ sub set_revision_in_pkginfo
}
########################################################
-# Setting Patch information for Respin versions
-# into pkginfo file. This prevents Respin versions
-# from patching.
-########################################################
-
-sub set_patchlist_in_pkginfo_for_respin
-{
- my ($changefile, $filename, $allvariables, $packagename) = @_;
-
- my $patchlistname = "SOLSPARCPATCHLISTFORRESPIN";
- if ( $installer::globals::issolarisx86build ) { $patchlistname = "SOLIAPATCHLISTFORRESPIN"; }
-
- if ( $allvariables->{$patchlistname} )
- {
- # patchlist separator is a blank
- my $allpatchesstring = $allvariables->{$patchlistname};
- my @usedpatches = ();
-
- # Analyzing the patchlist
- # Syntax: 120186-10 126411-01(+core-01) -> use 126411-01 only for core-01
- # Syntax: 120186-10 126411-01(-core-01) -> use 126411-01 for all packages except for core-01
- my $allpatches = installer::converter::convert_whitespace_stringlist_into_array(\$allpatchesstring);
-
- for ( my $i = 0; $i <= $#{$allpatches}; $i++ )
- {
- my $patchdefinition = ${$allpatches}[$i];
-
- my $patchid = "";
- my $symbol = "";
- my $constraint = "";
- my $isusedpatch = 0;
-
- if ( $patchdefinition =~ /^\s*(.+)\(([+-])(.+)\)\s*$/ )
- {
- $patchid = $1;
- $symbol = $2;
- $constraint = $3;
- }
- elsif (( $patchdefinition =~ /\(/ ) || ( $patchdefinition =~ /\)/ )) # small syntax check
- {
- # if there is a bracket in the $patchdefinition, but it does not
- # match the if-condition, this is an erroneous definition.
- installer::exiter::exit_program("ERROR: Unknown patch string: $patchdefinition", "set_patchlist_in_pkginfo_for_respin");
- }
- else
- {
- $patchid = $patchdefinition;
- $isusedpatch = 1; # patches without constraint are always included
- }
-
- if ( $symbol ne "" )
- {
- if ( $symbol eq "+" )
- {
- if ( $packagename =~ /^.*\Q$constraint\E\s*$/ ) { $isusedpatch = 1; }
- }
-
- if ( $symbol eq "-" )
- {
- if ( ! ( $packagename =~ /^.*\Q$constraint\E\s*$/ )) { $isusedpatch = 1; }
- }
- }
-
- if ( $isusedpatch ) { push(@usedpatches, $patchid); }
- }
-
- if ( $#usedpatches > -1 )
- {
- my $patchstring = installer::converter::convert_array_to_space_separated_string(\@usedpatches);
-
- my $newline = "PATCHLIST=" . $patchstring . "\n";
- add_one_line_into_file($changefile, $newline, $filename);
-
- # Adding patch info for each used patch in the patchlist
-
- for ( my $i = 0; $i <= $#usedpatches; $i++ )
- {
- my $patchid = $usedpatches[$i];
- my $key = "PATCH_INFO_" . $patchid;
- $key =~ s/\s*$//;
-
- if ( ! $allvariables->{$key} ) { installer::exiter::exit_program("ERROR: No Patch info available in zip list file for $key", "set_patchlist_in_pkginfo"); }
- my $value = set_timestamp_in_patchinfo($allvariables->{$key});
- $newline = $key . "=" . $value . "\n";
-
- add_one_line_into_file($changefile, $newline, $filename);
- }
- }
- }
-}
-
-########################################################
-# Solaris requires, that the time of patch installation
-# must not be empty.
-# Format: Mon Mar 24 11:20:56 PDT 2008
-# Log file: Tue Apr 29 23:26:19 2008 (04:31 min.)
-# Replace string: ${TIMESTAMP}
-########################################################
-
-sub set_timestamp_in_patchinfo
-{
- my ($value) = @_;
-
- my $currenttime = localtime();
-
- if ( $currenttime =~ /^\s*(.+?)(\d\d\d\d)\s*$/ )
- {
- my $start = $1;
- my $year = $2;
- $currenttime = $start . "CET " . $year;
- }
-
- $value =~ s/\$\{TIMESTAMP\}/$currenttime/;
-
- return $value;
-}
-
-########################################################
# Setting MAXINST=1000 into the pkginfo file.
########################################################
@@ -1662,126 +1537,6 @@ sub contains_extension_dir
}
############################################################
-# A Solaris patch contains 7 specific scripts
-############################################################
-
-sub add_scripts_into_prototypefile
-{
- my ($prototypefile, $prototypefilename, $languagestringref, $staticpath) = @_;
-
- # The files are stored in the directory $installer::globals::patchincludepath
- # The file names are available via @installer::globals::solarispatchscripts
-
- my $path = $installer::globals::patchincludepath;
- $path =~ s/\/\s*$//;
- $path = $path . $installer::globals::separator;
-
- my @newlines = ();
- my $is_extension_package = contains_extension_dir($prototypefile);
-
- if ( $is_extension_package )
- {
- for ( my $i = 0; $i <= $#installer::globals::solarispatchscriptsforextensions; $i++ )
- {
- my $sourcefilename = $path . $installer::globals::solarispatchscriptsforextensions[$i];
- my $destfile = $installer::globals::solarispatchscriptsforextensions[$i];
-
- # If the sourcepath has "_extension" in its name, this has to be removed
- $destfile =~ s/_extensions\s*$//; # hard coded renaming of script name
-
- # Creating unique directory name with $prototypefilename
- my $extensiondir = installer::systemactions::create_directories("extensionscripts", $languagestringref);
-
- if ( $prototypefilename =~ /\/(\S*?)\s*$/ ) { $prototypefilename = $1; }
- $prototypefilename =~ s/\./_/g;
- my $destdir = $extensiondir . $installer::globals::separator . $prototypefilename;
- if ( ! -d $destdir ) { installer::systemactions::create_directory($destdir); }
- my $destpath = $destdir . $installer::globals::separator . $destfile;
- if ( -f $destpath ) { unlink($destpath); }
-
- # Reading file
- my $scriptfile = installer::files::read_file($sourcefilename);
-
- # Replacing variables
- my $oldstring = "PRODUCTDIRECTORYNAME";
- replace_variables_in_shellscripts_for_patch($scriptfile, $destpath, $oldstring, $staticpath);
-
- # Saving file
- installer::files::save_file($destpath, $scriptfile);
-
- # Writing file destination into prototype file
- my $line = "i $destfile=" . $destpath . "\n";
- push(@newlines, $line);
- }
- }
- else
- {
- for ( my $i = 0; $i <= $#installer::globals::solarispatchscripts; $i++ )
- {
- my $line = "i $installer::globals::solarispatchscripts[$i]=" . $path . $installer::globals::solarispatchscripts[$i] . "\n";
- push(@newlines, $line);
- }
- }
-
- # Including the new lines after the last line starting with "i"
-
- for ( my $i = 0; $i <= $#{$prototypefile}; $i++ )
- {
- if ( ${$prototypefile}[$i] =~ /^\s*i\s+copyright/ )
- {
- splice(@{$prototypefile}, $i, 1); # ignoring old copyright text, using patch standard
- next;
- }
- if ( ${$prototypefile}[$i] =~ /^\s*i\s+/ ) { next; }
- splice(@{$prototypefile}, $i, 0, @newlines);
- last;
- }
-}
-
-############################################################
-# Adding patch infos in pkginfo file
-############################################################
-
-sub include_patchinfos_into_pkginfo
-{
- my ( $changefile, $filename, $variableshashref ) = @_;
-
- # SUNW_PATCHID=101998-10
- # SUNW_OBSOLETES=114999-01 113999-01
- # SUNW_PKGTYPE=usr
- # SUNW_PKGVERS=1.0
- # SUNW_REQUIRES=126411-01
-
- my $patchidname = "SOLSPARCPATCHID";
- if ( $installer::globals::issolarisx86build ) { $patchidname = "SOLIAPATCHID"; }
-
- if ( ! $variableshashref->{$patchidname} ) { installer::exiter::exit_program("ERROR: Variable $patchidname not defined in zip list file!", "include_patchinfos_into_pkginfo"); }
-
- my $newline = "SUNW_PATCHID=" . $variableshashref->{$patchidname} . "\n";
- add_one_line_into_file($changefile, $newline, $filename);
-
- my $patchobsoletesname = "SOLSPARCPATCHOBSOLETES";
- if ( $installer::globals::issolarisx86build ) { $patchobsoletesname = "SOLIAPATCHOBSOLETES"; }
-
- my $obsoletes = "";
- if ( $variableshashref->{$patchobsoletesname} ) { $obsoletes = $variableshashref->{$patchobsoletesname}; }
- $newline = "SUNW_OBSOLETES=" . $obsoletes . "\n";
- add_one_line_into_file($changefile, $newline, $filename);
-
- my $patchrequiresname = "SOLSPARCPATCHREQUIRES";
- if ( $installer::globals::issolarisx86build ) { $patchrequiresname = "SOLIAPATCHREQUIRES"; }
-
- if ( $variableshashref->{$patchrequiresname} )
- {
- my $requires = $variableshashref->{$patchrequiresname};
- $newline = "SUNW_REQUIRES=" . $requires . "\n";
- add_one_line_into_file($changefile, $newline, $filename);
- }
- $newline = "SUNW_PATCH_PROPERTIES=\n";
- add_one_line_into_file($changefile, $newline, $filename);
-}
-
-############################################################
# Setting the correct Solaris locales
############################################################
@@ -1848,53 +1603,6 @@ sub include_languageinfos_into_pkginfo
}
############################################################
-# Collecting all files included in patch in
-# @installer::globals::patchfilecollector
-############################################################
-
-sub collect_patch_files
-{
- my ($file, $packagename, $prefix) = @_;
-
- # $file is the spec file or the prototypefile
-
- $prefix = $prefix . "/";
- my $packagenamestring = "Package " . $packagename . " \:\n";
- push(@installer::globals::patchfilecollector, $packagenamestring);
-
- for ( my $i = 0; $i <= $#{$file}; $i++ )
- {
- my $line = ${$file}[$i];
-
- if ( $installer::globals::isrpmbuild )
- {
- # %attr(0444,root,root) "/opt/openofficeorg20/program/about.bmp"
-
- if ( $line =~ /^\s*\%attr\(.*\)\s*\"(.*?)\"\s*$/ )
- {
- my $filename = $1 . "\n";
- $filename =~ s/^\s*\Q$prefix\E//;
- push(@installer::globals::patchfilecollector, $filename);
- }
- }
-
- if ( $installer::globals::issolarispkgbuild )
- {
- # f none program/msomrl.rdb=/ab/SRC680/unxsols4.pro/bin/msomrl.rdb 0444 root bin
-
- if ( $line =~ /^\s*f\s+\w+\s+(.*?)\=/ )
- {
- my $filename = $1 . "\n";
- push(@installer::globals::patchfilecollector, $filename);
- }
- }
- }
-
- push(@installer::globals::patchfilecollector, "\n");
-
-}
-
-############################################################
# Including package names into the depend files.
# The package names have to be included into
# packagelist. They are already saved in
@@ -1983,7 +1691,6 @@ sub prepare_packages
set_license_in_specfile($changefile, $variableshashref);
set_tab_into_datafile($changefile, $filesref);
installer::files::save_file($completefilename, $changefile);
- if ( $installer::globals::patch ) { collect_patch_files($changefile, $packagename, $localrelocatablepath); }
}
# removing the relocatable path in prototype file
@@ -1994,8 +1701,6 @@ sub prepare_packages
set_maxinst_in_pkginfo($changefile, $filename);
set_solaris_parameter_in_pkginfo($changefile, $filename, $variableshashref);
if ( $installer::globals::issolarisx86build ) { fix_architecture_setting($changefile); }
- if ( ! $installer::globals::patch ) { set_patchlist_in_pkginfo_for_respin($changefile, $filename, $variableshashref, $packagename); }
- if ( $installer::globals::patch ) { include_patchinfos_into_pkginfo($changefile, $filename, $variableshashref); }
if (( $onepackage->{'language'} ) && ( $onepackage->{'language'} ne "" ) && ( $onepackage->{'language'} ne "en-US" )) { include_languageinfos_into_pkginfo($changefile, $filename, $languagestringref, $onepackage, $variableshashref); }
installer::files::save_file($completefilename, $changefile);
@@ -2012,10 +1717,7 @@ sub prepare_packages
installer::files::save_file($completefilename, $changefile);
}
- if ( $installer::globals::patch ) { add_scripts_into_prototypefile($prototypefile, $prototypefilename, $languagestringref, $staticpath); }
-
installer::files::save_file($prototypefilename, $prototypefile);
- if ( $installer::globals::patch ) { collect_patch_files($prototypefile, $packagename, ""); }
# Adding package names into depend files for Solaris (not supported by epm)
my $dependfilename = $packagename . ".depend";
@@ -2817,170 +2519,6 @@ sub analyze_rootpath
}
-######################################################
-# Replacing one variable in patchinfo file
-######################################################
-
-sub replace_one_variable_in_file
-{
- my ( $file, $placeholder, $value ) = @_;
-
- for ( my $i = 0; $i <= $#{$file}; $i++ )
- {
- ${$file}[$i] =~ s/$placeholder/$value/g;
- }
-}
-
-######################################################
-# Setting variables in the patchinfo file
-######################################################
-
-sub set_patchinfo
-{
- my ( $patchinfofile, $patchid, $allvariables ) = @_;
-
- # Setting: PATCHIDPLACEHOLDER and ARCHITECTUREPLACEHOLDER and PATCHCORRECTSPLACEHOLDER
-
- replace_one_variable_in_file($patchinfofile, "PATCHIDPLACEHOLDER", $patchid);
-
- my $architecture = "";
- if ( $installer::globals::issolarissparcbuild ) { $architecture = "sparc"; }
- if ( $installer::globals::issolarisx86build ) { $architecture = "i386"; }
-
- replace_one_variable_in_file($patchinfofile, "ARCHITECTUREPLACEHOLDER", $architecture);
-
- if ( ! $allvariables->{'SOLARISPATCHCORRECTS'} ) { installer::exiter::exit_program("ERROR: No setting for PATCH_CORRECTS in zip list file!", "set_patchinfo"); }
- my $patchcorrects = $allvariables->{'SOLARISPATCHCORRECTS'};
-
- replace_one_variable_in_file($patchinfofile, "PATCHCORRECTSPLACEHOLDER", $patchcorrects);
-
- # Setting also PATCH_REQUIRES in patch info file, if entry in zip list file exists
- my $requiresstring = "";
- if ( $installer::globals::issolarissparcbuild ) { $requiresstring = "SOLSPARCPATCHREQUIRES"; }
- if ( $installer::globals::issolarisx86build ) { $requiresstring = "SOLIAPATCHREQUIRES"; }
-
- if ( $allvariables->{$requiresstring} )
- {
- my $newline = "PATCH_REQUIRES=\"" . $allvariables->{$requiresstring} . "\"" . "\n";
- push(@{$patchinfofile}, $newline);
- }
-}
-
-######################################################
-# Finalizing patch: Renaming directory and
-# including additional patch files.
-######################################################
-
-sub finalize_patch
-{
- my ( $newepmdir, $allvariables ) = @_;
-
- my $patchidname = "SOLSPARCPATCHID";
- if ( $installer::globals::issolarisx86build ) { $patchidname = "SOLIAPATCHID"; }
-
- if ( ! $allvariables->{$patchidname} ) { installer::exiter::exit_program("ERROR: Variable $patchidname not defined in zip list file!", "finalize_patch"); }
- my $patchid = $allvariables->{$patchidname};
- installer::systemactions::rename_directory($newepmdir, $patchid);
-
- # Copying all typical patch files into the patch directory
- # All patch file names are stored in @installer::globals::solarispatchfiles
- # Location of the file is $installer::globals::patchincludepath
-
- my $sourcepath = $installer::globals::patchincludepath;
- $sourcepath =~ s/\/\s*$//;
-
- for ( my $i = 0; $i <= $#installer::globals::solarispatchfiles; $i++ )
- {
- my $sourcefile = $sourcepath . $installer::globals::separator . $installer::globals::solarispatchfiles[$i];
- my $destfile = $patchid . $installer::globals::separator . $installer::globals::solarispatchfiles[$i];
- installer::systemactions::copy_one_file($sourcefile, $destfile);
- }
-
- # And editing the patchinfo file
-
- my $patchinfofilename = $patchid . $installer::globals::separator . "patchinfo";
- my $patchinfofile = installer::files::read_file($patchinfofilename);
- set_patchinfo($patchinfofile, $patchid, $allvariables);
- installer::files::save_file($patchinfofilename, $patchinfofile);
-}
-
-######################################################
-# Finalizing Linux patch: Renaming directory and
-# including additional patch files.
-######################################################
-
-sub finalize_linux_patch
-{
- my ( $newepmdir, $allvariables, $includepatharrayref ) = @_;
-
- # Copying the setup into the patch directory
- # and including the list of RPMs into it
-
- print "... creating patch setup ...\n";
-
- installer::logger::include_header_into_logfile("Creating Linux patch setup:");
-
- # find and read setup script template
-
- my $scriptfilename = "linuxpatchscript.sh";
- my $scriptref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$scriptfilename, $includepatharrayref, 0);
- if ($$scriptref eq "") { installer::exiter::exit_program("ERROR: Could not find patch script template $scriptfilename!", "finalize_linux_patch"); }
- my $scriptfile = installer::files::read_file($$scriptref);
-
- my $infoline = "Found script file $scriptfilename: $$scriptref \n";
- push( @installer::globals::logfileinfo, $infoline);
-
- # Collecting all RPMs in the patch directory
-
- my $fileextension = "rpm";
- my $rpmfiles = installer::systemactions::find_file_with_file_extension($fileextension, $newepmdir);
- if ( ! ( $#{$rpmfiles} > -1 )) { installer::exiter::exit_program("ERROR: Could not find rpm in directory $newepmdir!", "finalize_linux_patch"); }
- for ( my $i = 0; $i <= $#{$rpmfiles}; $i++ ) { installer::pathanalyzer::make_absolute_filename_to_relative_filename(\${$rpmfiles}[$i]); }
-
- # Searching packagename containing -core01
- my $found_package = 0;
- my $searchpackagename = "";
- for ( my $i = 0; $i <= $#{$rpmfiles}; $i++ )
- {
- if ( ${$rpmfiles}[$i] =~ /-core01-/ )
- {
- $searchpackagename = ${$rpmfiles}[$i];
- $found_package = 1;
- if ( $searchpackagename =~ /^\s*(.*?-core01)-.*/ ) { $searchpackagename = $1; }
- last;
- }
- }
-
- if ( ! $found_package ) { installer::exiter::exit_program("ERROR: No package containing \"-core01\" found in directory \"$newepmdir\"", "finalize_linux_patch"); }
-
- # Replacing the searchpackagename
- for ( my $j = 0; $j <= $#{$scriptfile}; $j++ ) { ${$scriptfile}[$j] =~ s/SEARCHPACKAGENAMEPLACEHOLDER/$searchpackagename/; }
-
- # Setting the PRODUCTDIRECTORYNAME to $installer::globals::officedirhostname
- for ( my $j = 0; $j <= $#{$scriptfile}; $j++ ) { ${$scriptfile}[$j] =~ s/PRODUCTDIRECTORYNAME/$installer::globals::officedirhostname/; }
-
- # Replacing the productname
- my $productname = $allvariables->{'PRODUCTNAME'};
- $productname = lc($productname);
- $productname =~ s/ /_/g; # abc office -> abc_office
-
- $infoline = "Adding productname $productname into Linux patch script\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- for ( my $j = 0; $j <= $#{$scriptfile}; $j++ ) { ${$scriptfile}[$j] =~ s/PRODUCTNAMEPLACEHOLDER/$productname/; }
-
- # Saving the file
-
- my $newscriptfilename = "setup";
- installer::files::save_file($newscriptfilename, $scriptfile);
-
- $infoline = "Saved Linux patch setup $newscriptfilename \n";
- push( @installer::globals::logfileinfo, $infoline);
-
- # Setting unix rights 755
- chmod 0755, $newscriptfilename;
-}
-
################################################
# Defining the English license text to add
# it into Solaris packages.
diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm
index 23ac86e304ee..45aa11bab4b7 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -192,12 +192,9 @@ BEGIN
$patch_user_dir = 0;
$languagepack = 0;
$helppack = 0;
- $patch = 0;
- $patchincludepath = "";
$refresh_includepaths = 0;
$include_paths_read = 0;
@patchfilecollector = ();
- $nopatchfilecollector = "";
@userregistrycollector = ();
$addeduserregitrykeys = 0;
$desktoplinkexists = 0;
@@ -256,9 +253,6 @@ BEGIN
$postprocess_standardepm = 0;
$mergemodules_analyzed = 0;
- @solarispatchscripts = ("checkinstall", "copyright", "patch_checkinstall", "patch_postinstall", "postinstall", "preinstall", "i.none");
- @solarispatchscriptsforextensions = ("checkinstall", "copyright", "patch_checkinstall", "patch_postinstall_extensions", "postinstall_extensions", "preinstall", "i.none");
- @solarispatchfiles = (".diPatch", "patchinfo");
@packagelistitems = ("module", "solarispackagename", "packagename", "copyright", "vendor", "description" );
@languagepackfeature =();
@helppackfeature =();
diff --git a/solenv/bin/modules/installer/parameter.pm b/solenv/bin/modules/installer/parameter.pm
index 609f7b41d819..2aa0a2806271 100644
--- a/solenv/bin/modules/installer/parameter.pm
+++ b/solenv/bin/modules/installer/parameter.pm
@@ -66,8 +66,6 @@ The following parameter are needed:
-copyproject : is set for projects that are only used for copying (optional)
-languagepack : do create a languagepack, no product pack (optional)
-helppack : do create a helppack, no product pack (optional)
--patch : do create a patch (optional)
--patchinc: Source for the patch include files (Solaris only)
-strip: Stripping files (Unix only)
-log : Logging all available information (optional)
@@ -137,12 +135,10 @@ sub getparameter
elsif ($param eq "-dontcallepm") { $installer::globals::call_epm = 0; }
elsif ($param eq "-msitemplate") { $installer::globals::idttemplatepath = shift(@ARGV); }
elsif ($param eq "-msilanguage") { $installer::globals::idtlanguagepath = shift(@ARGV); }
- elsif ($param eq "-patchinc") { $installer::globals::patchincludepath = shift(@ARGV); }
elsif ($param eq "-buildid") { $installer::globals::buildid = shift(@ARGV); }
elsif ($param eq "-copyproject") { $installer::globals::is_copy_only_project = 1; }
elsif ($param eq "-languagepack") { $installer::globals::languagepack = 1; }
elsif ($param eq "-helppack") { $installer::globals::helppack = 1;}
- elsif ($param eq "-patch") { $installer::globals::patch = 1; }
elsif ($param eq "-debian") { $installer::globals::debian = 1; }
elsif ($param eq "-strip") { $installer::globals::strip = 1; }
elsif ($param eq "-destdir") # new parameter for simple installer
@@ -477,31 +473,6 @@ sub control_required_parameter
}
#######################################
- # Patch currently only available
- # for Solaris packages and Linux
- #######################################
-
- if (( $installer::globals::patch ) && ( ! $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::isrpmbuild ) && ( ! $installer::globals::isdebbuild ) && ( ! $installer::globals::iswindowsbuild ) && ( ! $installer::globals::ismacdmgbuild ))
- {
- installer::logger::print_error( "Sorry, Patch flag currently only available for Solaris pkg, Linux RPM and Windows builds!" );
- usage();
- exit(-1);
- }
-
- if (( $installer::globals::patch ) && ( $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::patchincludepath ))
- {
- installer::logger::print_error( "Solaris patch requires parameter -patchinc !" );
- usage();
- exit(-1);
- }
-
- if (( $installer::globals::patch ) && ( $installer::globals::issolarispkgbuild ) && ( $installer::globals::patchincludepath ))
- {
- make_path_absolute(\$installer::globals::patchincludepath);
- $installer::globals::patchincludepath = installer::converter::make_path_conform($installer::globals::patchincludepath);
- }
-
- #######################################
# Testing existence of files
# also for copy-only projects
#######################################
@@ -560,7 +531,6 @@ sub outputparameter
if ((!($installer::globals::idtlanguagepath eq "")) && (!($installer::globals::iswindowsbuild))) { push(@output, "msi language path will be ignored for non Windows builds!\n"); }
if ((!($installer::globals::iswindowsbuild)) && ( $installer::globals::call_epm )) { push(@output, "Calling epm\n"); }
if ((!($installer::globals::iswindowsbuild)) && (!($installer::globals::call_epm))) { push(@output, "Not calling epm\n"); }
- if ( $installer::globals::patchincludepath ) { push(@output, "Patch include path: $installer::globals::patchincludepath\n"); }
if ( $installer::globals::strip ) { push(@output, "Stripping files\n"); }
else { push(@output, "No file stripping\n"); }
if ( $installer::globals::debian ) { push(@output, "Linux: Creating Debian packages\n"); }
@@ -578,7 +548,6 @@ sub outputparameter
if ( $installer::globals::is_copy_only_project ) { push(@output, "This is a copy only project!\n"); }
if ( $installer::globals::languagepack ) { push(@output, "Creating language pack!\n"); }
if ( $installer::globals::helppack ) { push(@output, "Creating help pack!\n"); }
- if ( $installer::globals::patch ) { push(@output, "Creating patch!\n"); }
push(@output, "########################################################\n");
# output into shell and into logfile
diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm
index 3f32f9488622..77fa1d3619b9 100644
--- a/solenv/bin/modules/installer/scriptitems.pm
+++ b/solenv/bin/modules/installer/scriptitems.pm
@@ -516,21 +516,6 @@ sub use_langpack_hostname
# Using different HostName for language packs
################################################################################
-sub use_patch_hostname
-{
- my ($dirsref) = @_;
-
- for ( my $i = 0; $i <= $#{$dirsref}; $i++ )
- {
- my $onedir = ${$dirsref}[$i];
- if (( $onedir->{'PatchHostName'} ) && ( $onedir->{'PatchHostName'} ne "" )) { $onedir->{'HostName'} = $onedir->{'PatchHostName'}; }
- }
-}
-
-################################################################################
-# Using different HostName for language packs
-################################################################################
-
sub use_langpack_copy_scpaction
{
my ($scpactionsref) = @_;
@@ -558,21 +543,6 @@ sub use_devversion_copy_scpaction
}
################################################################################
-# Using different HostName for language packs
-################################################################################
-
-sub use_patch_copy_scpaction
-{
- my ($scpactionsref) = @_;
-
- for ( my $i = 0; $i <= $#{$scpactionsref}; $i++ )
- {
- my $onescpaction = ${$scpactionsref}[$i];
- if (( $onescpaction->{'PatchCopy'} ) && ( $onescpaction->{'PatchCopy'} ne "" )) { $onescpaction->{'Copy'} = $onescpaction->{'PatchCopy'}; }
- }
-}
-
-################################################################################
# Shifting parent directories of URE and Basis layer, so that
# these directories are located below the Brand layer.
# Style: SHIFT_BASIS_INTO_BRAND_LAYER
@@ -728,7 +698,6 @@ sub replace_setup_variables
$value =~ s/\<alllanguages\>/$languagesstring/;
$value =~ s/\<productmajor\>/$localbuild/;
$value =~ s/\<productminor\>/$localminor/;
- $value =~ s/\<productbuildid\>/$installer::globals::buildid/;
$value =~ s/\<sourceid\>/$installer::globals::build/;
$value =~ s/\<updateid\>/$updateid/;
$value =~ s/\<pkgformat\>/$installer::globals::packageformat/;
@@ -1616,42 +1585,6 @@ sub remove_Helppacklibraries_from_Installset
}
############################################################################
-# Removing all files with flag PATCH_ONLY from installation set.
-# This function is not called during patch creation.
-############################################################################
-
-sub remove_patchonlyfiles_from_Installset
-{
- my ($itemsarrayref) = @_;
-
- my $infoline;
-
- my @newitemsarray = ();
-
- for ( my $i = 0; $i <= $#{$itemsarrayref}; $i++ )
- {
- my $oneitem = ${$itemsarrayref}[$i];
- my $styles = "";
- if ( $oneitem->{'Styles'} ) { $styles = $oneitem->{'Styles'}; }
-
- if ( $styles =~ /\bPATCH_ONLY\b/ )
- {
- $infoline = "Removing file with flag PATCH_ONLY $oneitem->{'gid'} from the installation set.\n";
- push( @installer::globals::globallogfileinfo, $infoline);
-
- next;
- }
-
- push(@newitemsarray, $oneitem);
- }
-
- $infoline = "\n";
- push( @installer::globals::globallogfileinfo, $infoline);
-
- return \@newitemsarray;
-}
-
-############################################################################
# Some files cotain a $ in their name. epm conflicts with such files.
# Solution: Renaming this files, converting "$" to "$$"
############################################################################
diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm
index 5bc319d4222b..c9ce580c5b9c 100755
--- a/solenv/bin/modules/installer/simplepackage.pm
+++ b/solenv/bin/modules/installer/simplepackage.pm
@@ -301,7 +301,7 @@ sub create_package
my $localtempdir = $tempdir;
- if (( $installer::globals::languagepack ) || ( $installer::globals::helppack ) || ( $installer::globals::patch ))
+ if (( $installer::globals::languagepack ) || ( $installer::globals::helppack ))
{
$localtempdir = "$tempdir/$packagename";
if ( $installer::globals::helppack ) { $volume_name = "$volume_name Help Pack"; }
@@ -311,12 +311,6 @@ sub create_package
$volume_name_classic = "$volume_name_classic Language Pack";
$volume_name_classic_app = "$volume_name_classic_app Language Pack";
}
- if ( $installer::globals::patch )
- {
- $volume_name = "$volume_name Patch";
- $volume_name_classic = "$volume_name_classic Patch";
- $volume_name_classic_app = "$volume_name_classic_app Patch";
- }
# Create tar ball named tarball.tar.bz2
# my $appfolder = $localtempdir . "/" . $volume_name . "\.app";
@@ -362,7 +356,6 @@ sub create_package
my $scriptfilename = "";
if ( $installer::globals::languagepack ) { $scriptfilename = "osx_install_languagepack.applescript"; }
if ( $installer::globals::helppack ) { $scriptfilename = "osx_install_helppack.applescript"; }
- if ( $installer::globals::patch ) { $scriptfilename = "osx_install_patch.applescript"; }
my $scripthelpersolverfilename = "mac_install.script";
# my $scripthelperrealfilename = $volume_name;
my $scripthelperrealfilename = $volume_name_classic_app;
@@ -508,7 +501,6 @@ sub create_simple_package
$downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "downloadname");
if ( $installer::globals::languagepack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "langpackdownloadname"); }
if ( $installer::globals::helppack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "helppackdownloadname"); }
- if ( $installer::globals::patch ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "patchdownloadname"); }
$packagename = installer::download::resolve_variables_in_downloadname($allvariables, $$downloadname, \$locallanguage);
}
}
@@ -574,8 +566,6 @@ sub create_simple_package
my $onefile = ${$filesref}[$i];
if (( $onefile->{'Styles'} ) && ( $onefile->{'Styles'} =~ /\bBINARYTABLE_ONLY\b/ )) { next; }
- if (( $installer::globals::patch ) && ( $onefile->{'Styles'} ) && ( ! ( $onefile->{'Styles'} =~ /\bPATCH\b/ ))) { next; }
- if (( $installer::globals::patch ) && ( $installer::globals::packageformat eq "dmg" )) { push(@installer::globals::patchfilecollector, "$onefile->{'destination'}\n"); }
my $source = $onefile->{'sourcepath'};
my $destination = $onefile->{'destination'};
@@ -627,8 +617,6 @@ sub create_simple_package
{
my $onelink = ${$linksref}[$i];
- if (( $installer::globals::patch ) && ( $onelink->{'Styles'} ) && ( ! ( $onelink->{'Styles'} =~ /\bPATCH\b/ ))) { next; }
-
my $destination = $onelink->{'destination'};
$destination = $subfolderdir . $installer::globals::separator . $destination;
my $destinationfile = $onelink->{'destinationfile'};
@@ -644,8 +632,6 @@ sub create_simple_package
{
my $onelink = ${$unixlinksref}[$i];
- if (( $installer::globals::patch ) && ( $onelink->{'Styles'} ) && ( ! ( $onelink->{'Styles'} =~ /\bPATCH\b/ ))) { next; }
-
my $target = $onelink->{'Target'};
my $destination = $subfolderdir . $installer::globals::separator . $onelink->{'destination'};
diff --git a/solenv/bin/modules/installer/systemactions.pm b/solenv/bin/modules/installer/systemactions.pm
index 22d83fb6058b..e2c11ff6ba94 100644
--- a/solenv/bin/modules/installer/systemactions.pm
+++ b/solenv/bin/modules/installer/systemactions.pm
@@ -230,7 +230,6 @@ sub create_directories
if ( $installer::globals::languagepack ) { $path = $path . $localproductname . "_languagepack" . $installer::globals::separator; }
elsif ( $installer::globals::helppack ) { $path = $path . $localproductname . "_helppack" . $installer::globals::separator; }
- elsif ( $installer::globals::patch ) { $path = $path . $localproductname . "_patch" . $installer::globals::separator; }
else { $path = $path . $localproductname . $installer::globals::separator; }
create_directory($path);
diff --git a/solenv/bin/modules/installer/windows/createfolder.pm b/solenv/bin/modules/installer/windows/createfolder.pm
index 5f42ee71c74a..d43961bb0360 100644
--- a/solenv/bin/modules/installer/windows/createfolder.pm
+++ b/solenv/bin/modules/installer/windows/createfolder.pm
@@ -88,10 +88,8 @@ sub get_createfolder_component
# containing the file $allvariableshashref->{'GLOBALFILEGID'}
if ( ! $allvariableshashref->{'GLOBALFILEGID'} ) { installer::exiter::exit_program("ERROR: GLOBALFILEGID must be defined in list file!", "get_createfolder_component"); }
- if (( $installer::globals::patch ) && ( ! $allvariableshashref->{'GLOBALFILEGID'} )) { installer::exiter::exit_program("ERROR: GLOBALPATCHFILEGID must be defined in list file!", "get_createfolder_component"); }
my $globalfilegid = $allvariableshashref->{'GLOBALFILEGID'};
- if ( $installer::globals::patch ) { $globalfilegid = $allvariableshashref->{'GLOBALPATCHFILEGID'}; }
my $onefile;
if ( $installer::globals::languagepack ) { $onefile = get_languagepack_file($filesref, $onedir); }
diff --git a/solenv/bin/modules/installer/windows/directory.pm b/solenv/bin/modules/installer/windows/directory.pm
index 92cb9209393d..97b9937611bb 100644
--- a/solenv/bin/modules/installer/windows/directory.pm
+++ b/solenv/bin/modules/installer/windows/directory.pm
@@ -253,8 +253,7 @@ sub check_sourcedir_addon
{
my ( $onedir, $allvariableshashref ) = @_;
- if (($installer::globals::patch) ||
- ($installer::globals::languagepack) ||
+ if (($installer::globals::languagepack) ||
($installer::globals::helppack) ||
($allvariableshashref->{'CHANGETARGETDIR'}))
{
@@ -407,7 +406,7 @@ sub add_root_directories
my $oneline = "";
- if (( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ) && ( ! $allvariableshashref->{'DONTUSESTARTMENUFOLDER'} ))
+ if (( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ) && ( ! $allvariableshashref->{'DONTUSESTARTMENUFOLDER'} ))
{
my $productname;
diff --git a/solenv/bin/modules/installer/windows/feature.pm b/solenv/bin/modules/installer/windows/feature.pm
index c22b8646523b..d8ead0336ec3 100644
--- a/solenv/bin/modules/installer/windows/feature.pm
+++ b/solenv/bin/modules/installer/windows/feature.pm
@@ -141,7 +141,6 @@ sub get_feature_level
if ( $localdefault eq "NO" ) # explicitly set Default = "NO"
{
$level = "200"; # deselected in default installation, base is 100
- if ( $installer::globals::patch ) { $level = "20"; }
}
# special handling for Java and Ada
diff --git a/solenv/bin/modules/installer/windows/idtglobal.pm b/solenv/bin/modules/installer/windows/idtglobal.pm
index b29004e4fb55..de80cef62016 100644
--- a/solenv/bin/modules/installer/windows/idtglobal.pm
+++ b/solenv/bin/modules/installer/windows/idtglobal.pm
@@ -760,23 +760,6 @@ sub prepare_language_idt_directory
{
installer::systemactions::create_directory($destinationdir . $installer::globals::separator . "Binary");
installer::systemactions::copy_directory($installer::globals::idttemplatepath . $installer::globals::separator . "Binary", $destinationdir . $installer::globals::separator . "Binary");
-
- if ((( $installer::globals::patch ) && ( $allvariables->{'WINDOWSPATCHBITMAPDIRECTORY'} )) || ( $allvariables->{'WINDOWSBITMAPDIRECTORY'} ))
- {
- my $bitmapdir = "";
- if ( $allvariables->{'WINDOWSPATCHBITMAPDIRECTORY'} ) { $bitmapdir = $allvariables->{'WINDOWSPATCHBITMAPDIRECTORY'}; }
- if ( $allvariables->{'WINDOWSBITMAPDIRECTORY'} ) { $bitmapdir = $allvariables->{'WINDOWSBITMAPDIRECTORY'}; }
-
- my $newsourcedir = $installer::globals::unpackpath . $installer::globals::separator . $bitmapdir; # path setting in list file dependent from unpackpath !?
- $infoline = "\nOverwriting files in directory \"" . $destinationdir . $installer::globals::separator . "Binary" . "\" with files from directory \"" . $newsourcedir . "\".\n";
- push( @installer::globals::logfileinfo, $infoline);
- if ( ! -d $newsourcedir )
- {
- my $currentdir = cwd();
- installer::exiter::exit_program("ERROR: Directory $newsourcedir does not exist! Current directory is: $currentdir", "prepare_language_idt_directory");
- }
- installer::systemactions::copy_directory($newsourcedir, $destinationdir . $installer::globals::separator . "Binary");
- }
}
installer::systemactions::create_directory($destinationdir . $installer::globals::separator . "Icon");
@@ -1714,18 +1697,6 @@ sub addcustomactions
if ( $customaction->{$key} )
{
$value = $customaction->{$key};
-
- # in a patch the Assignment can be overwritten by a PatchAssignment
- if ( $installer::globals::patch )
- {
- $patchkey = "PatchAssignment" . $j;
- if ( $customaction->{$patchkey} )
- {
- $value = $customaction->{$patchkey};
- $key = $patchkey;
- }
- }
-
}
else { last; }
diff --git a/solenv/bin/modules/installer/windows/inifile.pm b/solenv/bin/modules/installer/windows/inifile.pm
index d13fafc26fd6..1b4fd5c64efe 100644
--- a/solenv/bin/modules/installer/windows/inifile.pm
+++ b/solenv/bin/modules/installer/windows/inifile.pm
@@ -49,23 +49,6 @@ sub get_profile_for_profileitem
}
####################################################
-# Checking whether profile is included in patch
-####################################################
-
-sub profile_has_patch_flag
-{
- my ($profile) = @_;
-
- my $in_patch = 0;
-
- my $styles = "";
- if ( $profile->{'Styles'} ) { $styles = $profile->{'Styles'}; }
- if ( $styles =~ /\bPATCH\b/ ) { $in_patch = 1; }
-
- return $in_patch;
-}
-
-####################################################
# Checking whether profile is part of product
####################################################
@@ -117,8 +100,6 @@ sub create_inifile_table
my $profile = get_profile_for_profileitem($profileid, $filesref);
- if (( $installer::globals::patch ) && ( ! profile_has_patch_flag($profile) )) { next; }
-
my %inifile = ();
$inifile{'IniFile'} = $profileitem->{'Inifiletablekey'};
diff --git a/solenv/bin/modules/installer/windows/mergemodule.pm b/solenv/bin/modules/installer/windows/mergemodule.pm
index f4e5951150cd..40ad40474bf3 100755
--- a/solenv/bin/modules/installer/windows/mergemodule.pm
+++ b/solenv/bin/modules/installer/windows/mergemodule.pm
@@ -51,7 +51,7 @@ sub merge_mergemodules_into_msi_database
my ($mergemodules, $filesref, $msifilename, $languagestringref, $allvariables, $includepatharrayref, $allupdatesequences, $allupdatelastsequences, $allupdatediskids) = @_;
my $domerge = 0;
- if (( $#{$mergemodules} > -1 ) && ( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack )) { $domerge = 1; }
+ if (( $#{$mergemodules} > -1 ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack )) { $domerge = 1; }
if ( $domerge )
{
diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm
index 0a898edfc34c..6087d1dfb428 100644
--- a/solenv/bin/modules/installer/windows/msiglobal.pm
+++ b/solenv/bin/modules/installer/windows/msiglobal.pm
@@ -1369,19 +1369,11 @@ sub set_global_code_variables
$installer::globals::productcode = "\{" . ${$guidref}[0] . "\}";
}
- if ( $installer::globals::patch ) # patch upgrade codes are defined in soffice.lst
- {
- if ( $allvariableshashref->{'PATCHUPGRADECODE'} ) { $installer::globals::upgradecode = $allvariableshashref->{'PATCHUPGRADECODE'}; }
- else { installer::exiter::exit_program("ERROR: PATCHUPGRADECODE not defined in list file!", "set_global_code_variables"); }
- }
- else
- {
- # UpgradeCode can take english as default, if not defined in specified language
+ # UpgradeCode can take english as default, if not defined in specified language
- $searchstring = "UPGRADECODE"; # searching in the codes.txt file
- $codeblock = installer::windows::idtglobal::get_language_block_from_language_file($searchstring, $codefile);
- $installer::globals::upgradecode = installer::windows::idtglobal::get_language_string_from_language_block($codeblock, $onelanguage, "");
- }
+ $searchstring = "UPGRADECODE"; # searching in the codes.txt file
+ $codeblock = installer::windows::idtglobal::get_language_block_from_language_file($searchstring, $codefile);
+ $installer::globals::upgradecode = installer::windows::idtglobal::get_language_string_from_language_block($codeblock, $onelanguage, "");
if ( $installer::globals::upgradecode eq "" ) { installer::exiter::exit_program("ERROR: UpgradeCode not defined in $installer::globals::codefilename !", "set_global_code_variables"); }
diff --git a/solenv/bin/modules/installer/windows/property.pm b/solenv/bin/modules/installer/windows/property.pm
index 56f4ba5da0cb..58435d6e130e 100644
--- a/solenv/bin/modules/installer/windows/property.pm
+++ b/solenv/bin/modules/installer/windows/property.pm
@@ -56,13 +56,6 @@ sub get_arpcomments_for_property_table
if ( $installer::globals::languagepack ) { $comment = $comment . " " . "Language Pack"; }
elsif ( $installer::globals::helppack ) { $comment = $comment . " " . "Help Pack"; }
- if ( $installer::globals::patch )
- {
- if ( ! $allvariables->{'WINDOWSPATCHLEVEL'} ) { installer::exiter::exit_program("ERROR: No Patch level defined for Windows patch: WINDOWSPATCHLEVEL", "get_arpcomments_for_property_table"); }
- my $patchstring = "Product Update" . " " . $allvariables->{'WINDOWSPATCHLEVEL'};
- $comment = $comment . " " . $patchstring;
- }
-
my $languagestring = $$languagestringref;
$languagestring =~ s/\_/\,/g;
@@ -181,13 +174,6 @@ sub get_productname_for_property_table($$)
$productname = $name . " " . $version . " Help Pack" . " " . $langstring;
}
- if ( $installer::globals::patch )
- {
- if ( ! $allvariables->{'WINDOWSPATCHLEVEL'} ) { installer::exiter::exit_program("ERROR: No Patch level defined for Windows patch: WINDOWSPATCHLEVEL", "get_productname_for_property_table"); }
- my $patchstring = "Product Update" . " " . $allvariables->{'WINDOWSPATCHLEVEL'};
- $productname = $productname . " " . $patchstring;
- }
-
# Saving this name in hash $allvariables for further usage
$allvariables->{'PROPERTYTABLEPRODUCTNAME'} = $productname;
my $infoline = "Defined variable PROPERTYTABLEPRODUCTNAME: $productname\n";
@@ -217,23 +203,6 @@ sub get_productversion_for_property_table
}
#######################################################
-# Setting all feature names as Properties. This is
-# required for the Windows patch process.
-#######################################################
-
-sub set_featurename_properties_for_patch
-{
- ($propertyfile) = @_;
-
- for ( my $i = 0; $i <= $#installer::globals::featurecollector; $i++ )
- {
- my $onepropertyline = $installer::globals::featurecollector[$i] . "\t" . "1" . "\n";
- push(@{$propertyfile}, $onepropertyline);
- }
-
-}
-
-#######################################################
# Setting some important properties
# (for finding the product in deinstallation process)
#######################################################
@@ -329,12 +298,6 @@ sub set_important_properties
push(@{$propertyfile}, $onepropertyline);
}
- if ( $installer::globals::patch )
- {
- my $onepropertyline = "ISPATCH" . "\t" . "1" . "\n";
- push(@{$propertyfile}, $onepropertyline);
- }
-
if ( $installer::globals::languagepack )
{
my $onepropertyline = "ISLANGUAGEPACK" . "\t" . "1" . "\n";
@@ -503,9 +466,6 @@ sub update_property_table
# Setting variables into propertytable
set_important_properties($propertyfile, $allvariables, $languagestringref);
- # Setting feature names as properties for Windows patch mechanism
- if ( $installer::globals::patch ) { set_featurename_properties_for_patch($propertyfile); }
-
# Setting variables for register for ms file types
set_ms_file_types_properties($propertyfile);
diff --git a/solenv/bin/modules/installer/windows/upgrade.pm b/solenv/bin/modules/installer/windows/upgrade.pm
index 547bc4ce7bf1..91f5f71c6080 100644
--- a/solenv/bin/modules/installer/windows/upgrade.pm
+++ b/solenv/bin/modules/installer/windows/upgrade.pm
@@ -65,67 +65,64 @@ sub create_upgrade_table
$newline = $installer::globals::upgradecode . "\t" . $installer::globals::msimajorproductversion . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "769" . "\t" . "\t" . "OLDPRODUCTSSAMEMAJOR" . "\n";
push(@upgradetable, $newline);
- if ( ! $installer::globals::patch )
- {
- # preventing downgrading
- $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "2" . "\t" . "\t" . "NEWPRODUCTS" . "\n";
+ # preventing downgrading
+ $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "2" . "\t" . "\t" . "NEWPRODUCTS" . "\n";
+ push(@upgradetable, $newline);
+
+ # $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "258" . "\t" . "\t" . "SAMEPRODUCTS" . "\n";
+ # push(@upgradetable, $newline);
+
+ if ( $include_ooo_fix )
+ {
+ $newline = $installer::globals::upgradecode . "\t" . "35.0.0" . "\t" . "36.0.0" . "\t" . "\t" . "1" . "\t" . "\t" . "OLDPRODUCTS2" . "\n";
+ push(@upgradetable, $newline);
+ }
+
+ # if (( $allvariableshashref->{'PATCHUPGRADECODE'} ) && ( ! $installer::globals::languagepack ))
+ # {
+ # $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "1" . "\t" . "\t" . "OLDPRODUCTSPATCH" . "\n";
+ # push(@upgradetable, $newline);
+ #
+ # $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "\t" . "2" . "\t" . "\t" . "NEWPRODUCTSPATCH" . "\n";
+ # push(@upgradetable, $newline);
+ #
+ # $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "\t" . "258" . "\t" . "\t" . "SAMEPRODUCTSPATCH" . "\n";
+ # push(@upgradetable, $newline);
+ # }
+
+ # also searching for the beta
+
+ if (( $allvariableshashref->{'BETAUPGRADECODE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
+ {
+ $newline = $allvariableshashref->{'BETAUPGRADECODE'} . "\t" . "1.0" . "\t" . "\t" . "\t" . "1" . "\t" . "\t" . "BETAPRODUCTS" . "\n";
push(@upgradetable, $newline);
+ }
- # $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "258" . "\t" . "\t" . "SAMEPRODUCTS" . "\n";
- # push(@upgradetable, $newline);
-
- if ( $include_ooo_fix )
- {
- $newline = $installer::globals::upgradecode . "\t" . "35.0.0" . "\t" . "36.0.0" . "\t" . "\t" . "1" . "\t" . "\t" . "OLDPRODUCTS2" . "\n";
- push(@upgradetable, $newline);
- }
-
- # if (( $allvariableshashref->{'PATCHUPGRADECODE'} ) && ( ! $installer::globals::languagepack ))
- # {
- # $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "1" . "\t" . "\t" . "OLDPRODUCTSPATCH" . "\n";
- # push(@upgradetable, $newline);
- #
- # $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "\t" . "2" . "\t" . "\t" . "NEWPRODUCTSPATCH" . "\n";
- # push(@upgradetable, $newline);
- #
- # $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "\t" . "258" . "\t" . "\t" . "SAMEPRODUCTSPATCH" . "\n";
- # push(@upgradetable, $newline);
- # }
-
- # also searching for the beta
-
- if (( $allvariableshashref->{'BETAUPGRADECODE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
- {
- $newline = $allvariableshashref->{'BETAUPGRADECODE'} . "\t" . "1.0" . "\t" . "\t" . "\t" . "1" . "\t" . "\t" . "BETAPRODUCTS" . "\n";
- push(@upgradetable, $newline);
- }
-
- # also searching for the stub
-
- if (( $allvariableshashref->{'STUBUPGRADECODE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
- {
- $newline = $allvariableshashref->{'STUBUPGRADECODE'} . "\t" . "1.0" . "\t" . "\t" . "\t" . "1" . "\t" . "\t" . "STUBPRODUCTS" . "\n";
- push(@upgradetable, $newline);
- }
-
- # searching for all older patches and languagepacks (defined in a extra file)
-
- if (( $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
- {
- my $filename = $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'};
- my $langpackcodefilename = $installer::globals::idttemplatepath . $installer::globals::separator . $filename;
- if ( ! -f $langpackcodefilename ) { installer::exiter::exit_program("ERROR: Could not find file \"$langpackcodefilename\".", "create_upgrade_table"); }
-
- my $filecontent = installer::files::read_file($langpackcodefilename);
- my $newlines = analyze_file_for_upgrade_table($filecontent);
-
- for ( my $i = 0; $i <= $#{$newlines}; $i++ ) { push(@upgradetable, ${$newlines}[$i]); }
- }
- }
+ # also searching for the stub
+
+ if (( $allvariableshashref->{'STUBUPGRADECODE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
+ {
+ $newline = $allvariableshashref->{'STUBUPGRADECODE'} . "\t" . "1.0" . "\t" . "\t" . "\t" . "1" . "\t" . "\t" . "STUBPRODUCTS" . "\n";
+ push(@upgradetable, $newline);
+ }
+
+ # searching for all older patches and languagepacks (defined in a extra file)
+
+ if (( $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
+ {
+ my $filename = $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'};
+ my $langpackcodefilename = $installer::globals::idttemplatepath . $installer::globals::separator . $filename;
+ if ( ! -f $langpackcodefilename ) { installer::exiter::exit_program("ERROR: Could not find file \"$langpackcodefilename\".", "create_upgrade_table"); }
+
+ my $filecontent = installer::files::read_file($langpackcodefilename);
+ my $newlines = analyze_file_for_upgrade_table($filecontent);
+
+ for ( my $i = 0; $i <= $#{$newlines}; $i++ ) { push(@upgradetable, ${$newlines}[$i]); }
+ }
# No upgrade for Beta versions!
- if (( $allvariableshashref->{'PRODUCTEXTENSION'} eq "Beta" ) && ( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
+ if (( $allvariableshashref->{'PRODUCTEXTENSION'} eq "Beta" ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
@upgradetable = ();
installer::windows::idtglobal::write_idt_header(\@upgradetable, "upgrade");
diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm
index f860f632df76..9a122e46f255 100644
--- a/solenv/bin/modules/installer/worker.pm
+++ b/solenv/bin/modules/installer/worker.pm
@@ -44,57 +44,6 @@ use installer::scriptitems;
use installer::systemactions;
use installer::windows::language;
-#################################################
-# Writing some global information into
-# the list of files without flag PATCH
-#################################################
-
-sub write_nopatchlist_header
-{
- my ( $content ) = @_;
-
- my @header = ();
- my $infoline = "This is a list of files, that are defined in scp-projects without\n";
- push(@header, $infoline);
- $infoline = "flag \"PATCH\". Important: This does not mean in any case, that \n";
- push(@header, $infoline);
- $infoline = "this files are included into or excluded from a patch. \n\n";
- push(@header, $infoline);
- $infoline = "Exception Linux: A patch rpm is a complete rpm. This means that all \n";
- push(@header, $infoline);
- $infoline = "files are included into a patch rpm, if only one file of the rpm has the \n";
- push(@header, $infoline);
- $infoline = "style \"PATCH\". \n\n";
- push(@header, $infoline);
-
- for ( my $i = 0; $i <= $#header; $i++ ) { push(@{$content},$header[$i]); }
-}
-
-#################################################
-# Creating the content of the list of files
-# without flag PATCH.
-# All files are saved in
-# @{$installer::globals::nopatchfilecollector}
-#################################################
-
-sub create_nopatchlist
-{
- my @content =();
-
- write_nopatchlist_header(\@content);
-
- for ( my $i = 0; $i <= $#{$installer::globals::nopatchfilecollector}; $i++ )
- {
- my $onefile = ${$installer::globals::nopatchfilecollector}[$i];
- my $oneline = $onefile->{'destination'};
- if ( $onefile->{'zipfilename'} ) { $oneline = $oneline . " (" . $onefile->{'zipfilename'} . ")"; }
- $oneline = $oneline . "\n";
- push(@content, $oneline);
- }
-
- return \@content;
-}
-
#########################################
# Saving the patchlist file
#########################################
@@ -109,14 +58,6 @@ sub _save_patchlist_file
installer::files::save_file($installpatchlistdir . $installer::globals::separator . $patchlistfilename, \@installer::globals::patchfilecollector);
installer::logger::print_message( "... creating patchlist file $patchlistfilename \n" );
- if (( $installer::globals::patch ) && ( ! $installer::globals::creating_windows_installer_patch )) # only for non-Windows patches
- {
- $patchlistfilename =~ s/patchfiles\_/nopatchfiles\_/;
- my $nopatchlist = create_nopatchlist();
- installer::files::save_file($installpatchlistdir . $installer::globals::separator . $patchlistfilename, $nopatchlist);
- installer::logger::print_message( "... creating patch exclusion file $patchlistfilename \n" );
- }
-
}
###############################################################
@@ -221,7 +162,7 @@ sub analyze_and_save_logfile
installer::files::save_file($installlogdir . $installer::globals::separator . $numberedlogfilename, \@installer::globals::logfileinfo);
# Saving the list of patchfiles in a patchlist directory in the install directory
- if (( $installer::globals::patch ) || ( $installer::globals::creating_windows_installer_patch )) { _save_patchlist_file($installlogdir, $numberedlogfilename); }
+ if ( $installer::globals::creating_windows_installer_patch ) { _save_patchlist_file($installlogdir, $numberedlogfilename); }
if ( $installer::globals::creating_windows_installer_patch ) { $installer::globals::creating_windows_installer_patch = 0; }
@@ -313,20 +254,6 @@ sub collect_all_items_with_special_flag
}
##############################################################
-# Collecting all files without patch flag in
-# $installer::globals::nopatchfilecollector
-##############################################################
-
-sub collect_all_files_without_patch_flag
-{
- my ($filesref) = @_;
-
- my $newfiles = collect_all_items_without_special_flag($filesref, "PATCH");
-
- for ( my $i = 0; $i <= $#{$newfiles}; $i++ ) { push(@{$installer::globals::nopatchfilecollector}, ${$newfiles}[$i]); }
-}
-
-##############################################################
# Collecting all items without a defined flag
##############################################################
@@ -489,63 +416,6 @@ sub install_simple ($$$$$$)
}
###########################################################
-# Selecting patch items
-###########################################################
-
-sub select_patch_items
-{
- my ( $itemsref, $itemname ) = @_;
-
- installer::logger::include_header_into_logfile("Selecting items for patches. Item: $itemname");
-
- my @itemsarray = ();
-
- for ( my $i = 0; $i <= $#{$itemsref}; $i++ )
- {
- my $oneitem = ${$itemsref}[$i];
-
- my $name = $oneitem->{'Name'};
- if (( $name =~ /\bLICENSE/ ) || ( $name =~ /\bREADME/ ))
- {
- push(@itemsarray, $oneitem);
- next;
- }
-
- # Items with style "PATCH" have to be included into the patch
- my $styles = "";
- if ( $oneitem->{'Styles'} ) { $styles = $oneitem->{'Styles'}; }
- if ( $styles =~ /\bPATCH\b/ ) { push(@itemsarray, $oneitem); }
- }
-
- return \@itemsarray;
-}
-
-###########################################################
-# Selecting patch items
-###########################################################
-
-sub select_patch_items_without_name
-{
- my ( $itemsref, $itemname ) = @_;
-
- installer::logger::include_header_into_logfile("Selecting RegistryItems for patches");
-
- my @itemsarray = ();
-
- for ( my $i = 0; $i <= $#{$itemsref}; $i++ )
- {
- my $oneitem = ${$itemsref}[$i];
-
- # Items with style "PATCH" have to be included into the patch
- my $styles = "";
- if ( $oneitem->{'Styles'} ) { $styles = $oneitem->{'Styles'}; }
- if ( $styles =~ /\bPATCH\b/ ) { push(@itemsarray, $oneitem); }
- }
-
- return \@itemsarray;
-}
-
-###########################################################
# Selecting langpack items
###########################################################
@@ -596,257 +466,6 @@ sub select_helppack_items
}
###########################################################
-# Searching if LICENSE and README, which are not removed
-# in select_patch_items are really needed for the patch.
-# If not, they are removed now.
-###########################################################
-
-sub analyze_patch_files
-{
- my ( $filesref ) = @_;
-
- installer::logger::include_header_into_logfile("Analyzing patch files");
-
- my @filesarray = ();
-
- for ( my $i = 0; $i <= $#{$filesref}; $i++ )
- {
- my $onefile = ${$filesref}[$i];
- my $styles = "";
- if ( $onefile->{'Styles'} ) { $styles = $onefile->{'Styles'}; }
- if ( !( $styles =~ /\bPATCH\b/) ) { next; } # removing all files without flag PATCH (LICENSE, README, ...)
-
- if ( $installer::globals::iswindowsbuild )
- {
- # all files of the Windows patch belong to the root module
- $onefile->{'modules'} = $installer::globals::rootmodulegid;
- }
-
- push(@filesarray, $onefile);
- }
-
- return \@filesarray;
-}
-
-###########################################################
-# reorganizing the patchfile content,
-# sorting for directory to decrease the file size
-###########################################################
-
-sub reorg_patchfile
-{
- my ($patchfiles, $patchfiledirectories) = @_;
-
- my @patchfilesarray = ();
- my $line = "";
- my $directory = "";
-
- # iterating over all directories, writing content into new patchfiles list
-
- for ( my $i = 0; $i <= $#{$patchfiledirectories}; $i++ )
- {
- $directory = ${$patchfiledirectories}[$i];
- $line = "[" . $directory . "]" . "\n";
- push(@patchfilesarray, $line);
-
- for ( my $j = 0; $j <= $#{$patchfiles}; $j++ )
- {
- if ( ${$patchfiles}[$j] =~ /^\s*(.*?)\s*\tXXXXX\t\Q$directory\E\s*$/ )
- {
- $line = $1 . "\n";
- push(@patchfilesarray, $line);
- }
- }
- }
-
- return \@patchfilesarray;
-}
-
-###########################################################
-# One special file has to be the last in patchfile.txt.
-# Controlling this file, guarantees, that all files were
-# patch correctly. Using version.ini makes it easy to
-# control this by looking into the about box
-# -> shifting one section to the end
-###########################################################
-
-sub shift_section_to_end
-{
- my ($patchfilelist) = @_;
-
- my @patchfile = ();
- my @lastsection = ();
- my $lastsection = "program";
- my $notlastsection = "Basis\\program";
- my $record = 0;
-
- for ( my $i = 0; $i <= $#{$patchfilelist}; $i++ )
- {
- my $line = ${$patchfilelist}[$i];
-
- if (( $record ) && ( $line =~ /^\s*\[/ )) { $record = 0; }
-
- if (( $line =~ /^\s*\[\Q$lastsection\E\\\]\s*$/ ) && ( ! ( $line =~ /\Q$notlastsection\E\\\]\s*$/ ))) { $record = 1; }
-
- if ( $record ) { push(@lastsection, $line); }
- else { push(@patchfile, $line); }
- }
-
- if ( $#lastsection > -1 )
- {
- for ( my $i = 0; $i <= $#lastsection; $i++ )
- {
- push(@patchfile, $lastsection[$i]);
- }
- }
-
- return \@patchfile;
-}
-
-###########################################################
-# One special file has to be the last in patchfile.txt.
-# Controlling this file, guarantees, that all files were
-# patch correctly. Using version.ini makes it easy to
-# control this by looking into the about box
-# -> shifting one file of the last section to the end
-###########################################################
-
-sub shift_file_to_end
-{
- my ($patchfilelist) = @_;
-
- my @patchfile = ();
- my $lastfilename = "version.ini";
- my $lastfileline = "";
- my $foundfile = 0;
-
- # Only searching this file in the last section
- my $lastsectionname = "";
-
- for ( my $i = 0; $i <= $#{$patchfilelist}; $i++ )
- {
- my $line = ${$patchfilelist}[$i];
- if ( $line =~ /^\s*\[(.*?)\]\s*$/ ) { $lastsectionname = $1; }
- }
-
- my $record = 0;
- for ( my $i = 0; $i <= $#{$patchfilelist}; $i++ )
- {
- my $line = ${$patchfilelist}[$i];
-
- if ( $line =~ /^\s*\[\Q$lastsectionname\E\]\s*$/ ) { $record = 1; }
-
- if (( $line =~ /^\s*\"\Q$lastfilename\E\"\=/ ) && ( $record ))
- {
- $lastfileline = $line;
- $foundfile = 1;
- $record = 0;
- next;
- }
-
- push(@patchfile, $line);
- }
-
- if ( $foundfile ) { push(@patchfile, $lastfileline); }
-
- return \@patchfile;
-}
-
-###########################################################
-# Renaming Windows files in Patch and creating file
-# patchfiles.txt
-###########################################################
-
-sub prepare_windows_patchfiles
-{
- my ( $filesref, $languagestringref, $allvariableshashref ) = @_;
-
- my @patchfiles = ();
- my %patchfiledirectories = ();
- my $patchfilename = "patchlist.txt";
- my $patchfilename2 = "patchmsi.dll";
-
- if ( ! $allvariableshashref->{'WINDOWSPATCHLEVEL'} ) { installer::exiter::exit_program("ERROR: No Windows patch level defined in list file (WINDOWSPATCHLEVEL) !", "prepare_windows_patchfiles"); }
- my $windowspatchlevel = $installer::globals::buildid;
-
- for ( my $i = 0; $i <= $#{$filesref}; $i++ )
- {
- my $onefile = ${$filesref}[$i];
-
- my $filename = $onefile->{'Name'};
- if (( $filename eq $patchfilename ) || ( $filename eq $patchfilename2 )) { next; }
-
- my $styles = "";
- if ( $onefile->{'Styles'} ) { $styles = $onefile->{'Styles'}; }
- if ( $styles =~ /\bDONTRENAMEINPATCH\b/ ) { next; }
-
- # special handling for files with flag DONTSHOW. This files get the extension ".dontshow" to be filtered by dialogs.
- my $localwindowspatchlevel = $windowspatchlevel;
- if ( $styles =~ /\bDONTSHOW\b/ ) { $localwindowspatchlevel = $localwindowspatchlevel . "\.dontshow"; }
-
- my $olddestination = $onefile->{'destination'};
- my $newdestination = $olddestination . "." . $localwindowspatchlevel;
- my $localfilename = $olddestination;
- installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$localfilename); # file name part
- my $line = "\"" . $localfilename . "\"" . "=" . "\"" . "\." . $localwindowspatchlevel . "\"";
- $onefile->{'destination'} = $newdestination;
-
- my $newfilename = $onefile->{'Name'} . "." . $localwindowspatchlevel;
- $onefile->{'Name'} = $newfilename;
-
- # adding section information (section is the directory)
- my $origolddestination = $olddestination;
- installer::pathanalyzer::get_path_from_fullqualifiedname(\$olddestination); # directory part
- if ( ! $olddestination ) { $olddestination = "_root"; }
- if ( ! exists($patchfiledirectories{$olddestination}) ) { $patchfiledirectories{$olddestination} = 1; }
- $line = $line . "\tXXXXX\t" . $olddestination . "\n";
-
- push(@patchfiles, $line);
-
- # also collecting all files from patch in @installer::globals::patchfilecollector
- my $patchfileline = $origolddestination . "\n";
- push(@installer::globals::patchfilecollector, $patchfileline);
- }
-
- my $winpatchdirname = "winpatch";
- my $winpatchdir = installer::systemactions::create_directories($winpatchdirname, $languagestringref);
-
- my ($patchlistfile) = grep {$_->{Name} eq $patchfilename} @{$filesref};
- if (! defined $patchlistfile) {
- installer::exiter::exit_program("ERROR: Could not find file $patchfilename in list of files!", "prepare_windows_patchfiles");
- }
-
- # reorganizing the patchfile content, sorting for directory to decrease the file size
- my $sorteddirectorylist = [ sort keys %patchfiledirectories ];
- my $patchfilelist = reorg_patchfile(\@patchfiles, $sorteddirectorylist);
-
- # shifting version.ini to the end of the list, to guarantee, that all files are patched
- # if the correct version is shown in the about box
- $patchfilelist = shift_section_to_end($patchfilelist);
- $patchfilelist = shift_file_to_end($patchfilelist);
-
- # saving the file
- $patchfilename = $winpatchdir . $installer::globals::separator . $patchfilename;
- installer::files::save_file($patchfilename, $patchfilelist);
-
- my $infoline = "\nCreated list of patch files: $patchfilename\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- # and assigning the new source
- $patchlistfile->{'sourcepath'} = $patchfilename;
-
- # and finally checking the file size
- if ( -f $patchfilename ) # test of existence
- {
- my $filesize = ( -s $patchfilename );
- $infoline = "Size of patch file list: $filesize\n\n";
- push( @installer::globals::logfileinfo, $infoline);
- installer::logger::print_message( "... size of patch list file: $filesize Byte ... \n" );
- }
-
-}
-
-###########################################################
# Replacing %-variables with the content
# of $allvariableshashref
###########################################################
diff --git a/solenv/bin/modules/installer/ziplist.pm b/solenv/bin/modules/installer/ziplist.pm
index c9ba2388ae92..aa15ba02061d 100644
--- a/solenv/bin/modules/installer/ziplist.pm
+++ b/solenv/bin/modules/installer/ziplist.pm
@@ -852,8 +852,7 @@ sub add_variables_to_allvariableshashref
$variableshashref->{'LCPRODUCTEXTENSION'} = "";
}
- if ( $installer::globals::patch ) { $variableshashref->{'PRODUCTADDON'} = $installer::globals::patchaddon; }
- elsif ( $installer::globals::languagepack ) { $variableshashref->{'PRODUCTADDON'} = $installer::globals::languagepackaddon; }
+ if ( $installer::globals::languagepack ) { $variableshashref->{'PRODUCTADDON'} = $installer::globals::languagepackaddon; }
elsif ( $installer::globals::helppack ) { $variableshashref->{'PRODUCTADDON'} = $installer::globals::helppackpackaddon; }
else { $variableshashref->{'PRODUCTADDON'} = ""; }
diff --git a/solenv/bin/oochkpatch b/solenv/bin/oochkpatch
deleted file mode 100755
index 4e5a9051dac8..000000000000
--- a/solenv/bin/oochkpatch
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-#
-# 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 .
-#
-if [ x${SOLARENV}x = xx ]; then
- echo No environment found, please use 'configure' or 'setsolar'
- exit 1
-fi
-exec perl -w $SOLARENV/bin/oochkpatch.pl "$@"
diff --git a/solenv/bin/oochkpatch.pl b/solenv/bin/oochkpatch.pl
deleted file mode 100644
index 82a7d7b5a761..000000000000
--- a/solenv/bin/oochkpatch.pl
+++ /dev/null
@@ -1,292 +0,0 @@
-:
- eval 'exec perl -S $0 ${1+"$@"}'
- if 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 .
-#
-#
-# oochkpatch - check patch flags against CWS modules
-#
-
-require File::Temp;
-require File::Find;
-require Getopt::Long;
-require Pod::Usage;
-use Pod::Usage;
-use Getopt::Long;
-use File::Temp qw/ tempfile tempdir /;
-use File::Find;
-
-
-# configuration goes here
-##########################################################
-
-# uncomment this, if in pure OOo environment
-#my $toplevel_module = "instsetoo_native";
-#my $scp_module = "scp2";
-#my $setup_file = "setup_osl";
-
-# uncomment this, if within the StarOffice environment
-my $toplevel_module = "instset_native";
-my $scp_module = "scp2so";
-my $setup_file = "setup";
-
-my $deliver = "solenv/bin/deliver.pl";
-my $build = "solenv/bin/build.pl";
-
-# list of hardcoded exceptions (files that are _never_ considered
-# missing from the patch)
-my %hardcoded_exceptions = ('build.lst' => 1);
-
-
-# no configuration below this point, please!
-##########################################################
-
-# defaults
-my $from_module = "";
-my $verbose = '';
-my $help = '';
-my $man = '';
-my $modules = '';
-my $from = '';
-my $perl = '';
-
-GetOptions('help|?' => \$help,
- 'man' => \$man,
- 'verbose' => \$verbose,
- 'from=s' => \$from_module ) or pod2usage(2);
-pod2usage(1) if $help;
-pod2usage(-exitstatus => 0, -verbose => 2) if $man;
-
-# process remaining args
-print "Processing args...\n" if $verbose;
-foreach my $argument (@ARGV)
-{
- print " Checking module ", $argument, "\n" if $verbose;
- push @modules, $argument;
-}
-
-# platform-dependent stuff
-if( $^O eq 'MSWin32' )
-{
- $perl = "$ENV{COMSPEC} -c $ENV{PERL}";
- $setup_file = $setup_file . ".inf";
-}
-else
-{
- $perl = 'perl';
- $setup_file = $setup_file . ".ins";
-};
-
-# read some SOLAR stuff from env
-my $SRC_ROOT = $ENV{"SRC_ROOT"};
-my $INPATH = $ENV{"INPATH"};
-
-# process --from modules
-if( $from_module )
-{
- print "Checking all modules upwards and including ", $from_module, "\n" if $verbose;
-
- # append build.pl-generated list of modules
- chdir "$SRC_ROOT/$toplevel_module" or
- chdir "$SRC_ROOT/$toplevel_module.lnk" or die "ERROR: cannot cd to $SRC_ROOT/$toplevel_module!";
- open(ALLMODULES,
- "$perl $SRC_ROOT/$build --all:$from_module --show 2>&1 |") or die "ERROR: cannot build --show!\n";
- while(<ALLMODULES>)
- {
- if( /Building project/ )
- {
- my @module = split( /\s+/, $_ );
- print " which is ", $module[2], "\n" if $verbose;
- push(@modules,$module[2]);
- }
- }
-}
-
-die "ERROR: no modules to check!\n" if !@modules;
-
-$tempdir = tempdir( TMPDIR => 1, CLEANUP => 1);
-
-# generate list of files with PATCH flag
-print "Generating list of files which have the PATCH flag...\n" if $verbose;
-
-my $path_to_setup_file = $SRC_ROOT."/".$scp_module."/".$INPATH."/bin/osl/".$setup_file;
-my $alternate_path_to_setup_file = $SRC_ROOT."/".$scp_module.".lnk/".$INPATH."/bin/osl/".$setup_file;
-my $in_file_block=0;
-my $patch_flag=0;
-my $file_name='';
-my $base;
-my $ext;
-my %pack_files;
-open(SETUP, "<".$path_to_setup_file) or
- open(SETUP, "<".$alternate_path_to_setup_file) or die "ERROR: cannot open $path_to_setup_file!\n";
-while(<SETUP>)
-{
- if( /^File\s+/ && !$in_file_block )
- {
- $in_file_block = 1;
- $patch_flag=0;
- $file_name='';
- }
- elsif( /^End/ && $file_name ne '' && $in_file_block )
- {
- $file_name =~ s/["']//g;
- $pack_files{$file_name} = $patch_flag;
-
- if( $patch_flag )
- {
- print( " File $file_name included in patch\n") if $verbose;
- }
- else
- {
- print( " File $file_name NOT included in patch\n") if $verbose;
- }
-
- $in_file_block = 0;
- }
- elsif( /^\s+Styles\s*=\s*.*PATCH/ && $in_file_block )
- {
- $patch_flag = 1;
- }
- elsif( ($res) = /^\s+Name\s*=\s*(.*);/ )
- {
- $file_name = $res;
- }
-}
-
-# generate list of delivered files
-print "Generating list of delivered libs...\n" if $verbose;
-
-# first, deliver all modules to tempdir
-foreach my $module (@modules)
-{
- print " dummy-delivering $module...\n" if $verbose;
- chdir "$SRC_ROOT/$module" or
- chdir "$SRC_ROOT/$module.lnk" or die "ERROR: cannot cd to $SRC_ROOT/$module!";
- `$perl $SRC_ROOT/$deliver $tempdir`;
-}
-
-# now, check all files in delivered dirs for containedness in PATCH
-# set
-print "Checking against delivered files...\n" if $verbose;
-find(\&wanted, $tempdir );
-
-sub wanted
-{
- my $fname;
-
- if( -f )
- {
- $fname = $_;
- if( !exists $pack_files{$fname} )
- {
- print " File $fname is not packed.\n" if $verbose;
- }
- elsif( $pack_files{$fname} == 0 )
- {
- if( !$hardcoded_exceptions{ $fname } )
- {
- # file not in patch set, and not in exception list
- print " File $fname is packed, but NOT included in patch set and part of delivered output\n" if $verbose;
- print "$fname\n" if !$verbose;
- }
- else
- {
- print " File $fname is NOT included in patch set, but member of hardcoded exception list\n" if $verbose;
- }
- }
- elsif( $pack_files{$fname} == 1 )
- {
- print " File $fname packed and patched.\n" if $verbose;
- }
- }
-}
-
-
-__END__
-
-=head1 NAME
-
-oochkpatch.pl - Verify patch flags against module libraries
-
-=head1 SYNOPSIS
-
-oochkpatch.pl [options] [module-name ...]
-
- Options:
- --help|-h brief help message
- --man|-m full documentation
- --verbose|-v tell what's happening
- --from=module check all modules from
- given one upwards
-
-=head1 OPTIONS
-
-=over 8
-
-=item B<--help>
-
-Print a brief help message and exits.
-
-=item B<--man>
-
-Prints the manual page and exits.
-
-=item B<--verbose>
-
-Verbosely tell what's currently happening
-
-=item B<--from=module>
-
-Assumes OOo was built incompatibly from given module
-upwards, and check against all libs from all upwards modules.
-Further modules can be given at the command line, which are merged
-with the ones generated from this option
-
-=back
-
-=head1 DESCRIPTION
-
-B<This program> will compare all libs delivered from the specified modules
-against the set of files marked with the B<patch> flag in scp2. Useful to check
-if the patch set is complete. Please note that this program needs to be run in
-a solar shell, i.e. the OOo build environment needs to be set up in the shell.
-
-There's kind of a heuristic involved, to determine exactly which files
-to check against includedness in the patch set (since e.g. all headers
-are delivered, but clearly need not be checked against patch
-flags). It works by first collecting all files that are mentioned in
-the pack master file, and then checking all files delivered from the
-specified modules against that pack list: if the file is not packed,
-or if it's packed and has the patch flag set, all is well. Otherwise,
-the file in question potentially misses the patch flag (because one of
-the modified modules contains it).
-
-=head1 EXAMPLE
-
-To determine the set of libs not yet carrying the patch flag for a CWS
-containing sfx2, svx, and vcl, which is incompatible from sfx2
-upwards, use something like this:
-
-oochkpatch.pl --from=sfx2 `cwsquery modules`
-
-This puts every module upwards and including sfx2 in the check list,
-plus vcl. Note that with this approach, you'll usually get a larger
-set of files for the patch than necessary - but at least you get all
-files that might have changed theoretically.
-
-=cut