All pastes #707867 Raw Edit

clueless

public text v1 · immutable
#707867 ·published 2007-09-23 11:15 UTC
rendered paste body
#!/bin/bash######## CONFIGURATION OPTIONS ########SCRIPT_NOT_CHANGED=0	# change this to 1 if you don't want your script overwritten!JAVA_PROGRAM_DIR=""	# use full path to java bin dir, ex. "/usr/java/j2sdk1.4.2/bin/"PROGRAM_DIR="/home/staz/apps/azureus"	# use full path to Azureus bin dirJAVA_ARGS="-Xmx128m"#export MOZILLA_FIVE_HOME="/path/to/gre"	# Full path to GRE/Mozilla. When commenting out this line, also comment out the next line#if [ "$LD_LIBARARY_PATH x" = " x" ]; then export LD_LIBARARY_PATH=$MOZILLA_FIVE_HOME; else export LD_LIBARARY_PATH=$MOZILLA_FIVE_HOME:$LD_LIBRARY_PATH; fi############################################### YOU PROBABLY DO NOT WANT TO TOUCH ANYTHING BELOW! ########SCRIPT_VERSION=2START_CLASS="org.gudy.azureus2.ui.swt.Main"MSG_LOADING="Loading Azureus:"MSG_STARTING="Starting Azureus..."MSG2="Java exec found in "MSG3="OOPS, your java version is too old "MSG4="You need to upgrade to JRE 1.4.x or newer from http://java.sun.com"MSG5="Suitable java version found "MSG6="Configuring environment..."MSG7="OOPS, you don't seem to have a valid JRE "MSG8="OOPS, unable to locate java exec in "MSG9=" hierarchy"MSG10="Java exec not found in PATH, starting auto-search..."MSG11="Java exec found in PATH. Verifying..."MSG_AZEXIT="Exit from Azureus complete"MSG_TERMINATED="Azureus TERMINATED."MSG_RECHECK="Re-checking with GCJ (Sun Java recommended).."MSG_ISGCJ="Java is GCJ.. looking for Sun Java.."MSG_JAVABORK="Java appeared to have crashed:"SKIP_GCJ=1look_for_java(){	if command -v java &>/dev/null; then		if check_version ; then			echo $MSG11			return 0		fi	fi	echo $MSG10	JAVA_CHECK_DIRS="/usr/java/latest /usr/java /usr/lib/jvm/latest /usr/lib/jvm"	for JAVADIR in $JAVA_CHECK_DIRS; do		IFS=$'\n'		potential_java_dirs=(`ls -1 "$JAVADIR" | sort | tac 2>/dev/null`)		IFS=		for D in "${potential_java_dirs[@]}"; do			if [[ -d "$JAVADIR/$D" && -x "$JAVADIR/$D/bin/java" ]]; then				JAVA_PROGRAM_DIR="$JAVADIR/$D/bin/"				echo $MSG2 $JAVA_PROGRAM_DIR				if check_version ; then					return 0				else					return 1				fi			fi		done	done		if [ $SKIP_GCJ ] ; then		echo $MSG_RECHECK		SKIP_GCJ=		if look_for_java ; then			return 0		else			return 1		fi	else		echo $MSG8 "${JAVADIR}/" $MSG9 ; echo $MSG4	fi	return 1}check_version(){	if [ $SKIP_GCJ ] ; then		JAVA_ISGCJ=`"${JAVA_PROGRAM_DIR}java" -version 2>&1 | grep "gcj"`		if [ ! "$JAVA_ISGCJ x" = " x" ] ; then			echo $MSG_ISGCJ			return 1		fi	fi	JAVA_HEADER=`"${JAVA_PROGRAM_DIR}java" -version 2>&1 | head -n 1`	JAVA_IMPL=`echo ${JAVA_HEADER} | cut -f1 -d' '`	if [ "$JAVA_IMPL" = "java" ] ; then		VERSION=`echo ${JAVA_HEADER} | sed "s/java version \"\(.*\)\"/\1/"`		if echo $VERSION | grep "^1.[0-3]" ; then			echo $MSG3 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG4			return 1		else			echo $MSG5 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG6			return 0		fi	elif [ "$JAVA_IMPL" = "#" ] ; then		echo $MSG_JAVABORK		${JAVA_PROGRAM_DIR}java -version 2>&1		exit 1	else			echo $MSG7 "[${JAVA_PROGRAM_DIR}java = ${JAVA_IMPL}]" ; echo $MSG4		return 1	fi}runJavaOutput(){	# assume we can write to the user's home..	${JAVA_PROGRAM_DIR}java "${JAVA_ARGS}" \		-cp "${CLASSPATH}" \		-Djava.library.path="${PROGRAM_DIR}" \		-Dazureus.install.path="${PROGRAM_DIR}" \		-Dazureus.script="$0" \		$JAVA_PROPS \		"$@" > ~/azScript	if [ -f ~/azScript ]; then		chmod +x ~/azScript		. ~/azScript		rm ~/azScript	fi}echo $MSG_STARTING# locate and test the java executableif [ "$JAVA_PROGRAM_DIR" == "" ]; then	if ! look_for_java ; then		exit 1	fifi# get the app dir if not already definedif [ -z "$PROGRAM_DIR" ]; then		PROGRAM_DIR=`dirname "$0"`		PROGRAM_DIR=`cd "$PROGRAM_DIR"; pwd`else	if [ "$(echo ${PROGRAM_DIR}/*.jar)" = "${PROGRAM_DIR}/*.jar" ]; then		echo "You seem to have set an invalid PROGRAM_DIR, unable to continue!"		exit 1	elif [ ! -f "${PROGRAM_DIR}/Azureus2.jar" ]; then		echo "Unable to locate Azureus2.jar in $PROGRAM_DIR, aborting!"		exit 1	fifi# Change path here so we can do for loop on program dirs with spacescd "${PROGRAM_DIR}"# build the classpathfor FILE in ./*.jar; do	CLASSPATH="${CLASSPATH:+${CLASSPATH}:}$FILE"done# setup Java System Properties (no spaces in values)JAVA_PROPS="-Dazureus.script.version=${SCRIPT_VERSION}"if [ ! "$JAVA_ISGCJ x" = " x" ] ; then	JAVA_PROPS="$JAVA_PROPS -Dgnu.gcj.runtime.VMClassLoader.library_control=never"fi# some distros symlink application level plugins into the users's plugin directory..# remove all symlinks in user's plugin directoryfind ~/.azureus/plugins -maxdepth 1 -type l -xtype d  -exec rm {} \;runJavaOutput "org.gudy.azureus2.platform.unix.ScriptBeforeStartup" "$@";echo $MSG_LOADINGecho "${JAVA_PROGRAM_DIR}java ${JAVA_ARGS} -cp \"${CLASSPATH}\" -Djava.library.path=\"${PROGRAM_DIR}\" -Dazureus.install.path=\"${PROGRAM_DIR}\" -Dazureus.script=\"$0\" $JAVA_PROPS $START_CLASS $@"# Don't use "exec -a Azureus ..." here as exec quits this script after completion,# preventing ScriptAfterShutdown from running, which installs updates and does# restarts${JAVA_PROGRAM_DIR}java "${JAVA_ARGS}" \	-cp "${CLASSPATH}" \	-Djava.library.path="${PROGRAM_DIR}" \	-Dazureus.install.path="${PROGRAM_DIR}" \	-Dazureus.script="$0" \	$JAVA_PROPS \	$START_CLASS "$@"echo $MSG_AZEXITrunJavaOutput "org.gudy.azureus2.platform.unix.ScriptAfterShutdown" "$@";echo $MSG_TERMINATED