From 889d01c1c97c3ea825eaaca61b935a54fd85ee18 Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Thu, 17 Apr 2025 13:31:10 +0200 Subject: [PATCH 01/11] remove newline at the end of file --- assets/linux/updateBiglyBT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index c9c39fa34cb..98df8b06318 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -82,4 +82,4 @@ if [ $ISRERUN -eq 1 ]; then chown -R $2:$2 ${PARAMS[${PARAM_IDX_USERPATH}]} fi -echo Done \ No newline at end of file +echo Done From b8b6ce4efe1c83251a5a9d0353b54014b28c9d7a Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Thu, 17 Apr 2025 13:31:21 +0200 Subject: [PATCH 02/11] use subshell instead of legacy ticks --- assets/linux/updateBiglyBT | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index 98df8b06318..7a5a347897f 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -19,8 +19,8 @@ fi if [ $ISRERUN -eq 1 ]; then PARAMS=( "${@:3}" ) else - SCRIPT=`realpath $0` - SCRIPTPATH=`dirname $SCRIPT` + SCRIPT=$(realpath $0) + SCRIPTPATH=$(dirname $SCRIPT) if [ "$1" = "" ]; then # No params were passed in, make ones up From 297611f8f638ce26de058121b73e079867d150df Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Thu, 17 Apr 2025 13:34:02 +0200 Subject: [PATCH 03/11] adjust quotes --- assets/linux/updateBiglyBT | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index 7a5a347897f..c63c5e93b1c 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -19,8 +19,8 @@ fi if [ $ISRERUN -eq 1 ]; then PARAMS=( "${@:3}" ) else - SCRIPT=$(realpath $0) - SCRIPTPATH=$(dirname $SCRIPT) + SCRIPT=$(realpath "$0") + SCRIPTPATH=$(dirname "$SCRIPT") if [ "$1" = "" ]; then # No params were passed in, make ones up @@ -50,15 +50,15 @@ else CMD="sudo" else echo "Can't get write access to ${PARAMS[${PARAM_IDX_APPPATH}]}" - echo "Please run ${SCRIPT} with higher access level" + echo "Please run $SCRIPT with higher access level" exit 1 fi echo Running as root.. - $CMD $SCRIPT "rerun" "${USER}" ${PARAMS[@]} + $CMD "$SCRIPT" "rerun" "{USER" "${PARAMS[@]}" if [ $? -ne 0 ]; then - echo "Could not run with ${CMD}. Trying one more time with sudo" - sudo $SCRIPT "rerun" "${USER}" ${PARAMS[@]} + echo "Could not run with $CMD. Trying one more time with sudo" + sudo "$SCRIPT" "rerun" "$USER" "${PARAMS[@]}" fi exit fi @@ -75,11 +75,11 @@ for i in "${!PARAMS[@]}"; do done echo Running Updater.. -java -cp "${PARAMS[${PARAM_IDX_USERPATH}]}/plugins/azupdater/Updater.jar" ${PARAMS[@]} +java -cp "${PARAMS[${PARAM_IDX_USERPATH}]}/plugins/azupdater/Updater.jar" "${PARAMS[@]}" if [ $ISRERUN -eq 1 ]; then - echo Ensuring $2 still owns ${PARAMS[${PARAM_IDX_USERPATH}]} - chown -R $2:$2 ${PARAMS[${PARAM_IDX_USERPATH}]} + echo Ensuring "$2" still owns "${PARAMS[${PARAM_IDX_USERPATH}]}" + chown -R "$2":"$2" "${PARAMS[${PARAM_IDX_USERPATH}]}" fi echo Done From 8ed555cdc6c3e244d901bb067f4d4a58d75d8491 Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Thu, 17 Apr 2025 13:35:10 +0200 Subject: [PATCH 04/11] remove excess sygils --- assets/linux/updateBiglyBT | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index c63c5e93b1c..e9b256c6131 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -31,7 +31,7 @@ else for i in "${!PARAMS[@]}"; do if [ "${PARAMS[$i]}" = "updateonly" ] || [ "${PARAMS[$i]}" = "restart" ]; then - PARAM_IDX_APPPATH=$(( $i + 1 )) + PARAM_IDX_APPPATH=$(( i + 1 )) break fi done @@ -69,7 +69,7 @@ fi for i in "${!PARAMS[@]}"; do if [ "${PARAMS[$i]}" = "updateonly" ] || [ "${PARAMS[$i]}" = "restart" ]; then - PARAM_IDX_USERPATH=$(( $i + 2 )) + PARAM_IDX_USERPATH=$(( i + 2 )) break fi done From e9ba21568ccb90b0904436e709f170614a9d9173 Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Thu, 17 Apr 2025 13:37:16 +0200 Subject: [PATCH 05/11] simplify ISRERUN logic --- assets/linux/updateBiglyBT | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index e9b256c6131..3404df76d63 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -10,13 +10,9 @@ exists () { type "$1" >/dev/null 2>/dev/null } -if [ "$1" = "rerun" ]; then - ISRERUN=1 -else - ISRERUN=0 -fi +[[ "$1" = "rerun" ]] && declare -ri ISRERUN=1 -if [ $ISRERUN -eq 1 ]; then +if [[ $ISRERUN ]]; then PARAMS=( "${@:3}" ) else SCRIPT=$(realpath "$0") @@ -77,7 +73,7 @@ done echo Running Updater.. java -cp "${PARAMS[${PARAM_IDX_USERPATH}]}/plugins/azupdater/Updater.jar" "${PARAMS[@]}" -if [ $ISRERUN -eq 1 ]; then +if [[ $ISRERUN ]]; then echo Ensuring "$2" still owns "${PARAMS[${PARAM_IDX_USERPATH}]}" chown -R "$2":"$2" "${PARAMS[${PARAM_IDX_USERPATH}]}" fi From 42960b4988cdabb84fb30c0e61ea2db5b5355d96 Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Thu, 17 Apr 2025 13:35:40 +0200 Subject: [PATCH 06/11] run command directly --- assets/linux/updateBiglyBT | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index 3404df76d63..03ea0fca4e8 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -51,8 +51,7 @@ else fi echo Running as root.. - $CMD "$SCRIPT" "rerun" "{USER" "${PARAMS[@]}" - if [ $? -ne 0 ]; then + if ! $CMD "$SCRIPT" "rerun" "$USER" "${PARAMS[@]}"; then echo "Could not run with $CMD. Trying one more time with sudo" sudo "$SCRIPT" "rerun" "$USER" "${PARAMS[@]}" fi From 5c5eef99414fe58d5ac13a3548f8ac752114718c Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Mon, 21 Apr 2025 19:23:58 +0200 Subject: [PATCH 07/11] check EUID arithmetically --- assets/linux/updateBiglyBT | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index 03ea0fca4e8..106d31f0791 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -34,8 +34,7 @@ else if [ ! -w "${PARAMS[${PARAM_IDX_APPPATH}]}" ]; then # Can't write to appdir, going to need super user - - if [ "$EUID" -ne 0 ]; then + if (( EUID != 0 )); then if exists "pkexec"; then CMD="pkexec" elif exists "gksudo"; then From 70dbf8a6e68773583cfcc885126af6810012d036 Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Mon, 21 Apr 2025 19:24:17 +0200 Subject: [PATCH 08/11] simplify PARAMS assignment --- assets/linux/updateBiglyBT | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index 106d31f0791..a3c213c5688 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -10,19 +10,17 @@ exists () { type "$1" >/dev/null 2>/dev/null } +declare PARAMS=( "${@:3}" ) [[ "$1" = "rerun" ]] && declare -ri ISRERUN=1 -if [[ $ISRERUN ]]; then - PARAMS=( "${@:3}" ) -else + +if [[ ! $ISRERUN ]]; then SCRIPT=$(realpath "$0") SCRIPTPATH=$(dirname "$SCRIPT") if [ "$1" = "" ]; then # No params were passed in, make ones up PARAMS=( "com.biglybt.update.Updater" "updateonly" "${SCRIPTPATH}" "${HOME}/.biglybt" ) - else - PARAMS=( "${@}" ) fi for i in "${!PARAMS[@]}"; do From be9354035f1273066e0fb737023d760906250727 Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Mon, 21 Apr 2025 19:25:28 +0200 Subject: [PATCH 09/11] modernize parameter checking --- assets/linux/updateBiglyBT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index a3c213c5688..2f07f1291d9 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -18,7 +18,7 @@ if [[ ! $ISRERUN ]]; then SCRIPT=$(realpath "$0") SCRIPTPATH=$(dirname "$SCRIPT") - if [ "$1" = "" ]; then + if [[ ! "$1" ]]; then # No params were passed in, make ones up PARAMS=( "com.biglybt.update.Updater" "updateonly" "${SCRIPTPATH}" "${HOME}/.biglybt" ) fi From c7bd9e5961698945eb77bc590850280a15c6e130 Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Mon, 21 Apr 2025 19:30:13 +0200 Subject: [PATCH 10/11] improve PARAMS testing --- assets/linux/updateBiglyBT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index 2f07f1291d9..c98c682dbc1 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -60,7 +60,7 @@ if [[ ! $ISRERUN ]]; then fi for i in "${!PARAMS[@]}"; do - if [ "${PARAMS[$i]}" = "updateonly" ] || [ "${PARAMS[$i]}" = "restart" ]; then + if [[ "${PARAMS[$i]}" = "updateonly" || "${PARAMS[$i]}" = "restart" ]]; then PARAM_IDX_USERPATH=$(( i + 2 )) break fi From f6a3d41b756dacb4c626dde4b84a34d333fe67ed Mon Sep 17 00:00:00 2001 From: Filip Kobierski Date: Mon, 21 Apr 2025 19:31:07 +0200 Subject: [PATCH 11/11] add quotes to echo --- assets/linux/updateBiglyBT | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/linux/updateBiglyBT b/assets/linux/updateBiglyBT index c98c682dbc1..fcb1f9d31e8 100644 --- a/assets/linux/updateBiglyBT +++ b/assets/linux/updateBiglyBT @@ -47,7 +47,7 @@ if [[ ! $ISRERUN ]]; then exit 1 fi - echo Running as root.. + echo "Running as root..." if ! $CMD "$SCRIPT" "rerun" "$USER" "${PARAMS[@]}"; then echo "Could not run with $CMD. Trying one more time with sudo" sudo "$SCRIPT" "rerun" "$USER" "${PARAMS[@]}" @@ -66,11 +66,11 @@ for i in "${!PARAMS[@]}"; do fi done -echo Running Updater.. +echo "Running Updater..." java -cp "${PARAMS[${PARAM_IDX_USERPATH}]}/plugins/azupdater/Updater.jar" "${PARAMS[@]}" if [[ $ISRERUN ]]; then - echo Ensuring "$2" still owns "${PARAMS[${PARAM_IDX_USERPATH}]}" + echo "Ensuring $2 still owns ${PARAMS[${PARAM_IDX_USERPATH}]}" chown -R "$2":"$2" "${PARAMS[${PARAM_IDX_USERPATH}]}" fi