--- a/bin/jruby.bash 2013-06-03 21:42:36.445941264 +0200 +++ b/bin/jruby.bash 2013-06-03 21:46:04.052589544 +0200 @@ -25,29 +25,7 @@ JAVA_VM=-client fi -# get the absolute path of the executable -SELF_PATH=$(builtin cd -P -- "$(dirname -- "$0")" >/dev/null && pwd -P) && SELF_PATH=$SELF_PATH/$(basename -- "$0") - -# resolve symlinks -while [ -h $SELF_PATH ]; do - # 1) cd to directory of the symlink - # 2) cd to the directory of where the symlink points - # 3) get the pwd - # 4) append the basename - DIR=$(dirname -- "$SELF_PATH") - SYM=$(readlink $SELF_PATH) - SELF_PATH=$(cd $DIR && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") -done - -PRG=$SELF_PATH - -JRUBY_HOME_1=`dirname "$PRG"` # the ./bin dir -if [ "$JRUBY_HOME_1" = '.' ] ; then - cwd=`pwd` - JRUBY_HOME=`dirname $cwd` # JRUBY-2699 -else - JRUBY_HOME=`dirname "$JRUBY_HOME_1"` # the . dir -fi +JRUBY_HOME="${JRUBY_HOME:-/usr/share/jruby}" if [ -z "$JRUBY_OPTS" ] ; then JRUBY_OPTS="" @@ -79,17 +57,7 @@ done JRUBY_OPTS=${JRUBY_OPTS_TEMP} -if [ -z "$JAVACMD" ] ; then - if [ -z "$JAVA_HOME" ] ; then - JAVACMD='java' - else - if $cygwin; then - JAVACMD="`cygpath -u "$JAVA_HOME"`/bin/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - fi -fi +JAVACMD='java' if [ -z "$JAVA_MEM" ] ; then JAVA_MEM=-Xmx500m @@ -130,21 +98,7 @@ CP_DELIMITER=":" -# add main jruby jar to the bootclasspath -for j in "$JRUBY_HOME"/lib/jruby.jar "$JRUBY_HOME"/lib/jruby-complete.jar; do - if [ ! -e "$j" ]; then - continue - fi - if [ "$JRUBY_CP" ]; then - JRUBY_CP="$JRUBY_CP$CP_DELIMITER$j" - else - JRUBY_CP="$j" - fi - if [ $JRUBY_ALREADY_ADDED ]; then - echo "WARNING: more than one JRuby JAR found in lib directory" - fi - JRUBY_ALREADY_ADDED=true -done +JRUBY_CP="$(java-config-2 -d -p jruby)" if $cygwin; then JRUBY_CP=`cygpath -p -w "$JRUBY_CP"` @@ -152,29 +106,7 @@ # ----- Set Up The System Classpath ------------------------------------------- -if [ "$JRUBY_PARENT_CLASSPATH" != "" ]; then - # Use same classpath propagated from parent jruby - CP=$JRUBY_PARENT_CLASSPATH -else - # add other jars in lib to CP for command-line execution - for j in "$JRUBY_HOME"/lib/*.jar; do - if [ "$j" == "$JRUBY_HOME"/lib/jruby.jar ]; then - continue - fi - if [ "$j" == "$JRUBY_HOME"/lib/jruby-complete.jar ]; then - continue - fi - if [ "$CP" ]; then - CP="$CP$CP_DELIMITER$j" - else - CP="$j" - fi - done - - if [ "$CP" != "" ] && $cygwin; then - CP=`cygpath -p -w "$CP"` - fi -fi +CP="${JRUBY_PARENT_CLASSPATH}" if $cygwin; then # switch delimiter only after building Unix style classpaths @@ -254,15 +186,7 @@ java_args=("${java_args[@]}" "-Djava.awt.headless=true") ;; # Run under JDB --jdb) - if [ -z "$JAVA_HOME" ] ; then - JAVACMD='jdb' - else - if $cygwin; then - JAVACMD="`cygpath -u "$JAVA_HOME"`/bin/jdb" - else - JAVACMD="$JAVA_HOME/bin/jdb" - fi - fi + JAVACMD='jdb' java_args=("${java_args[@]}" "-sourcepath" "$JRUBY_HOME/lib/ruby/1.8:.") JRUBY_OPTS=("${JRUBY_OPTS[@]}" "-X+C") ;; --client) @@ -307,18 +231,6 @@ JAVA_OPTS="$JAVA_OPTS $JAVA_MEM $JAVA_MEM_MIN $JAVA_STACK" -JFFI_BOOT="" -if [ -d "$JRUBY_HOME/lib/native/" ]; then - for d in $JRUBY_HOME/lib/native/*`uname -s`; do - if [ -z "$JFFI_BOOT" ]; then - JFFI_BOOT="$d" - else - JFFI_BOOT="$JFFI_BOOT:$d" - fi - done -fi -JFFI_OPTS="-Djffi.boot.library.path=$JFFI_BOOT" - if $cygwin; then JRUBY_HOME=`cygpath --mixed "$JRUBY_HOME"` JRUBY_SHELL=`cygpath --mixed "$JRUBY_SHELL"` @@ -356,8 +268,9 @@ JRUBY_OPTS='' fi - "$JAVACMD" $PROFILE_ARGS $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -classpath "$JRUBY_CP$CP_DELIMITER$CP$CP_DELIMITER$CLASSPATH" \ + "$JAVACMD" $PROFILE_ARGS $JAVA_OPTS "${java_args[@]}" -classpath "$JRUBY_CP$CP_DELIMITER$CP$CP_DELIMITER$CLASSPATH" \ "-Djruby.home=$JRUBY_HOME" \ + "-Djruby.bindir=/usr/bin" \ "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \ "-Djruby.shell=$JRUBY_SHELL" \ $java_class $JRUBY_OPTS "$@" @@ -379,7 +292,7 @@ else if $cygwin; then # exec doed not work correctly with cygwin bash - "$JAVACMD" $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \ + "$JAVACMD" $JAVA_OPTS "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \ "-Djruby.home=$JRUBY_HOME" \ "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \ "-Djruby.shell=$JRUBY_SHELL" \ @@ -392,8 +305,9 @@ exit $JRUBY_STATUS else - exec "$JAVACMD" $JAVA_OPTS "$JFFI_OPTS" "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \ + exec "$JAVACMD" $JAVA_OPTS "${java_args[@]}" -Xbootclasspath/a:"$JRUBY_CP" -classpath "$CP$CP_DELIMITER$CLASSPATH" \ "-Djruby.home=$JRUBY_HOME" \ + "-Djruby.bindir=/usr/bin" \ "-Djruby.lib=$JRUBY_HOME/lib" -Djruby.script=jruby \ "-Djruby.shell=$JRUBY_SHELL" \ $java_class $mode "$@"