Francois Gouget : testbot/Reconfig: Clean up the command line options.

Alexandre Julliard julliard at winehq.org
Mon Aug 20 12:41:40 CDT 2018


Module: tools
Branch: master
Commit: 4a3dade90d16546467b7fb006035e366e7ab192b
URL:    https://source.winehq.org/git/tools.git/?a=commit;h=4a3dade90d16546467b7fb006035e366e7ab192b

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Mon Aug 20 09:07:13 2018 +0200

testbot/Reconfig: Clean up the command line options.

This separates the actions (updating or building) from the
targets they apply to (the exe32 and exe64 builds).

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 testbot/bin/build/Reconfig.pl | 69 +++++++++++++++++++++++++------------------
 1 file changed, 40 insertions(+), 29 deletions(-)

diff --git a/testbot/bin/build/Reconfig.pl b/testbot/bin/build/Reconfig.pl
index 450de0e..4aada32 100755
--- a/testbot/bin/build/Reconfig.pl
+++ b/testbot/bin/build/Reconfig.pl
@@ -125,11 +125,8 @@ sub BuildTestLauncher()
   return 1;
 }
 
-sub GitPull($)
+sub GitPull()
 {
-  my ($Targets) = @_;
-  return 1 if (!$Targets->{update});
-
   InfoMsg "\nUpdating the Wine source\n";
   system("cd '$DataDir/wine' && git pull");
   if ($? != 0)
@@ -148,11 +145,10 @@ sub GitPull($)
   return 1;
 }
 
-sub BuildNative($$)
+sub BuildNative($)
 {
-  my ($Targets, $NoRm) = @_;
+  my ($NoRm) = @_;
 
-  return 1 if (!$Targets->{native});
   mkdir "$DataDir/build-native" if (! -d "$DataDir/build-native");
 
   # Rebuild from scratch to make sure cruft will not accumulate
@@ -194,6 +190,15 @@ sub BuildCross($$$)
   return 1;
 }
 
+sub UpdateWineBuilds($$)
+{
+  my ($Targets, $NoRm) = @_;
+
+  return BuildNative($NoRm) &&
+         BuildCross($Targets, $NoRm, 32) &&
+         BuildCross($Targets, $NoRm, 64);
+}
+
 
 #
 # Setup and command line processing
@@ -203,15 +208,23 @@ $ENV{PATH} = "/usr/lib/ccache:/usr/bin:/bin";
 delete $ENV{ENV};
 
 my %AllTargets;
-map { $AllTargets{$_} = 1 } qw(update native exe32 exe64);
+map { $AllTargets{$_} = 1 } qw(exe32 exe64);
 
-my ($Usage, $TargetList, $NoRm);
+my ($Usage, $OptUpdate, $OptBuild, $OptNoRm, $TargetList);
 while (@ARGV)
 {
   my $Arg = shift @ARGV;
-  if ($Arg eq "--no-rm")
+  if ($Arg eq "--update")
   {
-    $NoRm = 1;
+    $OptUpdate = 1;
+  }
+  elsif ($Arg eq "--build")
+  {
+    $OptBuild = 1;
+  }
+  elsif ($Arg eq "--no-rm")
+  {
+    $OptNoRm = 1;
   }
   elsif ($Arg =~ /^(?:-\?|-h|--help)$/)
   {
@@ -240,6 +253,10 @@ while (@ARGV)
 my $Targets;
 if (!defined $Usage)
 {
+  if (!$OptUpdate and !$OptBuild)
+  {
+    $OptUpdate = $OptBuild = 1;
+  }
   $TargetList = join(",", keys %AllTargets) if (!defined $TargetList);
   foreach my $Target (split /,/, $TargetList)
   {
@@ -259,19 +276,19 @@ if (defined $Usage)
     Error "try '$Name0 --help' for more information\n";
     exit $Usage;
   }
-  print "Usage: $Name0 [--no-rm] [--help] [TARGETS]\n";
+  print "Usage: $Name0 [--update] [--build [--no-rm]] [--help] [TARGETS]\n";
   print "\n";
   print "Updates Wine to the latest version and recompiles it so the host is ready to build executables for the Windows tests.\n";
   print "\n";
   print "Where:\n";
-  print "  TARGETS   Is a comma-separated list of reconfiguration targets. By default\n";
-  print "            every target is run.\n";
-  print "            - update: Update Wine's source code.\n";
-  print "            - native: Rebuild the native Wine tools.\n";
-  print "            - exe32: Rebuild the 32 bit Windows test executables.\n";
-  print "            - exe64: Rebuild the 64 bit Windows test executables.\n";
-  print "  --no-rm   Don't rebuild from scratch.\n";
-  print "  --help    Shows this usage message.\n";
+  print "  --update     Update Wine's source code.\n";
+  print "  --build      Update the Wine builds.\n";
+  print "  TARGETS      Is a comma-separated list of reconfiguration targets. By default\n";
+  print "               every target is run.\n";
+  print "               - exe32: Rebuild the 32 bit Windows test executables.\n";
+  print "               - exe64: Rebuild the 64 bit Windows test executables.\n";
+  print "  --no-rm      Don't rebuild from scratch.\n";
+  print "  --help       Shows this usage message.\n";
   exit 0;
 }
 
@@ -293,15 +310,9 @@ if (! -d "$DataDir/staging" and ! mkdir "$DataDir/staging")
 
 CountCPUs();
 
-if (!BuildTestAgentd() or
-    !BuildTestLauncher() or
-    !GitPull($Targets) or
-    !BuildNative($Targets, $NoRm) or
-    !BuildCross($Targets, $NoRm, 32) or
-    !BuildCross($Targets, $NoRm, 64))
-{
-  exit(1);
-}
+exit(1) if (!BuildTestAgentd() or !BuildTestLauncher());
+exit(1) if ($OptUpdate and !GitPull());
+exit(1) if ($OptBuild and !UpdateWineBuilds($Targets, $OptNoRm));
 
 LogMsg "ok\n";
 exit;




More information about the wine-cvs mailing list