Author: af
Date: Tue Nov 12 13:37:30 2013
New Revision: 1541057
URL: http://svn.apache.org/r1541057
Log:
123531: Removed the old and incomplete support for updates (patches).
Removed:
openoffice/trunk/main/setup_native/source/packinfo/finals_instsetoo.txt
openoffice/trunk/main/solenv/bin/modules/installer/windows/msp.pm
openoffice/trunk/main/solenv/bin/modules/installer/windows/update.pm
Modified:
openoffice/trunk/main/instsetoo_native/util/openoffice.lst
openoffice/trunk/main/solenv/bin/make_installer.pl
openoffice/trunk/main/solenv/bin/modules/installer/globals.pm
openoffice/trunk/main/solenv/bin/modules/installer/windows/component.pm
openoffice/trunk/main/solenv/bin/modules/installer/windows/directory.pm
openoffice/trunk/main/solenv/bin/modules/installer/windows/file.pm
openoffice/trunk/main/solenv/bin/modules/installer/windows/media.pm
openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm
Modified: openoffice/trunk/main/instsetoo_native/util/openoffice.lst
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/instsetoo_native/util/openoffice.lst?rev=1541057&r1=1541056&r2=1541057&view=diff
==============================================================================
--- openoffice/trunk/main/instsetoo_native/util/openoffice.lst (original)
+++ openoffice/trunk/main/instsetoo_native/util/openoffice.lst Tue Nov 12
13:37:30 2013
@@ -27,9 +27,7 @@ Globals
NATIVEPROGRESS false
REGISTRYLAYERNAME Layers
SERVICEPACK 1
- UPDATE_DATABASE 1
CREATE_MSP_INSTALLSET 0
- UPDATE_DATABASE_LISTNAME finals_instsetoo.txt
PACKAGEMAP package_names.txt,package_names_ext.txt
WINDOWSPATCHLEVEL 8
OOOVENDOR Apache Software Foundation
Modified: openoffice/trunk/main/solenv/bin/make_installer.pl
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/make_installer.pl?rev=1541057&r1=1541056&r2=1541057&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/make_installer.pl (original)
+++ openoffice/trunk/main/solenv/bin/make_installer.pl Tue Nov 12 13:37:30 2013
@@ -75,7 +75,6 @@ use installer::windows::inifile;
use installer::windows::java;
use installer::windows::media;
use installer::windows::msiglobal;
-use installer::windows::msp;
use installer::windows::patch;
use installer::windows::property;
use installer::windows::removefile;
@@ -83,7 +82,6 @@ use installer::windows::registry;
use installer::windows::selfreg;
use installer::windows::shortcut;
use installer::windows::strip;
-use installer::windows::update;
use installer::windows::upgrade;
use installer::worker;
use installer::xpdinstaller;
@@ -709,30 +707,11 @@ for ( my $n = 0; $n <= $#installer::glob
my $uniquefilename = "";
my $revuniquefilename = "";
my $revshortfilename = "";
- my $allupdatesequences = "";
- my $allupdatecomponents = "";
- my $allupdatefileorder = "";
my $allupdatecomponentorder = "";
my $shortdirname = "";
my $componentid = "";
my $componentidkeypath = "";
my $alloldproperties = "";
- my $allupdatelastsequences = "";
- my $allupdatediskids = "";
-
- if ( $installer::globals::iswindowsbuild )
- {
- if ( $allvariableshashref->{'UPDATE_DATABASE'} )
- {
- $installer::logger::Info->print( "... analyzing update
database ...\n" );
- $refdatabase =
installer::windows::update::readdatabase($allvariableshashref,
$languagestringref, $includepatharrayref);
-
- if ( $installer::globals::updatedatabase )
- {
- ($uniquefilename, $revuniquefilename,
$revshortfilename, $allupdatesequences, $allupdatecomponents,
$allupdatefileorder, $allupdatecomponentorder, $shortdirname, $componentid,
$componentidkeypath, $alloldproperties, $allupdatelastsequences,
$allupdatediskids) =
installer::windows::update::create_database_hashes($refdatabase);
- }
- }
- }
##############################################
# Setting global code variables for Windows
@@ -1940,9 +1919,8 @@ for ( my $n = 0; $n <= $#installer::glob
# Collection all available directory trees
installer::windows::directory::collectdirectorytrees($directoriesforepmarrayref);
- $filesinproductlanguageresolvedarrayref =
installer::windows::file::create_files_table($filesinproductlanguageresolvedarrayref,
\@allfilecomponents, $newidtdir, $allvariableshashref, $uniquefilename,
$allupdatesequences, $allupdatecomponents, $allupdatefileorder);
+ $filesinproductlanguageresolvedarrayref =
installer::windows::file::create_files_table($filesinproductlanguageresolvedarrayref,
\@allfilecomponents, $newidtdir, $allvariableshashref, $uniquefilename);
if ( $installer::globals::globallogging ) {
installer::files::save_array_of_hashes($loggingdir . "productfiles17c.log",
$filesinproductlanguageresolvedarrayref); }
- if ( $installer::globals::updatedatabase ) {
installer::windows::file::check_file_sequences($allupdatefileorder,
$allupdatecomponentorder); }
installer::windows::directory::create_directory_table($directoriesforepmarrayref,
$newidtdir, $allvariableshashref, $shortdirname, $loggingdir);
if ( $installer::globals::globallogging ) {
installer::files::save_array_of_hashes($loggingdir . "productfiles18.log",
$filesinproductlanguageresolvedarrayref); }
@@ -1966,7 +1944,7 @@ for ( my $n = 0; $n <= $#installer::glob
installer::windows::featurecomponent::create_featurecomponent_table($filesinproductlanguageresolvedarrayref,
$registryitemsinproductlanguageresolvedarrayref, $newidtdir);
-
installer::windows::media::create_media_table($filesinproductlanguageresolvedarrayref,
$newidtdir, $allvariableshashref, $allupdatelastsequences, $allupdatediskids);
+
installer::windows::media::create_media_table($filesinproductlanguageresolvedarrayref,
$newidtdir, $allvariableshashref);
if ( $installer::globals::globallogging ) {
installer::files::save_array_of_hashes($loggingdir . "productfiles20.log",
$filesinproductlanguageresolvedarrayref); }
installer::windows::font::create_font_table($filesinproductlanguageresolvedarrayref,
$newidtdir);
@@ -2255,20 +2233,6 @@ for ( my $n = 0; $n <= $#installer::glob
installer::worker::clean_output_tree(); # removing directories
created in the output tree
($is_success, $finalinstalldir) =
installer::worker::analyze_and_save_logfile($loggingdir, $installdir,
$installlogdir, $allsettingsarrayref, $languagestringref,
$current_install_number);
- #######################################################
- # Creating Windows msp patches
- #######################################################
-
- if (( $is_success ) && ( $installer::globals::updatedatabase )
&& ( $allvariableshashref->{'CREATE_MSP_INSTALLSET'} ))
- {
- # Required:
- # Temp path for administrative installations:
$installer::globals::temppath
- # Path of new installation set: $finalinstalldir
- # Path of old installation set:
$installer::globals::updatedatabasepath
- my $mspdir =
installer::windows::msp::create_msp_patch($finalinstalldir,
$includepatharrayref, $allvariableshashref, $languagestringref,
$languagesarrayref, $filesinproductlanguageresolvedarrayref);
- ($is_success, $finalinstalldir) =
installer::worker::analyze_and_save_logfile($loggingdir, $mspdir,
$installlogdir, $allsettingsarrayref, $languagestringref,
$current_install_number);
- installer::worker::clean_output_tree(); # removing
directories created in the output tree
- }
#######################################################
# Creating download installation set
Modified: openoffice/trunk/main/solenv/bin/modules/installer/globals.pm
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/globals.pm?rev=1541057&r1=1541056&r2=1541057&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/globals.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/globals.pm Tue Nov 12
13:37:30 2013
@@ -226,17 +226,11 @@ BEGIN
@linkrpms = ();
$archiveformat = "";
$minorupgradekey = "";
- $updatelastsequence = 0;
- $updatesequencecounter = 0;
- $updatedatabase = 0;
- $updatedatabasepath = "";
$pfffileexists = 0;
$pffcabfilename = "ooobasis3.0_pff.cab";
- %newupdatefiles = ();
- %allusedupdatesequences = ();
$mergefiles_added_into_collector = 0;
$creating_windows_installer_patch = 0;
-
+
$strip = 1;
$globallogging = 0;
Modified:
openoffice/trunk/main/solenv/bin/modules/installer/windows/component.pm
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/windows/component.pm?rev=1541057&r1=1541056&r2=1541057&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/component.pm
(original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/component.pm Tue
Nov 12 13:37:30 2013
@@ -46,11 +46,6 @@ sub get_component_guid
# At this time only a template
my $returnvalue = "\{COMPONENTGUID\}";
- if (( $installer::globals::updatedatabase ) && (
exists($componentidhashref->{$componentname}) ))
- {
- $returnvalue = $componentidhashref->{$componentname};
- }
-
# Returning a ComponentID, that is assigned in scp project
if ( exists($installer::globals::componentid{$componentname}) )
{
Modified:
openoffice/trunk/main/solenv/bin/modules/installer/windows/directory.pm
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/windows/directory.pm?rev=1541057&r1=1541056&r2=1541057&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/directory.pm
(original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/directory.pm Tue
Nov 12 13:37:30 2013
@@ -358,8 +358,7 @@ sub create_defaultdir_directorynames
my ($directoryref, $shortdirnamehashref) = @_;
my @shortnames = ();
- if ( $installer::globals::updatedatabase ) { @shortnames =
values(%{$shortdirnamehashref}); }
- elsif ( $installer::globals::prepare_winpatch ) { @shortnames =
values(%installer::globals::saved83dirmapping); }
+ if ( $installer::globals::prepare_winpatch ) { @shortnames =
values(%installer::globals::saved83dirmapping); }
for ( my $i = 0; $i <= $#{$directoryref}; $i++ )
{
@@ -371,11 +370,7 @@ sub create_defaultdir_directorynames
#
installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$hostname);
# making program/classes to classes
my $uniquename = $onedir->{'uniquename'};
my $shortstring;
- if (( $installer::globals::updatedatabase ) && (
exists($shortdirnamehashref->{$uniquename}) ))
- {
- $shortstring = $shortdirnamehashref->{$uniquename};
- }
- elsif (( $installer::globals::prepare_winpatch ) && (
exists($installer::globals::saved83dirmapping{$uniquename}) ))
+ if (( $installer::globals::prepare_winpatch ) && (
exists($installer::globals::saved83dirmapping{$uniquename}) ))
{
$shortstring =
$installer::globals::saved83dirmapping{$uniquename};
}
Modified: openoffice/trunk/main/solenv/bin/modules/installer/windows/file.pm
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/windows/file.pm?rev=1541057&r1=1541056&r2=1541057&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/file.pm
(original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/file.pm Tue Nov
12 13:37:30 2013
@@ -377,16 +377,7 @@ sub generate_unique_filename_for_filetab
installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$uniquefilename);
# making /registry/schema/org/openoffice/VCL.xcs to VCL.xcs
# Reading unique filename with help of "Component_" in File table from
old database
- if (( $installer::globals::updatedatabase ) && (
exists($uniquefilenamehashref->{"$component/$uniquefilename"}) ))
- {
- $uniquefilename =
$uniquefilenamehashref->{"$component/$uniquefilename"}; # syntax of $value:
($uniquename;$shortname)
- if ( $uniquefilename =~ /^\s*(.*?)\;\s*(.*?)\s*$/ ) {
$uniquefilename = $1; }
- $lcuniquefilename = lc($uniquefilename);
- $installer::globals::alluniquefilenames{$uniquefilename} = 1;
- $installer::globals::alllcuniquefilenames{$lcuniquefilename} =
1;
- return $uniquefilename;
- }
- elsif (( $installer::globals::prepare_winpatch ) && (
exists($installer::globals::savedmapping{"$component/$uniquefilename"}) ))
+ if (( $installer::globals::prepare_winpatch ) && (
exists($installer::globals::savedmapping{"$component/$uniquefilename"}) ))
{
# If we have a FTK mapping for this component/file, use it.
$installer::globals::savedmapping{"$component/$uniquefilename"}
=~ m/^(.*);/;
@@ -473,13 +464,7 @@ sub generate_filename_for_filetable
my $shortstring;
# Reading short string with help of "FileName" in File table from old
database
- if (( $installer::globals::updatedatabase ) && (
exists($uniquefilenamehashref->{"$fileref->{'componentname'}/$filename"}) ))
- {
- my $value =
$uniquefilenamehashref->{"$fileref->{'componentname'}/$filename"}; # syntax of
$value: ($uniquename;$shortname)
- if ( $value =~ /^\s*(.*?)\;\s*(.*?)\s*$/ ) { $shortstring = $2;
} # already collected in function "collect_shortnames_from_old_database"
- else { $shortstring = $filename; }
- }
- elsif (( $installer::globals::prepare_winpatch ) && (
exists($installer::globals::savedmapping{"$fileref->{'componentname'}/$filename"})
))
+ if (( $installer::globals::prepare_winpatch ) && (
exists($installer::globals::savedmapping{"$fileref->{'componentname'}/$filename"})
))
{
$installer::globals::savedmapping{"$fileref->{'componentname'}/$filename"} =~
m/.*;(.*)/;
if ($1 ne '')
@@ -567,85 +552,6 @@ sub get_fileversion
}
#############################################
-# Returning the sequence for a file
-#############################################
-
-sub get_sequence_for_file
-{
- my ($number, $onefile, $fileentry, $allupdatesequenceshashref,
$allupdatecomponentshashref, $allupdatefileorderhashref, $allfilecomponents) =
@_;
-
- my $sequence = "";
- my $infoline = "";
- my $pffcomponentname = $onefile->{'componentname'} . "_pff";
-
- if ( $installer::globals::updatedatabase )
- {
- if ((
exists($allupdatesequenceshashref->{$onefile->{'uniquename'}}) ) &&
- (( $onefile->{'componentname'} eq
$allupdatecomponentshashref->{$onefile->{'uniquename'}} ) ||
- ( $pffcomponentname eq
$allupdatecomponentshashref->{$onefile->{'uniquename'}} )))
- {
- # The second condition is necessary to find shifted
files, that have same "uniquename", but are now
- # located in another directory. This can be seen at the
component name.
- $sequence =
$allupdatesequenceshashref->{$onefile->{'uniquename'}};
- $onefile->{'assignedsequencenumber'} = $sequence;
- # Collecting all used sequences, to guarantee, that no
number is unused
- $installer::globals::allusedupdatesequences{$sequence}
= 1;
- # Special help for files, that already have a "pff"
component name (for example after ServicePack 1)
- if ( $pffcomponentname eq
$allupdatecomponentshashref->{$onefile->{'uniquename'}} )
- {
- $infoline = "Warning: Special handling for
component \"$pffcomponentname\". This file was added after the final, but
before this ServicePack.\n";
- $installer::logger::Lang->print($infoline);
- $onefile->{'componentname'} =
$pffcomponentname; # pff for "post final file"
- $fileentry->{'Component_'} =
$onefile->{'componentname'};
- if ( !
exists($allfilecomponents->{$fileentry->{'Component_'}}) ) {
$allfilecomponents->{$fileentry->{'Component_'}} = 1; }
- }
- }
- else
- {
- $installer::globals::updatesequencecounter++;
- $sequence = $installer::globals::updatesequencecounter;
- $onefile->{'assignedsequencenumber'} = $sequence;
- # $onefile->{'assignedcabinetfile'} =
$installer::globals::pffcabfilename; # assigning to cabinet file for "post
final files"
- # Collecting all new files
- $installer::globals::newupdatefiles{$sequence} =
$onefile;
- # Saving in sequence hash
- $allupdatefileorderhashref->{$sequence} =
$onefile->{'uniquename'};
-
- # If the new file is part of an existing component,
this must be changed now. All files
- # of one component have to be included in one cabinet
file. But because the order must
- # not change, all new files have to be added to new
components.
- # $onefile->{'componentname'} = $file{'Component_'};
-
- $onefile->{'componentname'} =
$onefile->{'componentname'} . "_pff"; # pff for "post final file"
- $fileentry->{'Component_'} =
$onefile->{'componentname'};
- if ( !
exists($allfilecomponents->{$fileentry->{'Component_'}}) ) {
$allfilecomponents->{$fileentry->{'Component_'}} = 1; }
- $onefile->{'PostFinalFile'} = 1;
- # $installer::globals::pfffileexists = 1;
- # The sequence for this file has changed. It has to be
inserted at the end of the files collector.
- $installer::globals::insert_file_at_end = 1;
- $installer::globals::newfilescollector{$sequence} =
$onefile; # Adding new files to the end of the filescollector
- $installer::globals::newfilesexist = 1;
- }
- }
- else
- {
- $sequence = $number;
- # my $sequence = $number + 1;
-
- # Idea: Each component is packed into a cab file.
- # This requires that all files in one cab file have sequences
directly follwing each other,
- # for instance from 1456 to 1466. Then in the media table the
LastSequence for this cab file
- # is 1466.
- # Because all files belonging to one component are directly
behind each other in the file
- # collector, it is possible to use simply an increasing number
as sequence value.
- # If files belonging to one component are not directly behind
each other in the files collector
- # this mechanism will no longer work.
- }
-
- return $sequence;
-}
-
-#############################################
# Returning the Windows language of a file
#############################################
@@ -689,73 +595,6 @@ sub generate_registry_keypath
return $keypath;
}
-####################################################################
-# Check, if in an update process files are missing. No removal
-# of files allowed for Windows Patch creation.
-# Also logging all new files, that have to be included in extra
-# components and cab files.
-####################################################################
-
-sub check_file_sequences
-{
- my ($allupdatefileorderhashref, $allupdatecomponentorderhashref) = @_;
-
- # All used sequences stored in
%installer::globals::allusedupdatesequences
- # Maximum sequence number of old database stored in
$installer::globals::updatelastsequence
- # All new files stored in %installer::globals::newupdatefiles
-
- my $infoline = "";
-
- my @missing_sequences = ();
-
- for ( my $i = 1; $i <= $installer::globals::updatelastsequence; $i++ )
- {
- if ( ! exists($installer::globals::allusedupdatesequences{$i})
) { push(@missing_sequences, $i); }
- }
-
- if ( $#missing_sequences > -1 )
- {
- my $errorstring = "";
- for ( my $j = 0; $j <= $#missing_sequences; $j++ )
- {
- my $filename =
$allupdatefileorderhashref->{$missing_sequences[$j]};
- my $comp =
$allupdatecomponentorderhashref->{$missing_sequences[$j]};
- $errorstring = "$errorstring$filename (Sequence:
$missing_sequences[$j], Component: \"$comp\")\n";
- }
-
- $infoline = "ERROR: Files are removed compared with update
database.\nThe following files are missing:\n$errorstring";
- $installer::logger::Lang->print($infoline);
- installer::exiter::exit_program($infoline,
"check_file_sequences");
- }
-
- # Searching for new files
-
- my $counter = 0;
-
- foreach my $key ( keys %installer::globals::newupdatefiles )
- {
- my $onefile = $installer::globals::newupdatefiles{$key};
- $counter++;
- if ( $counter == 1 )
- {
- $installer::logger::Lang->print("\n");
- $installer::logger::Lang->print("New files compared to
the update database:\n");
- }
-
- $installer::logger::Lang->printf("%s (%s) Sequence: %s\n",
- $onefile->{'Name'},
- $onefile->{'gid'},
- $onefile->{'assignedsequencenumber'});
- }
-
- if ( $counter == 0 )
- {
- $infoline = "Info: No new file compared with update
database!\n";
- $installer::logger::Lang->print($infoline);
- }
-
-}
-
###################################################################
# Collecting further conditions for the component table.
# This is used by multilayer products, to enable installation
@@ -822,7 +661,7 @@ sub collect_shortnames_from_old_database
sub create_files_table
{
- my ($filesref, $allfilecomponentsref, $basedir, $allvariables,
$uniquefilenamehashref, $allupdatesequenceshashref,
$allupdatecomponentshashref, $allupdatefileorderhashref) = @_;
+ my ($filesref, $allfilecomponentsref, $basedir, $allvariables,
$uniquefilenamehashref) = @_;
$installer::logger::Lang->add_timestamp("Performance Info: File Table
start");
@@ -847,8 +686,6 @@ sub create_files_table
# my @shortnames = ();
my %shortnames = ();
- if ( $installer::globals::updatedatabase ) {
collect_shortnames_from_old_database($uniquefilenamehashref, \%shortnames); }
-
installer::windows::idtglobal::write_idt_header(\@filetable, "file");
installer::windows::idtglobal::write_idt_header(\@filehashtable,
"filehash");
@@ -889,7 +726,7 @@ sub create_files_table
$installer::globals::insert_file_at_end = 0;
$counter++;
- $file{'Sequence'} = get_sequence_for_file($counter, $onefile,
\%file, $allupdatesequenceshashref, $allupdatecomponentshashref,
$allupdatefileorderhashref, \%allfilecomponents);
+ $file{'Sequence'} = $counter;
$onefile->{'sequencenumber'} = $file{'Sequence'};
Modified: openoffice/trunk/main/solenv/bin/modules/installer/windows/media.pm
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/windows/media.pm?rev=1541057&r1=1541056&r2=1541057&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/media.pm
(original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/media.pm Tue Nov
12 13:37:30 2013
@@ -210,16 +210,7 @@ sub get_last_sequence
{
my ( $cabfilename, $alludpatelastsequences ) = @_;
- my $sequence = 0;
-
- if (( $installer::globals::updatedatabase ) && (
exists($alludpatelastsequences->{$cabfilename}) ))
- {
- $sequence = $alludpatelastsequences->{$cabfilename};
- }
- else
- {
- $sequence = $installer::globals::lastsequence{$cabfilename};
- }
+ my $sequence = $installer::globals::lastsequence{$cabfilename};
return $sequence;
}
@@ -233,7 +224,7 @@ sub get_last_sequence
sub create_media_table
{
- my ($filesref, $basedir, $allvariables, $alludpatelastsequences,
$allupdatediskids) = @_;
+ my ($filesref, $basedir, $allvariables) = @_;
my @mediatable = ();
Modified:
openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm?rev=1541057&r1=1541056&r2=1541057&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm
(original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/msiglobal.pm Tue
Nov 12 13:37:30 2013
@@ -166,93 +166,7 @@ sub generate_cab_file_list
if ( $^O =~ /cygwin/i ) {
installer::worker::generate_cygwin_pathes($filesref); }
- if (( $installer::globals::fix_number_of_cab_files ) && (
$installer::globals::updatedatabase ))
- {
- my $sequenceorder = get_sequenceorder($filesref);
-
- my $counter = 1;
- my $currentcabfile = "";
-
- while ( exists($sequenceorder->{$counter}) )
- {
- my $onefile = ${$filesref}[$sequenceorder->{$counter}];
- $counter++;
-
- my $cabinetfile = $onefile->{'cabinet'};
- my $sourcepath = $onefile->{'sourcepath'};
- if ( $^O =~ /cygwin/i ) { $sourcepath =
$onefile->{'cyg_sourcepath'}; }
- my $uniquename = $onefile->{'uniquename'};
-
- my $styles = "";
- my $doinclude = 1;
- if ( $onefile->{'Styles'} ) { $styles =
$onefile->{'Styles'}; };
- if ( $styles =~ /\bDONT_PACK\b/ ) { $doinclude = 0; }
-
- # to avoid lines with more than 256 characters, it can
be useful to use relative pathes
- if ( $allvariables->{'RELATIVE_PATHES_IN_DDF'} ) {
$sourcepath = make_relative_ddf_path($sourcepath); }
-
- my @ddffile = ();
-
- write_ddf_file_header(\@ddffile, $cabinetfile,
$installdir);
-
- my $ddfline = "\"" . $sourcepath . "\"" . " " .
$uniquename . "\n";
- if ( $doinclude ) { push(@ddffile, $ddfline); }
-
- my $nextfile = "";
- if ( ${$filesref}[$sequenceorder->{$counter}] ) {
$nextfile = ${$filesref}[$sequenceorder->{$counter}]; }
-
- my $nextcabinetfile = "";
-
- if ( $nextfile->{'cabinet'} ) { $nextcabinetfile =
$nextfile->{'cabinet'}; }
-
- while ( $nextcabinetfile eq $cabinetfile )
- {
- $sourcepath = $nextfile->{'sourcepath'};
- if ( $^O =~ /cygwin/i ) { $sourcepath =
$nextfile->{'cyg_sourcepath'}; }
- # to avoid lines with more than 256 characters,
it can be useful to use relative pathes
- if ( $allvariables->{'RELATIVE_PATHES_IN_DDF'}
) { $sourcepath = make_relative_ddf_path($sourcepath); }
- $uniquename = $nextfile->{'uniquename'};
- my $localdoinclude = 1;
- my $nextfilestyles = "";
- if ( $nextfile->{'Styles'} ) { $nextfilestyles
= $nextfile->{'Styles'}; }
- if ( $nextfilestyles =~ /\bDONT_PACK\b/ ) {
$localdoinclude = 0; }
- $ddfline = "\"" . $sourcepath . "\"" . " " .
$uniquename . "\n";
- if ( $localdoinclude ) { push(@ddffile,
$ddfline); }
- $counter++;
# increasing the counter!
- $nextfile = "";
- $nextcabinetfile = "_lastfile_";
- if (( exists($sequenceorder->{$counter}) ) && (
${$filesref}[$sequenceorder->{$counter}] ))
- {
- $nextfile =
${$filesref}[$sequenceorder->{$counter}];
- $nextcabinetfile =
$nextfile->{'cabinet'};
- }
- }
-
- # creating the DDF file
-
- my $ddffilename = $cabinetfile;
- $ddffilename =~ s/.cab/.ddf/;
- $ddfdir =~ s/\Q$installer::globals::separator\E\s*$//;
- $ddffilename = $ddfdir . $installer::globals::separator
. $ddffilename;
-
- installer::files::save_file($ddffilename ,\@ddffile);
- my $infoline = "Created ddf file: $ddffilename\n";
- $installer::logger::Lang->print($infoline);
-
- # lines in ddf files must not be longer than 256
characters
- check_ddf_file(\@ddffile, $ddffilename);
-
- # Writing the makecab system call
-
- my $oneline = "makecab.exe /V3 /F " . $ddffilename . "
2\>\&1 |" . "\n";
-
- push(@cabfilelist, $oneline);
-
- # collecting all ddf files
- push(@installer::globals::allddffiles, $ddffilename);
- }
- }
- elsif ( $installer::globals::fix_number_of_cab_files )
+ if ( $installer::globals::fix_number_of_cab_files )
{
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
{
@@ -1831,11 +1745,7 @@ sub set_global_code_variables
}
# ProductCode must not change, if Windows patches shall be applied
- if ( $installer::globals::updatedatabase )
- {
- $installer::globals::productcode =
$alloldproperties->{'ProductCode'};
- }
- elsif ( $installer::globals::prepare_winpatch )
+ if ( $installer::globals::prepare_winpatch )
{
# ProductCode has to be specified in each language
my $searchstring = "PRODUCTCODE";