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