Blame openoffice.org-2.2.0.gccXXXXX.solenv.javaregistration.patch

8076325
--- solenv/bin/modules/installer/globals.pm	2010-05-25 21:01:11.000000000 +0100
8076325
+++ solenv/bin/modules/installer/globals.pm	2010-05-27 08:01:11.000000000 +0100
8076325
@@ -404,8 +404,8 @@
8076325
 	%usedtreeconditions = ();
8076325
 	%moduledestination = ();
8076325
 	
8076325
-	$unomaxservices = 1800; # regcomp -c argument length
8076325
-	$javamaxservices = 15;
8076325
+	$unomaxservices = 1; # regcomp -c argument length
8076325
+	$javamaxservices = 1;
8076325
 	
8076325
 	$one_cab_file = 0;
8076325
 	$fix_number_of_cab_files = 1;
8076325
--- solenv/bin/modules/installer/servicesfile.pm	2010-05-25 21:01:11.000000000 +0100
8076325
+++ solenv/bin/modules/installer/servicesfile.pm	2010-06-10 09:07:46.000000000 +0100
8076325
@@ -222,17 +231,31 @@
8076325
 			if ( $i % $installer::globals::javamaxservices == 0 || $i > $#{$javacomponents} )	# limiting to $installer::globals::maxservices files
8076325
 			{
8076325
 				my @regcompoutput = ();
8076325
+				my @throwregcompoutput = ();
8076325
 
8076325
 				my $systemcall = "$installer::globals::wrapcmd $$regcompfileref -register -br ".fix_cygwin_path($regcomprdb)." -r ".fix_cygwin_path($servicesfile)." -c " . $installer::globals::quote . $filestring . $installer::globals::quote . " -l com.sun.star.loader.Java2 -wop=" . $installer::globals::quote . $javaservicesurlprefix . $installer::globals::quote ." -env:URE_INTERNAL_JAVA_DIR=" . $installer::globals::quote . make_file_url($$ure_internal_java_dir_ref) . $installer::globals::quote . " 2\>\&1 |";
8076325
 
8076325
-				open (REG, "$systemcall");
8076325
-				while (<REG>) {push(@regcompoutput, $_); }
8076325
-				close (REG);
8076325
+				my $returnvalue = 1;
8076325
+				my $infoline = "Systemcall: $systemcall\n";
8076325
 
8076325
-				my $returnvalue = $?;	# $? contains the return value of the systemcall
8076325
+				for ( my $j = 0; $j <= 10; $j++) {
8076325
+					open (REG, "$systemcall");
8076325
+					while (<REG>) {push(@throwregcompoutput, $_); }
8076325
+					close (REG);
8076325
+	
8076325
+					$returnvalue = $?;	# $? contains the return value of the systemcall
8076325
 
8076325
-				my $infoline = "Systemcall: $systemcall\n";
8076325
-				push( @installer::globals::logfileinfo, $infoline);
8076325
+					push( @installer::globals::logfileinfo, $infoline);
8076325
+
8076325
+					if ($returnvalue == 0) {
8076325
+					    last;
8076325
+					}
8076325
+
8076325
+				        $infoline = "RATS: attempt $j: $systemcall\n";
8076325
+				        push( @installer::globals::logfileinfo, $infoline);
8076325
+				}
8076325
+
8076325
+    				$regcompoutput = $throwregcompoutput;
8076325
 
8076325
 				for ( my $k = 0; $k <= $#regcompoutput; $k++ ) { push( @installer::globals::logfileinfo, "$regcompoutput[$k]"); }
8076325