From b4ca00bd3b1aead38f93cd3230e6e7d7ae7a9b14 Mon Sep 17 00:00:00 2001 From: Dessa Simpson Date: Sun, 1 May 2022 15:56:54 -0700 Subject: [PATCH] Download spiget resources to tempdir under plugins (#1486) --- scripts/start-spiget | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/start-spiget b/scripts/start-spiget index d6e18416..d00ea265 100755 --- a/scripts/start-spiget +++ b/scripts/start-spiget @@ -47,7 +47,7 @@ getResourceFromSpiget() { mkdir -p /data/plugins versionfile="/data/plugins/.${resource}-version.json" - versionfileNew="/tmp/.${resource}-version.json" + versionfileNew="${versionfile}.tmp" if [ -f "$versionfile" ]; then if [[ -n $(find "$versionfile" -mmin +${SPIGET_DOWNLOAD_TOLERANCE}) ]]; then @@ -87,8 +87,10 @@ getResourceFromSpiget() { downloadResourceFromSpiget() { resource=${1?} + tempDir="/data/plugins/tmp-${resource}" + mkdir -p $tempDir resourceUrl="https://api.spiget.org/v2/resources/${resource}" - if ! outfile=$(get_silent --output-filename -o /tmp "${acceptArgs[@]}" "${resourceUrl}/download"); then + if ! outfile=$(get_silent --output-filename -o $tempDir "${acceptArgs[@]}" "${resourceUrl}/download"); then log "ERROR: failed to download resource '${resource}' from ${resourceUrl}/download" if externalUrl=$(get --json-path '$.file.externalUrl' "${resourceUrl}"); then log " Visit $externalUrl to pre-download the resource" @@ -107,11 +109,11 @@ downloadResourceFromSpiget() { elif containsJars "${outfile}"; then log "Extracting contents of resource ${resource} into plugins" extract "$outfile" /data/plugins - rm "$outfile" else log "ERROR: file for resource ${resource} has an unexpected file type: ${fileType}" exit 2 fi + rm -rf "$tempDir" } if [[ ${SPIGET_RESOURCES} ]]; then