From 6c57dd990c72352bb5942290c94399780f8962e5 Mon Sep 17 00:00:00 2001
From: Chris Ridd <chris.ridd@forgerock.com>
Date: Thu, 26 Jul 2012 10:04:10 +0000
Subject: [PATCH] Fix OPENDJ-551: Update svnkit to 1.7.5-v1

---
 opends/ext/svnkit/jsvnadmin |  103 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 73 insertions(+), 30 deletions(-)

diff --git a/opends/ext/svnkit/jsvnadmin b/opends/ext/svnkit/jsvnadmin
index c0b85a0..ecd1d5e 100755
--- a/opends/ext/svnkit/jsvnadmin
+++ b/opends/ext/svnkit/jsvnadmin
@@ -1,40 +1,83 @@
-#!/bin/sh
+BASEDIR=`dirname $0`/..
+BASEDIR=`(cd "$BASEDIR"; pwd)`
 
 cygwin=false;
+darwin=false;
 case "`uname`" in
   CYGWIN*) cygwin=true ;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
 esac
 
-old_wd=`pwd`
-
-progname=`basename "$0"`
-linkdir=`dirname "$0"`
-
-cd "$linkdir"
-prg="$progname"
-
-while [ -h "$prg" ] ; do
-  ls=`ls -ld "$prg"`
-  link=`expr "$ls" : '.*-> \(.*\)$'`
-  if expr "$link" : '.*/.*' > /dev/null; then
-    prg="$link"
-  else
-    prg="`dirname $prg`/$link"
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
   fi
-done
-
-SVNKIT_HOME=`dirname $prg`
-SVNKIT_HOME=`cd "$SVNKIT_HOME" ; pwd`
-
-cd "$old_wd"
-
-SVNKIT_CP="$SVNKIT_HOME/svnkit.jar":"$SVNKIT_HOME/svnkit-cli.jar":"$SVNKIT_HOME/trilead.jar":"$SVNKIT_HOME/jna.jar"
-
-if $cygwin ; then
-  SVNKIT_CP=`cygpath --windows --path "$SVNKIT_CP"`
 fi
 
-SVNKIT_VM_OPTIONS="-Dsun.io.useCanonCaches=false -Djava.util.logging.config.file=$SVNKIT_HOME/logging.properties"
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
 
-SVNKIT_MAINCLASS=org.tmatesoft.svn.cli.svnadmin.SVNAdmin
-"$JAVA_HOME/bin/java" $SVNKIT_VM_OPTIONS -cp $SVNKIT_CP $SVNKIT_MAINCLASS "$@"
+# If a specific java binary isn't specified search for the standard 'java' binary
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD=`which java`
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
+if [ -z "$SVNKIT_LIB" ]
+then
+  SVNKIT_LIB="$BASEDIR"/lib
+fi
+
+CLASSPATH="$BASEDIR/conf"
+CLASSPATH=$CLASSPATH:"$SVNKIT_LIB/svnkit-1.7.5-v1.jar"
+CLASSPATH=$CLASSPATH:"$SVNKIT_LIB/sequence-library-1.0.2.jar"
+CLASSPATH=$CLASSPATH:"$SVNKIT_LIB/antlr-runtime-3.4.jar"
+CLASSPATH=$CLASSPATH:"$SVNKIT_LIB/sqljet-1.1.4.jar"
+CLASSPATH=$CLASSPATH:"$SVNKIT_LIB/jna-3.4.0.jar"
+CLASSPATH=$CLASSPATH:"$SVNKIT_LIB/trilead-ssh2-1.0.0-build215.jar"
+CLASSPATH=$CLASSPATH:"$SVNKIT_LIB/svnkit-cli-1.7.5-v1.jar"
+LOGGING_PROPERTIES_PATH="$BASEDIR/conf/logging.properties"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  [ -n "$HOME" ] && HOME=`cygpath --path --windows "$HOME"`
+  [ -n "$BASEDIR" ] && BASEDIR=`cygpath --path --windows "$BASEDIR"`
+  [ -n "$REPO" ] && REPO=`cygpath --path --windows "$REPO"`
+  [ -n "$LOGGING_PROPERTIES_PATH" ] && REPO=`cygpath --path --windows "$LOGGING_PROPERTIES_PATH"`
+fi
+
+EXTRA_JVM_ARGUMENTS="-Djava.util.logging.config.file=$LOGGING_PROPERTIES_PATH -Dsun.io.useCanonCaches=false"
+
+exec "$JAVACMD" $JAVA_OPTS \
+  $EXTRA_JVM_ARGUMENTS \
+  -classpath "$CLASSPATH" \
+  org.tmatesoft.svn.cli.SVNAdmin \
+  "$@"

--
Gitblit v1.10.0