From d805a36cc67fa38d11eda2f09f661ba21c6add70 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Tue, 10 Jul 2007 08:00:47 +0000
Subject: [PATCH] fix for issue #1865 (upgrade -V error) In case on -V option, BuildExtractor will exit with a pre-defined return code defined in QuickSetupCli.java (let's say 50). Script will test this specific return value to check if the non-null return code is an error. In case of none null return code, the upgradeLauncher will not be called. 

---
 opends/resource/upgrade                                        |    7 ++++++-
 opends/src/quicksetup/org/opends/quicksetup/Launcher.java      |    5 +++--
 opends/resource/uninstall.bat                                  |    7 +++++++
 opends/resource/uninstall                                      |    9 +++++++++
 opends/resource/setup                                          |    9 +++++++++
 opends/resource/upgrade.bat                                    |    5 +++++
 opends/resource/setup.bat                                      |    7 +++++++
 opends/src/quicksetup/org/opends/quicksetup/QuickSetupCli.java |    5 +++++
 8 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/opends/resource/setup b/opends/resource/setup
index e97bc84..e35fd7a 100755
--- a/opends/resource/setup
+++ b/opends/resource/setup
@@ -120,3 +120,12 @@
 # Launch the setup process.
 "${JAVA_BIN}" org.opends.quicksetup.installer.InstallLauncher -P setup "${@}"
 
+# return part
+RETURN_CODE=$?
+if test ${RETURN_CODE} -eq 50
+then
+  # Version info was on requested
+  exit 0
+else
+  exit ${RETURN_CODE}
+fi
\ No newline at end of file
diff --git a/opends/resource/setup.bat b/opends/resource/setup.bat
index b290aeb..b5f48c9 100644
--- a/opends/resource/setup.bat
+++ b/opends/resource/setup.bat
@@ -77,7 +77,14 @@
 
 :callJava
 "%JAVA_BIN%" %JAVA_ARGS% org.opends.quicksetup.installer.InstallLauncher -P setup.bat %*
+
+rem return part
+if %errorlevel% == 50 goto version
 goto end
 
+:version
+rem version information was requested. Return code should be 0.
+exit /B 0
+
 :end
 
diff --git a/opends/resource/uninstall b/opends/resource/uninstall
index 8649f51..f5834d0 100644
--- a/opends/resource/uninstall
+++ b/opends/resource/uninstall
@@ -118,3 +118,12 @@
 
 # Launch the uninstall process.
 "${JAVA_BIN}" org.opends.quicksetup.uninstaller.UninstallLauncher "${@}"
+
+RETURN_CODE=$?
+if test ${RETURN_CODE} -eq 50
+then
+  # Version info was on requested
+  exit 0
+else
+  exit ${RETURN_CODE}
+fi
\ No newline at end of file
diff --git a/opends/resource/uninstall.bat b/opends/resource/uninstall.bat
index fe5c57f..3429073 100644
--- a/opends/resource/uninstall.bat
+++ b/opends/resource/uninstall.bat
@@ -77,6 +77,13 @@
 
 :callJava
 "%JAVA_BIN%" %JAVA_ARGS% org.opends.quicksetup.uninstaller.UninstallLauncher %*
+
+rem return part
+if %errorlevel% == 50 goto version
 goto end
 
+:version
+rem version information was requested. Return code should be 0.
+exit /B 0
+
 :end
diff --git a/opends/resource/upgrade b/opends/resource/upgrade
index b2e2857..90e2792 100644
--- a/opends/resource/upgrade
+++ b/opends/resource/upgrade
@@ -136,7 +136,8 @@
 done
 export CLASSPATH
 "${JAVA_BIN}" org.opends.quicksetup.upgrader.BuildExtractor "${@}"
-if test $? -eq 0
+RETURN_CODE=$?
+if test ${RETURN_CODE} -eq 0
 then
   # Configure the appropriate CLASSPATH.
   # Unlike BuildExtractor, the Upgrader uses
@@ -148,6 +149,10 @@
   done
   # Launch the upgrade process.
   "${JAVA_BIN}" org.opends.quicksetup.upgrader.UpgradeLauncher "${@}"
+elif test ${RETURN_CODE} -eq 50
+then
+  # Version info was on requested
+  exit 0
 else
   exit 101
 fi
diff --git a/opends/resource/upgrade.bat b/opends/resource/upgrade.bat
index 86fd044..726da68 100644
--- a/opends/resource/upgrade.bat
+++ b/opends/resource/upgrade.bat
@@ -70,6 +70,7 @@
 FOR %%x in ("%INSTANCE_ROOT%\lib\*.jar") DO call "%INSTANCE_ROOT%\lib\setcp.bat" %%x
 set CLASSPATH=%DIR_HOME%\classes;%CLASSPATH%
 "%JAVA_BIN%" org.opends.quicksetup.upgrader.BuildExtractor %*
+if %errorlevel% == 50 goto version
 if not %errorlevel% == 0 goto end
 goto upgrader
 
@@ -79,4 +80,8 @@
 "%JAVA_BIN%" org.opends.quicksetup.upgrader.UpgradeLauncher %*
 goto end
 
+:version
+rem version information was requested. Return code should be 0.
+exit /B 0
+
 :end
diff --git a/opends/src/quicksetup/org/opends/quicksetup/Launcher.java b/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
index 589ac57..fad7cba 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
@@ -70,7 +70,8 @@
     boolean printUsage = false;
     if ((args != null) && (args.length > 0)) {
       for (String arg : args) {
-        if (arg.equalsIgnoreCase("-H") ||
+        if (arg.equals("-?") ||
+          arg.equalsIgnoreCase("-H") ||
           arg.equalsIgnoreCase("--help")) {
           printUsage = true;
         }
@@ -310,7 +311,7 @@
     if (shouldPrintVersion())
     {
       printVersion();
-      System.exit(QuickSetupCli.SUCCESSFUL);
+      System.exit(QuickSetupCli.PRINT_VERSION);
     }
     else if (shouldPrintUsage()) {
       printUsage(false);
diff --git a/opends/src/quicksetup/org/opends/quicksetup/QuickSetupCli.java b/opends/src/quicksetup/org/opends/quicksetup/QuickSetupCli.java
index fcb7041..ba8e598 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/QuickSetupCli.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/QuickSetupCli.java
@@ -70,6 +70,11 @@
   static public int BUG = 5;
 
   /**
+   * Return code: Bug.
+   */
+  static public int PRINT_VERSION = 50;
+
+  /**
    * Return code for errors that are non-specified.
    */
   static public int UNKNOWN = 100;

--
Gitblit v1.10.0