diff --git a/xcpkg b/xcpkg index b57fb98..f87ac49 100755 --- a/xcpkg +++ b/xcpkg @@ -189,7 +189,7 @@ version_match() { ############################################################################## # {{{ wfetch -# wfetch [--uri=] [--sha256=] [-o ] [-q] +# wfetch [--uri=] [--sha256=] [-o ] [-q] [--no-buffer] # # If -o option is specified, the result will be written to file, otherwize, the result will be written to stdout. # @@ -218,6 +218,8 @@ wfetch() { unset FETCH_SILENT + unset NOT_BUFFER + [ -z "$1" ] && abort 1 "wfetch [OPTION]... , must be non-empty." if [ -z "$XCPKG_URL_TRANSFORM" ] ; then @@ -248,6 +250,9 @@ wfetch() { FETCH_SILENT=1 RUN_SILENT=1 ;; + --no-buffer) + NOT_BUFFER=1 + ;; *) abort 1 "wfetch [--uri=] [--sha256=] [-o ] [-q] , unrecognized option: $1" esac shift @@ -294,11 +299,15 @@ wfetch() { fi fi - FETCH_UTS="$(date +%s)" + if [ "$NOT_BUFFER" = 1 ] ; then + FETCH_BUFFER_FILEPATH="$FETCH_OUTPUT_FILEPATH" + else + FETCH_UTS="$(date +%s)" - FETCH_SHA="$(printf '%s\n' "$FETCH_URL:$$:$FETCH_UTS" | sha256sum | cut -d ' ' -f1)" + FETCH_SHA="$(printf '%s\n' "$FETCH_URL:$$:$FETCH_UTS" | sha256sum | cut -d ' ' -f1)" - FETCH_BUFFER_FILEPATH="$FETCH_OUTPUT_DIR/$FETCH_SHA.tmp" + FETCH_BUFFER_FILEPATH="$FETCH_OUTPUT_DIR/$FETCH_SHA.tmp" + fi fi for FETCH_TOOL in curl wget http lynx aria2c axel @@ -370,7 +379,9 @@ wfetch() { fi fi - run mv "$FETCH_BUFFER_FILEPATH" "$FETCH_OUTPUT_FILEPATH" + if [ "$NOT_BUFFER" != 1 ] ; then + run mv "$FETCH_BUFFER_FILEPATH" "$FETCH_OUTPUT_FILEPATH" + fi fi } @@ -7012,7 +7023,7 @@ __setup_uppm() { ################################################################################## - wfetch 'https://raw.githubusercontent.com/leleliu008/uppm/master/latest-release' -o uppm-latest-release + wfetch 'https://raw.githubusercontent.com/leleliu008/uppm/master/latest-release' -o uppm-latest-release --no-buffer ################################################################################## @@ -7033,14 +7044,14 @@ __setup_uppm() { UPPM_LATEST_RELEASE_ARCHIVE_FILENAME="uppm-${UPPM_LATEST_RELEASE_VERSION}-${NATIVE_OS_KIND}-${NATIVE_OS_ARCH}.tar.xz" fi - wfetch "https://github.com/leleliu008/uppm/releases/download/${UPPM_LATEST_RELEASE_TAGNAME}/${UPPM_LATEST_RELEASE_ARCHIVE_FILENAME}" -o "$UPPM_LATEST_RELEASE_ARCHIVE_FILENAME" + wfetch "https://github.com/leleliu008/uppm/releases/download/${UPPM_LATEST_RELEASE_TAGNAME}/${UPPM_LATEST_RELEASE_ARCHIVE_FILENAME}" -o "$UPPM_LATEST_RELEASE_ARCHIVE_FILENAME" --no-buffer run tar xvf "$UPPM_LATEST_RELEASE_ARCHIVE_FILENAME" --strip-components=1 --no-same-owner ################################################################################## # https://curl.se/docs/caextract.html - wfetch 'https://curl.se/ca/cacert.pem' -o . + wfetch 'https://curl.se/ca/cacert.pem' -o cacert.pem --no-buffer ################################################################################## @@ -7702,7 +7713,7 @@ main() { XCPKG="$CURRENT_SCRIPT_FILEPATH" - XCPKG_VERSION=0.15.8 + XCPKG_VERSION=0.15.9 XCPKG_OFFICAL_FORMULA_REPO_URL='https://github.com/leleliu008/xcpkg-formula-repository-offical-core'