Blob Blame History Raw
diff -up azureus-5.7.2.0/org/gudy/azureus2/platform/unix/startupScript.startupScript azureus-5.7.2.0/org/gudy/azureus2/platform/unix/startupScript
--- azureus-5.7.2.0/org/gudy/azureus2/platform/unix/startupScript.startupScript	2015-11-12 22:49:12.000000000 +0100
+++ azureus-5.7.2.0/org/gudy/azureus2/platform/unix/startupScript	2016-12-06 19:05:51.122143071 +0100
@@ -1,15 +1,31 @@
 #!/bin/bash
 
 ######## CONFIGURATION OPTIONS ########
-AUTOUPDATE_SCRIPT=1 # change to 0 if you don't want your changes overwritten on next SCRIPT_VERSION change
-JAVA_PROGRAM_DIR=""	# use full path to java bin dir, ex. "/usr/java/j2sdk1.4.2/bin/"
-#PROGRAM_DIR="/home/username/apps/azureus"	# use full path to Azureus bin dir
-JAVA_ARGS="-Xmx256m"
+AUTOUPDATE_SCRIPT=0 # change to 0 if you don't want your changes overwritten on next SCRIPT_VERSION change
+JAVA_PROGRAM_DIR="/usr/lib/jvm/jre/bin/"	# use full path to java bin dir, ex. "/usr/java/j2sdk1.4.2/bin/"
+PROGRAM_DIR="$HOME/.azureus/app"	# use full path to Azureus bin dir
+mkdir -p ${PROGRAM_DIR}
+
+#Workaround for SWT issues with Wayland
+GDK_BACKEND=x11
 
 #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_LIBRARY_PATH x" = " x" ]; then export LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME; else export LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME:$LD_LIBRARY_PATH; fi
 #######################################
 
+case $(uname -i) in
+    *64)
+       SWT=/usr/lib64/eclipse/swt.jar
+       LIBDIR=/usr/lib64
+       ;;
+    *)
+       SWT=/usr/lib/eclipse/swt.jar
+       LIBDIR=/usr/lib
+       ;;
+esac
+
+export LD_LIBRARY_PATH=$LIBDIR/eclipse/plugins/:$LIBDIR/eclipse/:$LIBDIR CLASSPATH=$SWT:`build-classpath json_simple bcprov apache-commons-cli apache-commons-lang log4j-1`:/usr/share/azureus/Azureus2.jar
+
 ######## YOU PROBABLY DO NOT WANT TO TOUCH ANYTHING BELOW! ########
 
 SCRIPT_VERSION=5
@@ -35,132 +51,27 @@ MSG_JAVABORK="Java appeared to have cras
 
 SKIP_GCJ=1
 
-look_for_java()
-{
-  # check if java is in path.  If it is, we do not need to search
-	if command -v java &>/dev/null; then
-		if check_version ; then
-			echo $MSG11
-			return 0
-		fi
-	fi
-
-	echo $MSG_JAVASEARCH
-
-
-	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
-				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" = "#" ] ; then
-    echo $MSG_JAVABORK
-    ${JAVA_PROGRAM_DIR}java -version 2>&1
-    exit 1
-	else
-		VERSION=`echo ${JAVA_HEADER} | sed "s/^.* version \"\(.*\)\"/\1/"`
-		if echo $VERSION | grep "^1.[0-4]" ; then
-			echo $MSG3 "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG4
-			return 1
-		else
-			echo $MSG5 "[${JAVA_PROGRAM_DIR}java = ${JAVA_IMPL} ${VERSION}]" ; echo $MSG6
-			return 0
-		fi
-	fi
-}
-
 runJavaOutput()
 {
-	# assume we can write to the user's home..
+        TMP_SCRIPT=$(mktemp)
 
-	${JAVA_PROGRAM_DIR}java "${JAVA_ARGS}" \
+	${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
-}
-
-moveInSWT()
-{
-	if [ ! -f "${PROGRAM_DIR}/swt.jar" ]; then
-		if [ ! "$(echo ${PROGRAM_DIR}/swt/*.jar)" = "${PROGRAM_DIR}/swt/*.jar" ]; then
-			if [ "`${JAVA_PROGRAM_DIR}java -cp \"${CLASSPATH}\" org.gudy.azureus2.platform.JavaBitMode`" = "64" ]; then 
-				cp ${PROGRAM_DIR}/swt/swt64.jar ${PROGRAM_DIR}/swt.jar
-			else
-				cp ${PROGRAM_DIR}/swt/swt32.jar ${PROGRAM_DIR}/swt.jar
-			fi
-		fi
-	fi
+		"$@" > $TMP_SCRIPT
+       
+	if [ -f $TMP_SCRIPT ]; then
+               chmod +x $TMP_SCRIPT
+               . $TMP_SCRIPT
+               rm $TMP_SCRIPT
+        fi
 }
 
-
 echo $MSG_STARTING
 
-# locate and test the java executable
-if [ "$JAVA_PROGRAM_DIR" == "" ]; then
-	if ! look_for_java ; then
-		exit 1
-	fi
-fi
-
-# get the app dir if not already defined
-if [ -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
-	fi
-fi
-
 # Change path here so we can do for loop on program dirs with spaces
 cd "${PROGRAM_DIR}"
 
@@ -169,17 +80,8 @@ for FILE in ./*.jar; do
 	CLASSPATH="${CLASSPATH:+${CLASSPATH}:}$FILE"
 done
 
-moveInSWT
-
 # 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 directory
-find ~/.azureus/plugins -maxdepth 1 -type l -xtype d  -exec rm {} \;
+JAVA_PROPS="-Dazureus.script.version=${SCRIPT_VERSION} -Dorg.eclipse.swt.browser.UseWebKitGTK=true -Dazureus.skipSWTcheck=1"
 
 runJavaOutput "org.gudy.azureus2.platform.unix.ScriptBeforeStartup" "$@";
 
@@ -189,7 +91,7 @@ echo "${JAVA_PROGRAM_DIR}java ${JAVA_ARG
 # 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}" \
+${JAVA_PROGRAM_DIR}java ${JAVA_ARGS} \
 	-cp "${CLASSPATH}" \
 	-Djava.library.path="${PROGRAM_DIR}" \
 	-Dazureus.install.path="${PROGRAM_DIR}" \