You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by af...@apache.org on 2013/11/29 16:49:28 UTC

svn commit: r1546588 - in /openoffice/trunk/main/solenv/bin: ./ modules/installer/ modules/installer/windows/

Author: af
Date: Fri Nov 29 15:49:27 2013
New Revision: 1546588

URL: http://svn.apache.org/r1546588
Log:
123729: More cleanup in make_installer.pl

Modified:
    openoffice/trunk/main/solenv/bin/make_installer.pl
    openoffice/trunk/main/solenv/bin/modules/installer/converter.pm
    openoffice/trunk/main/solenv/bin/modules/installer/pathanalyzer.pm
    openoffice/trunk/main/solenv/bin/modules/installer/scppatchsoname.pm
    openoffice/trunk/main/solenv/bin/modules/installer/scpzipfiles.pm
    openoffice/trunk/main/solenv/bin/modules/installer/scriptitems.pm
    openoffice/trunk/main/solenv/bin/modules/installer/setupscript.pm
    openoffice/trunk/main/solenv/bin/modules/installer/windows/assembly.pm
    openoffice/trunk/main/solenv/bin/modules/installer/windows/component.pm
    openoffice/trunk/main/solenv/bin/modules/installer/worker.pm

Modified: openoffice/trunk/main/solenv/bin/make_installer.pl
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/make_installer.pl?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/make_installer.pl (original)
+++ openoffice/trunk/main/solenv/bin/make_installer.pl Fri Nov 29 15:49:27 2013
@@ -1929,7 +1929,9 @@ for (;1;last) 
 
 		if ( $installer::globals::patch_user_dir )
 		{
-			installer::scriptitems::replace_userdir_variable($profileitemsinproductlanguageresolvedarrayref);
+			installer::scriptitems::replace_userdir_variable(
+                $profileitemsinproductlanguageresolvedarrayref,
+                $allvariableshashref);
 		}
 
 		installer::scriptitems::get_Destination_Directory_For_Item_From_Directorylist($profilesinproductlanguageresolvedarrayref, $dirsinproductarrayref);

