Files
vuze/azureus-5.2.0.0-startupScript.patch

225 lines
6.9 KiB
Diff
Raw Permalink Normal View History

diff -up azureus-5.7.6.0/org/gudy/azureus2/platform/unix/startupScript.startupScript azureus-5.7.6.0/org/gudy/azureus2/platform/unix/startupScript
--- azureus-5.7.6.0/org/gudy/azureus2/platform/unix/startupScript.startupScript 2016-11-18 18:41:58.000000000 +0100
+++ azureus-5.7.6.0/org/gudy/azureus2/platform/unix/startupScript 2017-11-21 20:28:08.552801627 +0100
@@ -1,15 +1,24 @@
#!/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 problem with wayland
+export 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
+
+
#######################################
+LIBDIR=/usr/lib
+export LD_LIBRARY_PATH=$LIBDIR/eclipse/plugins/:$LIBDIR/eclipse/:$LIBDIR CLASSPATH=`build-classpath swt json-simple bcprov apache-commons-cli apache-commons-lang reload4j`:/usr/share/azureus/Azureus2.jar
+
+
######## YOU PROBABLY DO NOT WANT TO TOUCH ANYTHING BELOW! ########
SCRIPT_VERSION=6
@@ -35,153 +44,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 $MSG_JAVA_BELOW_MIN
- 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-5]" ; then
- echo $MSG_JAVA_TOO_OLD "[${JAVA_PROGRAM_DIR}java = ${VERSION}]" ; echo $MSG_JAVA_BELOW_MIN
- 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..
-
- ${JAVA_PROGRAM_DIR}java "${JAVA_ARGS}" \
+ TMP_SCRIPT=$(mktemp)
+
+ ${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 [ "$(echo ${PROGRAM_DIR}/swt/*.jar)" = "${PROGRAM_DIR}/swt/*.jar" ]; then
- # No swt dir
- return;
- fi
- if [ "`${JAVA_PROGRAM_DIR}java -cp \"${CLASSPATH}\" org.gudy.azureus2.platform.JavaBitMode`" = "64" ]; then
- SWTFILE="swt64"
- else
- SWTFILE="swt32"
- fi
- if [[ "${VERSION}" > "1.8" ]]; then
- if [ -f "${PROGRAM_DIR}/swt/${SWTFILE}-J8.jar" ]; then
- SWTFILE="${SWTFILE}-J8";
- fi
- fi
-
- if [ -f "${PROGRAM_DIR}/swt.jar" ]; then
- SWTVER=`unzip -cq "${PROGRAM_DIR}/swt.jar" version.txt | sed "s/^version \(.*\)/\1/"`
- fi
- SWTVERNEW=`unzip -cq "${PROGRAM_DIR}/swt/${SWTFILE}.jar" version.txt | sed "s/^version \(.*\)/\1/"`
- if [[ ( "${SWTVER}" != "" ) && ( "${SWTVERNEW}" > "${SWTVER}" ) ]]; then
- echo "Upgrading SWT from ${SWTVER} to ${SWTVERNEW}"
- rm "${PROGRAM_DIR}/swt.jar"
- fi
-
- if [ ! -f "${PROGRAM_DIR}/swt.jar" ]; then
- cp "${PROGRAM_DIR}/swt/${SWTFILE}.jar" "${PROGRAM_DIR}/swt.jar"
- echo "Using ${SWTFILE} ${SWTVERNEW}"
- else
- echo "SWT ${SWTVER}"
- 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}"
@@ -190,17 +73,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" "$@";
@@ -210,7 +84,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}" \