summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
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