Modified: openoffice/trunk/main/solenv/bin/modules/installer/converter.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/converter.pm?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/converter.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/converter.pm Fri Nov 29 15:49:27 2013
@@ -305,18 +305,17 @@ sub make_path_conform
 
 sub copy_collector
 {
-	my ( $oldcollector ) = @_;
+	my ($oldcollector) = @_;
 
 	my @newcollector = ();
 
-	for ( my $i = 0; $i <= $#{$oldcollector}; $i++ )
+	foreach my $oldhash (@$oldcollector)
 	{
 		my %newhash = ();
-		my $key;
 	
-		foreach $key (keys %{${$oldcollector}[$i]})
+		while (my ($key, $value) = each %$oldhash)
 		{
-			$newhash{$key} = ${$oldcollector}[$i]->{$key};
+			$newhash{$key} = $value;
 		}
 				
 		push(@newcollector, \%newhash);

Modified: openoffice/trunk/main/solenv/bin/modules/installer/pathanalyzer.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/pathanalyzer.pm?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/pathanalyzer.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/pathanalyzer.pm Fri Nov 29 15:49:27 2013
@@ -46,6 +46,14 @@ sub get_path_from_fullqualifiedname
 	}	
 }
 
+
+
+
+=head2
+
+    Despite its name, this function seems just to return the basename of the given filename.
+    
+=cut
 sub make_absolute_filename_to_relative_filename
 {
 	my ($longfilenameref) = @_;

Modified: openoffice/trunk/main/solenv/bin/modules/installer/scppatchsoname.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/scppatchsoname.pm?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/scppatchsoname.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/scppatchsoname.pm Fri Nov 29 15:49:27 2013
@@ -100,31 +100,10 @@ sub replace_productname_in_file
 
 	change_length_of_string(\$unicode_productname, $replacestring);
 
-	my $found1 = $onefile =~ s/$replacestring/$unicode_productname/sg;
-
-	my $found2 = 0;
-
-	if ( $styles =~ /\bPATCH_SO_NAME_Z\b/ )
-	{
-		# searching for "z" 
-
-		$onestring = "z" . chr(0);
-		$replacestring = "";
-		for ( my $i = 1; $i <= 80; $i++ ) { $replacestring .= $onestring; }
-
-		my $productname2 = $variableshashref->{'PRODUCTNAME'} . " " . $variableshashref->{'PRODUCTVERSION'};
-		if ( exists($onefilehash->{'FileDescriptionZ'}) ) { $productname2 = $onefilehash->{'FileDescriptionZ'}; }
-		my $unicode_productname2 = convert_to_unicode($productname2);
-
-		change_length_of_string_with_letter(\$unicode_productname2, $replacestring, $onestring);
-
-		$found2 = $onefile =~ s/$replacestring/$unicode_productname2/sg;
-	}
+	my $found = $onefile =~ s/$replacestring/$unicode_productname/sg;
 
 	installer::files::save_binary_file($onefile, $destpath);
 
-	my $found = $found1 + $found2;
-	
 	return $found;
 }
 

Modified: openoffice/trunk/main/solenv/bin/modules/installer/scpzipfiles.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/scpzipfiles.pm?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/scpzipfiles.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/scpzipfiles.pm Fri Nov 29 15:49:27 2013
@@ -29,29 +29,35 @@ use installer::logger;
 use installer::pathanalyzer;
 use installer::systemactions;
 
+use strict;
+
 ########################################################################################
 # Replacing all zip list variables in setup script and files with flag scpzip_replace
 ########################################################################################
 
-sub replace_all_ziplistvariables_in_file
+sub replace_all_ziplistvariables_in_file ($$)
 {
-	my ( $fileref, $variableshashref ) = @_;
+	my ($lines, $variables) = @_;
 
-	for ( my $i = 0; $i <= $#{$fileref}; $i++ )
+    my $count = scalar @$lines;
+	for (my $lineno=0; $lineno<$count; ++$lineno)
 	{
-		my $line = ${$fileref}[$i];
-
-		if ( $line =~ /^.*\$\{\w+\}.*$/ )	# only occurence of ${abc}
-		{			
-			my $key;
-
-			foreach $key (keys %{$variableshashref})
-			{
-				my $value = $variableshashref->{$key};
-				$key = '${' . $key . '}';
-				$line =~ s/\Q$key\E/$value/g;			
-				${$fileref}[$i] = $line;
+        my $line = $lines->[$lineno];
+		if ($line =~ /\$\{/)  # early rejection of lines that don't need replacements
+		{
+            while (my ($key,$value) = each %$variables)
+			{
+				my $pattern = '${' . $key . '}';
+				my $replacement_count = ($line =~ s/\Q$pattern\E/$value/g);
+                if ($key eq "PRODUCTADDON" && $replacement_count>0)
+                {
+                    $installer::logger::Lang->printf(
+                        "replaced PRODUCTADDON %d times in line %d\n",
+                        $replacement_count,
+                        $lineno);
+                }
 			}
+            $lines->[$lineno] = $line;
 		}
 	}
 }
@@ -63,7 +69,7 @@ sub replace_all_ziplistvariables_in_file
 
 sub replace_all_ziplistvariables_in_rtffile ($$)
 {
-	my ($lines, $variablesref) = @_;
+	my ($lines, $variables) = @_;
 
     my $line_count = scalar @$lines;
 	for (my $i=0; $i<=$line_count; ++$i)

Modified: openoffice/trunk/main/solenv/bin/modules/installer/scriptitems.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/scriptitems.pm?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/scriptitems.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/scriptitems.pm Fri Nov 29 15:49:27 2013
@@ -37,6 +37,8 @@ use File::Spec;
 use SvnRevision;
 use ExtensionsLst;
 
+use strict;
+
 ################################################################
 # Resolving the GID for the directories defined in setup script
 ################################################################
@@ -45,8 +47,6 @@ sub resolve_all_directory_names
 {
 	my ($directoryarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::resolve_all_directory_names : $#{$directoryarrayref}"); }
-
 	# After this procedure the hash shall contain the complete language 
 	# dependent path, not only the language dependent HostName.
 
@@ -160,8 +160,6 @@ sub remove_delete_only_files_from_produc
 {
 	my ($productarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_delete_only_files_from_productlists : $#{$productarrayref}"); }
-
 	my @newitems = ();
 
 	for ( my $i = 0; $i <= $#{$productarrayref}; $i++ )
@@ -189,8 +187,6 @@ sub remove_notinsuite_files_from_product
 {
 	my ($productarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_notinsuite_files_from_productlists : $#{$productarrayref}"); }
-
 	my @newitems = ();
 
 	for ( my $i = 0; $i <= $#{$productarrayref}; $i++ )
@@ -223,8 +219,6 @@ sub remove_office_start_language_files
 {
 	my ($productarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_notinsuite_files_from_productlists : $#{$productarrayref}"); }
-
 	my @newitems = ();
 
 	for ( my $i = 0; $i <= $#{$productarrayref}; $i++ )
@@ -257,8 +251,6 @@ sub remove_uninstall_regitems_from_scrip
 {
 	my ($registryarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_uninstall_regitems_from_script : $#{$registryarrayref}"); }
-
 	my @newitems = ();
 
 	for ( my $i = 0; $i <= $#{$registryarrayref}; $i++ )
@@ -310,8 +302,6 @@ sub resolving_all_languages_in_productli
 {
 	my ($productarrayref, $languagesarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::resolving_all_languages_in_productlists : $#{$productarrayref} : $#{$languagesarrayref}"); }
-
 	my @itemsinalllanguages = ();
 
 	my ($key, $value);
@@ -894,8 +884,6 @@ sub changing_name_of_language_dependent_
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::changing_name_of_language_dependent_keys : $#{$itemsarrayref}"); }
-
 	# Changing key for multilingual items from "Name ( )" to "Name" or "HostName ( )" to "HostName"
 
 	for ( my $i = 0; $i <= $#{$itemsarrayref}; $i++ )
@@ -962,8 +950,6 @@ sub replace_setup_variables
 {
 	my ($itemsarrayref, $languagestringref, $hashref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::replace_setup_variables : $#{$itemsarrayref} : $$languagestringref : $hashref->{'PRODUCTNAME'}"); }
-
 	my $languagesstring = $$languagestringref;
 	$languagesstring =~ s/\_/ /g;	# replacing underscore with whitespace
 	# $languagesstring is "01 49" instead of "en-US de"
@@ -1027,19 +1013,24 @@ sub replace_setup_variables
 # the standard destination of user directory defined in scp2 ($SYSUSERCONFIG).
 ################################################################################
 
-sub replace_userdir_variable
+sub replace_userdir_variable ($$)
 {
-	my ($itemsarrayref) = @_;
+	my ($itemsarrayref, $allvariableshashref) = @_;
 	
 	my $userdir = "";
-	if ( $allvariableshashref->{'LOCALUSERDIR'} ) { $userdir = $allvariableshashref->{'LOCALUSERDIR'}; }
-	else { $userdir = $installer::globals::simpledefaultuserdir; } 
+	if ($allvariableshashref->{'LOCALUSERDIR'})
+    {
+        $userdir = $allvariableshashref->{'LOCALUSERDIR'};
+    }
+	else
+    {
+        $userdir = $installer::globals::simpledefaultuserdir;
+    }
 	
-	if ( $userdir ne "" )
+	if ($userdir ne "")
 	{
-		for ( my $i = 0; $i <= $#{$itemsarrayref}; $i++ )
+		foreach my $oneitem (@$itemsarrayref)
 		{
-			my $oneitem = ${$itemsarrayref}[$i];		
 			$oneitem->{'Value'} =~ s/\$SYSUSERCONFIG/$userdir/;
 		}
 	}
@@ -1056,8 +1047,6 @@ sub remove_non_existent_languages_in_pro
 {
 	my ($itemsarrayref, $languagestringref, $searchkey, $itemtype) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_non_existent_languages_in_productlists : $#{$itemsarrayref} : $$languagestringref : $searchkey : $itemtype"); }
-
 	# Removing of all non existent files, for instance asian fonts
 
 	installer::logger::include_header_into_logfile("Removing for this language $$languagestringref:");
@@ -1105,8 +1094,6 @@ sub get_Directoryname_From_Directorygid
 {
 	my ($dirsarrayref ,$searchgid, $onelanguage, $oneitemgid) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::get_Directoryname_From_Directorygid : $#{$dirsarrayref} : $searchgid : $onelanguage"); }
-
 	my $directoryname = "";
 	my $onedirectory;
 	my $foundgid = 0;
@@ -1158,8 +1145,6 @@ sub get_Destination_Directory_For_Item_F
 {
 	my ($itemarrayref, $dirsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::get_Destination_Directory_For_Item_From_Directorylist : $#{$itemarrayref} : $#{$dirsarrayref}"); }
-
 	for ( my $i = 0; $i <= $#{$itemarrayref}; $i++ )
 	{
 		my $oneitem = ${$itemarrayref}[$i];
@@ -1221,8 +1206,6 @@ sub get_sourcepath_from_filename_and_inc
 {
 	my ($searchfilenameref, $includepatharrayref, $write_logfile) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::get_sourcepath_from_filename_and_includepath_classic : $$searchfilenameref : $#{$includepatharrayref} : $write_logfile"); }
-
 	my ($onefile, $includepath, $infoline);
 
 	my $foundsourcefile = 0;
@@ -1279,8 +1262,6 @@ sub get_sourcepath_from_filename_and_inc
 {
 	my ($searchfilenameref, $unused, $write_logfile) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::get_sourcepath_from_filename_and_includepath : $$searchfilenameref : $#{$includepatharrayref} : $write_logfile"); }
-
 	my ($onefile, $includepath, $infoline);
 
 	my $foundsourcefile = 0;
@@ -1391,8 +1372,6 @@ sub get_Source_Directory_For_Files_From_
 {
 	my ($filesarrayref, $includepatharrayref, $dirsref, $item) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::get_Source_Directory_For_Files_From_Includepathlist : $#{$filesarrayref} : $#{$includepatharrayref} : $item"); }
-
 	installer::logger::include_header_into_logfile("$item:");
 
 	my $infoline = "";
@@ -1487,8 +1466,6 @@ sub remove_Files_For_Languagepacks
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_Files_For_Languagepacks : $#{$filesarrayref}"); }
-
 	my $infoline;
 	
 	my @newitemsarray = ();
@@ -1523,8 +1500,6 @@ sub remove_Files_Without_Sourcedirectory
 {
 	my ($filesarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_Files_Without_Sourcedirectory : $#{$filesarrayref}"); }
-
 	my $infoline;
 	
 	my $error_occured = 0;
@@ -1635,8 +1610,6 @@ sub add_License_Files_into_Installdir
 {
 	my ($filesarrayref, $dirsarrayref, $languagesarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::add_License_Files_into_Installdir : $#{$filesarrayref} : $#{$languagesarrayref}"); }
-
 	my $infoline;
 	
 	my @newfilesarray = ();
@@ -1908,8 +1881,6 @@ sub remove_scpactions_without_name
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_scpactions_without_name : $#{$itemsarrayref}"); }
-
 	my $infoline;
 	
 	my @newitemsarray = ();
@@ -1944,8 +1915,6 @@ sub change_keys_of_scpactions
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::change_keys_of_scpactions : $#{$itemsarrayref}"); }
-
 	for ( my $i = 0; $i <= $#{$itemsarrayref}; $i++ )
 	{
 		my $oneitem = ${$itemsarrayref}[$i];
@@ -1989,8 +1958,6 @@ sub remove_Xpdonly_Items
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_Xpdonly_Items : $#{$itemsarrayref}"); }
-
 	my $infoline;
 	
 	my @newitemsarray = ();
@@ -2027,8 +1994,6 @@ sub remove_Languagepacklibraries_from_In
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_Languagepacklibraries_from_Installset : $#{$itemsarrayref}"); }
-
 	my $infoline;
 	
 	my @newitemsarray = ();
@@ -2065,8 +2030,6 @@ sub remove_patchonlyfiles_from_Installse
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_patchonlyfiles_from_Installset : $#{$itemsarrayref}"); }
-
 	my $infoline;
 	
 	my @newitemsarray = ();
@@ -2103,8 +2066,6 @@ sub remove_tabonlyfiles_from_Installset
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_tabonlyfiles_from_Installset : $#{$itemsarrayref}"); }
-
 	my $infoline;
 	
 	my @newitemsarray = ();
@@ -2141,8 +2102,6 @@ sub remove_installedproductonlyfiles_fro
 {
 	my ($itemsarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_installedproductonlyfiles_from_Installset : $#{$itemsarrayref}"); }
-
 	my $infoline;
 	
 	my @newitemsarray = ();
@@ -2178,8 +2137,6 @@ sub quoting_illegal_filenames
 {
 	my ($filesarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::rename_illegal_filenames : $#{$filesarrayref}"); }
-	
 	# This function has to be removed as soon as possible!
 	
 	installer::logger::include_header_into_logfile("Renaming illegal filenames:");
@@ -2243,8 +2200,6 @@ sub collect_directories_from_filesarray
 {
 	my ($filesarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::collect_directories_from_filesarray : $#{$filesarrayref}"); }
-
 	my @alldirectories = ();
 	my %alldirectoryhash = ();
 
@@ -2349,12 +2304,10 @@ sub collect_directories_from_filesarray
 # Collecting directories: Part 2
 ##################################
 
-sub collect_directories_with_create_flag_from_directoryarray
+sub collect_directories_with_create_flag_from_directoryarray ($$)
 {
 	my ($directoryarrayref, $alldirectoryhash) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::collect_directories_with_create_flag_from_directoryarray : $#{$directoryarrayref}"); }
-
 	my $alreadyincluded = 0;
 	my @alldirectories = ();
 
@@ -2362,7 +2315,7 @@ sub collect_directories_with_create_flag
 	{
 		my $onedir = ${$directoryarrayref}[$i];
 		my $styles = "";
-		$newdirincluded = 0;
+		my $newdirincluded = 0;
 		
 		if ( $onedir->{'Styles'} ) { $styles = $onedir->{'Styles'}; }
 	
@@ -2467,19 +2420,17 @@ sub collect_directories_with_create_flag
 		push(@alldirectories, $alldirectoryhash->{$destdir});
 	}
 
-	return (\@alldirectories, \%alldirectoryhash);	
+	return (\@alldirectories, $alldirectoryhash);	
 }
 
 #################################################
 # Determining the destination file of a link
 #################################################
 
-sub get_destination_file_path_for_links
+sub get_destination_file_path_for_links ($$)
 {
 	my ($linksarrayref, $filesarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::get_destination_file_path_for_links : $#{$linksarrayref} : $#{$filesarrayref}"); }
-
 	my $infoline;
 
 	for ( my $i = 0; $i <= $#{$linksarrayref}; $i++ )
@@ -2521,30 +2472,27 @@ sub get_destination_file_path_for_links
 # Determining the destination link of a link
 #################################################
 
-sub get_destination_link_path_for_links
+sub get_destination_link_path_for_links ($)
 {
 	my ($linksarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::get_destination_link_path_for_links : $#{$linksarrayref}"); }
-
 	my $infoline;
 
-	for ( my $i = 0; $i <= $#{$linksarrayref}; $i++ )
+	foreach my $onelink (@$linksarrayref)
 	{
 		my $shortcutid = "";
-		my $onelink = ${$linksarrayref}[$i];
-		if ( $onelink->{'ShortcutID'} ) { $shortcutid = $onelink->{'ShortcutID'}; }
+		if ($onelink->{'ShortcutID'})
+        {
+            $shortcutid = $onelink->{'ShortcutID'};
+        }
 
-		if (!( $shortcutid eq "" ))
+		if ($shortcutid ne "")
 		{
 			my $foundlink = 0;
 
-			for ( my $j = 0; $j <= $#{$linksarrayref}; $j++ )
+			foreach my $destlink (@$linksarrayref)
 			{
-				my $destlink = ${$linksarrayref}[$j];
-				$shortcutgid = $destlink->{'gid'};
-				
-				if ( $shortcutgid eq $shortcutid )
+				if ($destlink->{'gid'} eq $shortcutid)
 				{
 					$foundlink = 1;
 					$onelink->{'destinationfile'} = $destlink->{'destination'};		# making key 'destinationfile'
@@ -2552,7 +2500,7 @@ sub get_destination_link_path_for_links
 				}				
 			}
 			
-			if (!($foundlink))
+			if ( ! $foundlink)
 			{
                 $installer::logger::Lang->printf("Warning: ShortcutID %s for Link %s not found!\n",
                     $shortcutid,
@@ -2572,8 +2520,6 @@ sub remove_workstation_only_items
 {
 	my ($itemarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_workstation_only_items : $#{$itemarrayref}"); }
-	
 	my @newitemarray = ();
 	
 	for ( my $i = 0; $i <= $#{$itemarrayref}; $i++ )
@@ -2602,8 +2548,6 @@ sub resolve_links_with_flag_relative
 {
 	my ($linksarrayref) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::resolve_links_with_flag_relative : $#{$linksarrayref}"); }
-
 	# Before this step is:
 	# destination=program/libsalhelperC52.so.3, this will be the name of the link
 	# destinationfile=program/libsalhelperC52.so.3, this will be the linked file or name
@@ -2665,7 +2609,7 @@ sub insert_for_item ($$$)
 	$hash->{$item} = $gid_list;
 }
 
-sub build_modulegids_table
+sub build_modulegids_table ($$)
 {
 	my ($modulesref, $itemname) = @_;
 
@@ -2673,9 +2617,9 @@ sub build_modulegids_table
 
 	# build map of item names to list of respective module gids
 	# containing these items
-	for my $onemodule (@{$modulesref})
+	foreach my $onemodule (@{$modulesref})
 	{
-		next if ( ! defined $onemodule->{$itemname} );
+		next if ! defined $onemodule->{$itemname};
 		# these are the items contained in this module
 		# eg. Files = (gid_a_b_c,gid_d_e_f)
 		my $module_gids = $onemodule->{$itemname};
@@ -2698,38 +2642,46 @@ sub build_modulegids_table
 # This function is a helper of function "assigning_modules_to_items"
 ########################################################################
 
-sub get_string_of_modulegids_for_itemgid
+sub get_string_of_modulegids_for_itemgid ($$)
 {
-	my ($module_lookup_table, $modulesref, $itemgid, $itemname) = @_;
+	my ($module_lookup_table, $itemgid) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::get_string_of_modulegids_for_itemgid : $#{$modulesref} : $itemgid : $itemname"); }
-
-	my $allmodules = "";
 	my $haslanguagemodule = 0;
 	my %foundmodules = ();
 
 	# print STDERR "lookup '" . lc($itemgid) . "'\n";
 	my $gid_list = $module_lookup_table->{lc($itemgid)};
 
-	for my $gid (@{$gid_list})
+	foreach my $gid (@{$gid_list})
 	{
 		$foundmodules{$gid} = 1;
-		$allmodules = $allmodules . "," . $gid;
 		# Is this module a language module? This info should be stored at the file.
-		if ( exists($installer::globals::alllangmodules{$gid}) ) { $haslanguagemodule = 1; }
+		if ( exists($installer::globals::alllangmodules{$gid}) )
+        {
+            $haslanguagemodule = 1;
+        }
  	}
 	
-	$allmodules =~ s/^\s*\,//;	# removing leading comma
+	my $allmodules = join(",", keys %foundmodules);
 
 	# Check: All modules or no module must have flag LANGUAGEMODULE
 	if ( $haslanguagemodule )
 	{
-		my $isreallylanguagemodule = installer::worker::key_in_a_is_also_key_in_b(\%foundmodules, \%installer::globals::alllangmodules);
-		if ( ! $isreallylanguagemodule ) { installer::exiter::exit_program("ERROR: \"$itemgid\" is assigned to modules with flag \"LANGUAGEMODULE\" and also to modules without this flag! Modules: $allmodules", "get_string_of_modulegids_for_itemgid");  }
+		my $isreallylanguagemodule = installer::worker::key_in_a_is_also_key_in_b(
+            \%foundmodules,
+            \%installer::globals::alllangmodules);
+		if ( ! $isreallylanguagemodule )
+        {
+            installer::exiter::exit_program(
+                sprintf(
+                    "ERROR: \"\" is assigned to modules with flag "
+                    . "\"LANGUAGEMODULE\" and also to modules without this flag! Modules: %s",
+                    $itemgid,
+                    $allmodules),
+                "get_string_of_modulegids_for_itemgid");
+        }
 	}
 
-	# print STDERR "get_string_for_itemgid ($itemgid, $itemname) => $allmodules, $haslanguagemodule\n";
-
 	return ($allmodules, $haslanguagemodule);
 }
 
@@ -2742,9 +2694,6 @@ sub assigning_modules_to_items
 {
 	my ($modulesref, $itemsref, $itemname) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::assigning_modules_to_items : $#{$modulesref} : $#{$itemsref} : $itemname"); }
-	
-	my $infoline = "";
 	my $languageassignmenterror = 0;
 	my @languageassignmenterrors = ();
 
@@ -2760,34 +2709,48 @@ sub assigning_modules_to_items
 		
 		if ( $itemgid eq "" ) 
 		{
-			installer::exiter::exit_program("ERROR in item collection: No gid for item $oneitem->{'Name'}", "assigning_modules_to_items");
+			installer::exiter::exit_program(
+                sprintf("ERROR in item collection: No gid for item %s", $oneitem->{'Name'}),
+                "assigning_modules_to_items");
 		}
 
 		# every item can belong to many modules
 				
-		my ($modulegids, $haslanguagemodule) = get_string_of_modulegids_for_itemgid($module_lookup_table, $modulesref, $itemgid, $itemname);
+		my ($modulegids, $haslanguagemodule) = get_string_of_modulegids_for_itemgid(
+            $module_lookup_table,
+            $itemgid);
 
 		if ($modulegids eq "")
 		{
-			installer::exiter::exit_program("ERROR in file collection: No module found for $itemname $itemgid", "assigning_modules_to_items");
+			installer::exiter::exit_program(
+                sprintf("ERROR in file collection: No module found for %s %s",
+                    $itemname,
+                    $itemgid),
+                "assigning_modules_to_items");
 		}
 
 		$oneitem->{'modules'} = $modulegids;
 		$oneitem->{'haslanguagemodule'} = $haslanguagemodule;
 		
 		# Important check: "ismultilingual" and "haslanguagemodule" must have the same value !
-		if (( $oneitem->{'ismultilingual'} ) && ( ! $oneitem->{'haslanguagemodule'} ))
+		if ($oneitem->{'ismultilingual'} && ! $oneitem->{'haslanguagemodule'})
 		{
-			$infoline = "Error: \"$oneitem->{'gid'}\" is multi lingual, but not in language pack (Assigned module: $modulegids)!\n";
+			my $infoline = sprintf(
+                "Error: \"%s\" is multi lingual, but not in language pack (Assigned module: %s)\n",
+                $oneitem->{'gid'},
+                $modulegids);
             $installer::logger::Global->print($infoline);
-			push( @languageassignmenterrors, $infoline );
+			push(@languageassignmenterrors, $infoline);
 			$languageassignmenterror = 1;
 		}
-		if (( $oneitem->{'haslanguagemodule'} ) && ( ! $oneitem->{'ismultilingual'} ))
+		elsif ($oneitem->{'haslanguagemodule'} && ! $oneitem->{'ismultilingual'})
 		{
-			$infoline = "Error: \"$oneitem->{'gid'}\" is in language pack, but not multi lingual (Assigned module: $modulegids)!\n";
+			my $infoline = sprintf(
+                "Error: \"%s\" is in language pack, but not multi lingual (Assigned module: %s)\n",
+                $oneitem->{'gid'},
+                $modulegids);
             $installer::logger::Global->print($infoline);
-			push( @languageassignmenterrors, $infoline );
+			push(@languageassignmenterrors, $infoline);
 			$languageassignmenterror = 1;
 		}
 	}
@@ -2808,8 +2771,6 @@ sub add_rootpath_to_directories
 {
 	my ($dirsref, $rootpath) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::add_rootpath_to_directories : $#{$dirsref} : $rootpath"); }
-
 	for ( my $i = 0; $i <= $#{$dirsref}; $i++ )
 	{
 		my $onedir = ${$dirsref}[$i];
@@ -2839,8 +2800,6 @@ sub add_rootpath_to_files
 {
 	my ($filesref, $rootpath) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::add_rootpath_to_files : $#{$filesref} : $rootpath"); }
-	
 	for ( my $i = 0; $i <= $#{$filesref}; $i++ )
 	{
 		my $onefile = ${$filesref}[$i];
@@ -2854,8 +2813,6 @@ sub add_rootpath_to_links
 {
 	my ($linksref, $rootpath) = @_;
 
-	if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::add_rootpath_to_links : $#{$linksref} : $rootpath"); }
-	
 	for ( my $i = 0; $i <= $#{$linksref}; $i++ )
 	{
 		my $onelink = ${$linksref}[$i];
@@ -3126,4 +3083,27 @@ sub filter_layerlinks_from_unixlinks
 	return \@alllinks;
 }
 
+
+
+
+=head2 print_script_item($item)
+
+    For debugging.
+    Print the contents of the given script item to $installer::logger::Lang.
+    
+=cut
+sub print_script_item ($)
+{
+    my ($item) = @_;
+
+    $installer::logger::Lang->printf("script item %s\n", $item->{'uniquename'});
+    foreach my $key (sort keys %$item)
+    {
+        my $value = $item->{$key};
+        $value = "<undef>" unless defined $value;
+        $installer::logger::Lang->printf("    %20s -> %s\n", $key, $value);
+    }
+}
+
+
 1;

Modified: openoffice/trunk/main/solenv/bin/modules/installer/setupscript.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/setupscript.pm?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/setupscript.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/setupscript.pm Fri Nov 29 15:49:27 2013
@@ -31,6 +31,8 @@ use installer::remover;
 use installer::scriptitems;
 use installer::ziplist;
 
+use strict;
+
 #######################################################
 # Set setup script name, if not defined as parameter
 #######################################################
@@ -74,9 +76,9 @@ sub set_setupscript_name
 # Reading script variables from installation object of script file
 #####################################################################
 
-sub get_all_scriptvariables_from_installation_object
+sub get_all_scriptvariables_from_installation_object ($$)
 {
-	my ($scriptref) = @_;
+	my ($scriptref, $script_filename) = @_;
 	
 	my @installobjectvariables;
 
@@ -521,13 +523,9 @@ sub replace_preset_properties
 	my @presetproperties = ();
 	push(@presetproperties, "SOLARISBRANDPACKAGENAME");
 	push(@presetproperties, "SYSTEMINTUNIXPACKAGENAME");
-	# push(@presetproperties, "UNIXPACKAGENAME");
-	# push(@presetproperties, "WITHOUTDOTUNIXPACKAGENAME");
-	# push(@presetproperties, "UNIXPRODUCTNAME");
-	# push(@presetproperties, "WITHOUTDOTUNIXPRODUCTNAME");
 	
 
-	foreach $property ( @presetproperties )
+	foreach my $property (@presetproperties)
 	{
 		my $presetproperty = "PRESET" . $property;
 		if (( exists($allvariables->{$presetproperty}) ) && ( $allvariables->{$presetproperty} ne "" ))

Modified: openoffice/trunk/main/solenv/bin/modules/installer/windows/assembly.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/windows/assembly.pm?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/assembly.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/assembly.pm Fri Nov 29 15:49:27 2013
@@ -28,6 +28,8 @@ use installer::globals;
 use installer::worker;
 use installer::windows::idtglobal;
 
+use strict;
+
 ##############################################################
 # Returning the first module of a file from the
 # comma separated list of modules.
@@ -224,9 +226,9 @@ sub create_msiassembly_table
 # Returning the name for the table MsiAssemblyName
 ####################################################################################
 
-sub get_msiassemblyname_name
+sub get_msiassemblyname_name ($)
 {
-	( $number ) = @_;
+	my ($number) = @_;
 	
 	my $name = "";
 	
@@ -315,12 +317,9 @@ sub add_assembly_condition_into_componen
 	my $componenttablename = $basedir . $installer::globals::separator . "Componen.idt";
 	my $componenttable = installer::files::read_file($componenttablename);
 	my $changed = 0;
-	my $infoline = "";
 
-	for ( my $i = 0; $i <= $#{$installer::globals::msiassemblyfiles}; $i++ )
+	foreach my $onefile (@$installer::globals::msiassemblyfiles)
 	{
-		my $onefile = ${$installer::globals::msiassemblyfiles}[$i];
-		
 		my $filecomponent = get_msiassembly_component($onefile);
 	
 		for ( my $j = 0; $j <= $#{$componenttable}; $j++ )
@@ -342,13 +341,17 @@ sub add_assembly_condition_into_componen
 					
 					# $condition = "MsiNetAssemblySupport";
 					$condition = "DOTNET_SUFFICIENT=1";
-					$oneline = $component . "\t" . $componentid . "\t" . $directory . "\t" . $attributes . "\t" . $condition . "\t" . $keypath . "\n";
+					$oneline = join("\t",
+                        $component,
+                        $componentid,
+                        $directory,
+                        $attributes,
+                        $condition,
+                        $keypath) . "\n";
 					${$componenttable}[$j] = $oneline;
 					$changed = 1;
-					$infoline = "Changing $componenttablename :\n"; 
-					$installer::logger::Lang->print($infoline);
-					$infoline = $oneline; 
-					$installer::logger::Lang->print($infoline);
+					$installer::logger::Lang->print("Changing %s :\n", $componenttablename);
+					$installer::logger::Lang->print($oneline);
 					last;			
 				}		
 			}
@@ -359,8 +362,7 @@ sub add_assembly_condition_into_componen
 	{
 		# Saving the file
 		installer::files::save_file($componenttablename ,$componenttable);
-		$infoline = "Saved idt file: $componenttablename\n"; 
-		$installer::logger::Lang->print($infoline);
+		$installer::logger::Lang->print("Saved idt file: %s\n", $componenttablename);
 	}
 }
 

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=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/windows/component.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/windows/component.pm Fri Nov 29 15:49:27 2013
@@ -49,6 +49,9 @@ sub get_component_guid ($)
 	# Returning a ComponentID, that is assigned in scp project
 	if ( exists($installer::globals::componentid{$componentname}) )
 	{
+        $installer::logger::Lang->printf("reusing guid %s for component %s\n",
+            $installer::globals::componentid{$componentname},
+            $componentname);
 		$returnvalue = "\{" . $installer::globals::componentid{$componentname} . "\}";
 	}
 	
@@ -59,52 +62,50 @@ sub get_component_guid ($)
 # Returning the directory for a file component.
 ##############################################################
 
-sub get_file_component_directory
+sub get_file_component_directory ($$$)
 {
 	my ($componentname, $filesref, $dirref) = @_; 
 
-	my ($onefile, $component, $onedir, $hostname, $uniquedir);
+	my ($component,  $uniquedir);
 	my $found = 0;
 
-	for ( my $i = 0; $i <= $#{$filesref}; $i++ )
+	foreach my $onefile (@$filesref)
 	{
-		$onefile = 	${$filesref}[$i];
-		$component = $onefile->{'componentname'};
-		
-		if ( $component eq $componentname )
+		if ($onefile->{'componentname'} eq $componentname)
 		{
-			$found = 1;
-			last;
-		}	
+            return get_file_component_directory_for_file($onefile, $dirref);
+		}
 	}
 	
-	if (!($found))
-	{
-		# This component can be ignored, if it exists in a version with extension "_pff" (this was renamed in file::get_sequence_for_file() )
-		my $ignore_this_component = 0;
-		my $origcomponentname = $componentname;
-		my $componentname = $componentname . "_pff";
-		
-		for ( my $j = 0; $j <= $#{$filesref}; $j++ )
-		{
-			$onefile = 	${$filesref}[$j];
-			$component = $onefile->{'componentname'};
+
+    # This component can be ignored, if it exists in a version with
+    # extension "_pff" (this was renamed in file::get_sequence_for_file() )
+    my $ignore_this_component = 0;
+    my $origcomponentname = $componentname;
+    my $componentname_pff = $componentname . "_pff";
 		
-			if ( $component eq $componentname )
-			{
-				$ignore_this_component = 1;
-				last;
-			}	
-		}
+    foreach my $onefile (@$filesref)
+    {
+        if ($onefile->{'componentname'} eq $componentname_pff)
+        {
+            return "IGNORE_COMP";
+        }	
+    }
 		
-		if ( $ignore_this_component ) { return "IGNORE_COMP"; }
-		else { installer::exiter::exit_program("ERROR: Did not find component \"$origcomponentname\" in file collection", "get_file_component_directory"); }
-	}
+    installer::exiter::exit_program(
+        "ERROR: Did not find component \"$origcomponentname\" in file collection",
+        "get_file_component_directory");
+}
+
 
-	my $localstyles = "";
-	
-	if ( $onefile->{'Styles'} ) { $localstyles = $onefile->{'Styles'}; }
 
+
+sub get_file_component_directory_for_file ($$)
+{
+    my ($onefile, $dirref) = @_;
+
+	my $localstyles = $onefile->{'Styles'} // "";
+	
 	if ( $localstyles =~ /\bFONT\b/ )	# special handling for font files
 	{
 		return $installer::globals::fontsfolder;
@@ -126,7 +127,8 @@ sub get_file_component_directory
 	$destination =~ s/\Q$installer::globals::separator\E\s*$//;
 	
 	# This path has to be defined in the directory collection at "HostName" 
-	
+
+    my $uniquedir = undef;
 	if ($destination eq "")		# files in the installation root
 	{
 		$uniquedir = "INSTALLLOCATION";
@@ -135,24 +137,23 @@ sub get_file_component_directory
 	{
 		$found = 0;
 	
-		for ( my $i = 0; $i <= $#{$dirref}; $i++ )
+		foreach my $directory (@$dirref)
 		{
-			$onedir = 	${$dirref}[$i];
-			$hostname = $onedir->{'HostName'};
-		
-			if ( $hostname eq $destination )
+			if ($directory->{'HostName'} eq $destination )
 			{
 				$found = 1;
+                $uniquedir = $directory->{'uniquename'};
 				last;
 			}	
 		}
 
-		if (!($found))
+		if ( ! $found)
 		{
-			installer::exiter::exit_program("ERROR: Did not find destination $destination in directory collection", "get_file_component_directory");
+			installer::exiter::exit_program(
+                "ERROR: Did not find destination $destination in directory collection",
+                "get_file_component_directory");
 		}
 	
-		$uniquedir = $onedir->{'uniquename'};
 		
 		if ( $uniquedir eq $installer::globals::officeinstalldirectory )
 		{
@@ -226,7 +227,8 @@ sub get_file_component_attributes
 		$attributes = 0;	# Assembly files cannot run from source
 	}
 		
-	if (( $onefile->{'Dir'} =~ /\bPREDEFINED_OSSHELLNEWDIR\b/ ) || ( $onefile->{'needs_user_registry_key'} ))
+	if ((defined $onefile->{'Dir'} && $onefile->{'Dir'} =~ /\bPREDEFINED_OSSHELLNEWDIR\b/)
+        || $onefile->{'needs_user_registry_key'})
 	{
 		$attributes = 4;	# Files in shellnew dir and in non advertised startmenu entries must have user registry key as KeyPath
 	}
@@ -324,37 +326,47 @@ sub get_component_keypath ($$)
 {
 	my ($componentname, $itemsref) = @_;
 
-	my $oneitem;
 	my $found = 0;
 	my $infoline = "";
 
-	for ( my $i = 0; $i <= $#{$itemsref}; $i++ )
+	foreach my $oneitem (@$itemsref)
 	{
-		$oneitem = 	${$itemsref}[$i];
-		my $component = $oneitem->{'componentname'};
-		
+        my $component = $oneitem->{'componentname'};
+
+		if ( ! defined $component)
+        {
+            installer::scriptitems::print_script_item($oneitem);
+            installer::logger::PrintError("item in get_component_keypath has no 'componentname'\n");
+            return "";
+        }
 		if ( $component eq $componentname )
 		{
+            my $keypath = $oneitem->{'uniquename'};	# "uniquename", not "Name" 
+	
+            # Special handling for components in
+            # PREDEFINED_OSSHELLNEWDIR. These components need as
+            # KeyPath a RegistryItem in HKCU
+            if ($oneitem->{'userregkeypath'})
+            {
+                $keypath = $oneitem->{'userregkeypath'};
+            }
+
+            # saving it in the file and registry collection
+            $oneitem->{'keypath'} = $keypath;
+	
+            return $keypath
+		}
+
+		if ($oneitem->{'componentname'} eq $componentname)
+		{
 			$found = 1;
 			last;
 		}
 	}
-	
-	if (!($found))
-	{
-		installer::exiter::exit_program("ERROR: Did not find component in file/registry collection, function get_component_keypath", "get_component_keypath");
-	}
 
-	my $keypath = $oneitem->{'uniquename'};	# "uniquename", not "Name" 
-	
-	# Special handling for components in PREDEFINED_OSSHELLNEWDIR. These components
-	# need as KeyPath a RegistryItem in HKCU
-	if ( $oneitem->{'userregkeypath'} ) { $keypath = $oneitem->{'userregkeypath'}; }
-
-	# saving it in the file and registry collection
-	$oneitem->{'keypath'} = $keypath;
-	
-	return $keypath
+    installer::exiter::exit_program(
+        "ERROR: Did not find component in file/registry collection, function get_component_keypath",
+        "get_component_keypath");
 }
 
 ###################################################################

Modified: openoffice/trunk/main/solenv/bin/modules/installer/worker.pm
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/bin/modules/installer/worker.pm?rev=1546588&r1=1546587&r2=1546588&view=diff
==============================================================================
--- openoffice/trunk/main/solenv/bin/modules/installer/worker.pm (original)
+++ openoffice/trunk/main/solenv/bin/modules/installer/worker.pm Fri Nov 29 15:49:27 2013
@@ -733,9 +733,11 @@ sub remove_all_items_with_special_flag
 		if ( $oneitem->{'Styles'} ) { $styles = $oneitem->{'Styles'} };
 		if ( $styles =~ /\b$flag\b/ )
 		{
-			my $infoline = "Attention: Removing from collector: $oneitem->{'Name'} !\n";
-			$installer::logger::Lang->print($infoline);
-			if ( $flag eq "BINARYTABLE_ONLY" ) { push(@installer::globals::binarytableonlyfiles, $oneitem); }
+			$installer::logger::Lang->printf("Attention: Removing from collector: %s\n", $oneitem->{'Name'});
+			if ($flag eq "BINARYTABLE_ONLY")
+            {
+                push(@installer::globals::binarytableonlyfiles, $oneitem);
+            }
 			next;
 		}
 		push( @allitems, $oneitem );
@@ -2377,7 +2379,6 @@ sub collect_all_files_from_includepathes
 
 		my @sourcefiles = ();
 		my $pathstring = "";
-		# installer::systemactions::read_complete_directory($includepath, $pathstring, \@sourcefiles);
 		installer::systemactions::read_full_directory($includepath, $pathstring, \@sourcefiles);
 
 		if ( ! ( $#sourcefiles > -1 ))
@@ -2711,8 +2712,8 @@ sub generate_cygwin_pathes
 
 	for ( my $i = 0; $i <= $#{$filesref}; $i++ )
 	{
-		my $line = ${$filesref}[$i]->{'sourcepath'} . "\n";
-		push(@pathcollector, $line);
+		my $filename = ${$filesref}[$i]->{'sourcepath'};
+		push(@pathcollector, $filename  . "\n");
 		$counter++;
 		
 		if (( $i == $#{$filesref} ) || ((( $counter % $max ) == 0 ) && ( $i > 0 )))
@@ -2728,6 +2729,9 @@ sub generate_cygwin_pathes
 			installer::files::save_file($tmpfilename, \@pathcollector);
 
 			my $success = 0;
+            $installer::logger::Lang->printf(
+                "Converting %d filenames to cygwin notation\n",
+                $counter);
 			my @cyg_sourcepathlist = qx{cygpath -w -f "$tmpfilename"};
 			chomp @cyg_sourcepathlist;
 			
@@ -2737,14 +2741,19 @@ sub generate_cygwin_pathes
 		
 			if ($success)
 			{
-				$infoline = "Success: Successfully converted to cygwin pathes!\n";
-				$installer::logger::Lang->print($infoline);
+                $installer::logger::Lang->printf(
+                    "Successfully converted %d paths to cygwin notation\n",
+                    $counter);
+                $installer::logger::Lang->printf(
+                    "there where %d unique paths\n",
+                    scalar keys %paths);
 			}
 			else
 			{
-				$infoline = "ERROR: Failed to convert to cygwin pathes!\n";
-				$installer::logger::Lang->print($infoline);
-				installer::exiter::exit_program("ERROR: Failed to convert to cygwin pathes!", "generate_cygwin_pathes");
+                $installer::logger::Lang->print("ERROR: Failed to convert to cygwin pathes!\n");
+                installer::exiter::exit_program(
+                    "ERROR: Failed to convert to cygwin pathes!",
+                    "generate_cygwin_pathes");
 			}
 
 			for ( my $j = 0; $j <= $#cyg_sourcepathlist; $j++ )