lib: drop unused functions/general/downloads.sh (get_urls())
- dead code for a very long time
This commit is contained in:
parent
acfd9c8dcb
commit
cb36a6b10b
@ -1,207 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Copyright (c) 2013-2026 Igor Pecovnik, igor@armbian.com
|
||||
#
|
||||
# This file is a part of the Armbian Build Framework
|
||||
# https://github.com/armbian/build/
|
||||
|
||||
function get_urls() {
|
||||
local catalog=$1
|
||||
local filename=$2
|
||||
|
||||
display_alert "Looking up continent code for mirrors" "geoip" "debug"
|
||||
local continent_code
|
||||
continent_code=$(curl --silent --fail https://cache.armbian.com/geoip | jq '.continent.code' -r)
|
||||
display_alert "Found continent code for mirrors" "${continent_code}" "info"
|
||||
|
||||
declare -a urls=()
|
||||
|
||||
# this uses `jq` hostdep
|
||||
case $catalog in
|
||||
toolchain)
|
||||
# urls+=("https://dl.armbian.com/_toolchain/${filename}") # @TODO: rpardini: this was commented out when I found it
|
||||
# shellcheck disable=SC2207 # yep old code, I know, gotta expand here
|
||||
urls+=($(
|
||||
curl --silent --fail "https://dl.armbian.com/mirrors" |
|
||||
jq -r "(${continent_code:+.${continent_code} // } .default) | .[]" |
|
||||
sed "s#\$#/_toolchain/${filename}#"
|
||||
))
|
||||
;;
|
||||
|
||||
rootfs)
|
||||
# urls+=("https://cache.armbian.com/rootfs/${ROOTFSCACHE_VERSION}/${filename}") # @TODO: rpardini: this was commented out when I found it
|
||||
urls+=("https://github.com/armbian/cache/releases/download/${ROOTFSCACHE_VERSION}/${filename}")
|
||||
urls+=(
|
||||
$(
|
||||
curl --silent --fail "https://cache.armbian.com/mirrors" |
|
||||
jq -r "(${continent_code:+.${continent_code} // } .default) | .[]" |
|
||||
sed "s#\$#/rootfs/${ROOTFSCACHE_VERSION}/${filename}#"
|
||||
)
|
||||
)
|
||||
;;
|
||||
|
||||
*)
|
||||
exit_with_error "Unknown catalog '${catalog}'"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
declare number_urls=${#urls[@]}
|
||||
display_alert "Found ${number_urls} URLs for catalog" "${catalog}: ${urls[*]}" "info"
|
||||
|
||||
echo "${urls[@]}"
|
||||
unset urls
|
||||
return 0
|
||||
}
|
||||
|
||||
# Terrible idea, this runs download_and_verify_internal() with error handling disabled.
|
||||
function download_and_verify() {
|
||||
display_alert "Using download_and_verify(), which" "is not correctly handled for armbian-next; expect problems" "warn"
|
||||
download_and_verify_internal "${@}" || true
|
||||
}
|
||||
|
||||
function download_and_verify_internal() {
|
||||
|
||||
local catalog=$1
|
||||
local filename=$2
|
||||
local localdir=$SRC/cache/$catalog
|
||||
|
||||
local keys=(
|
||||
"8F427EAF" # Linaro Toolchain Builder
|
||||
"9F0E78D5" # Igor Pecovnik
|
||||
)
|
||||
|
||||
mkdir -p "${SRC}/cache/.aria2"
|
||||
local aria2_options=(
|
||||
# Display
|
||||
--console-log-level=error
|
||||
--summary-interval=0
|
||||
--download-result=hide
|
||||
|
||||
# Meta
|
||||
--server-stat-if="${SRC}/cache/.aria2/server_stats"
|
||||
--server-stat-of="${SRC}/cache/.aria2/server_stats"
|
||||
--dht-file-path="${SRC}/cache/.aria2/dht.dat"
|
||||
--rpc-save-upload-metadata=false
|
||||
--auto-save-interval=0
|
||||
|
||||
# File
|
||||
--auto-file-renaming=false
|
||||
--allow-overwrite=true
|
||||
--file-allocation=trunc
|
||||
|
||||
# Connection
|
||||
"--disable-ipv6=${DISABLE_IPV6}"
|
||||
--connect-timeout=10
|
||||
--timeout=10
|
||||
--allow-piece-length-change=true
|
||||
--max-connection-per-server=2
|
||||
--lowest-speed-limit=500K
|
||||
|
||||
# BT
|
||||
--seed-time=0
|
||||
--bt-stop-timeout=30
|
||||
)
|
||||
|
||||
# try to avoid "[ERROR] Failed to open ServerStat file .../cache/.aria2/server_stats for read." on first run
|
||||
if [[ ! -f "${SRC}/cache/.aria2/server_stats" ]]; then
|
||||
mkdir -p "${SRC}/cache/.aria2"
|
||||
touch "${SRC}/cache/.aria2/server_stats"
|
||||
fi
|
||||
|
||||
# use local signature file
|
||||
if [[ -f "${SRC}/config/torrents/${filename}.asc" ]]; then
|
||||
local torrent="${SRC}/config/torrents/${filename}.torrent"
|
||||
ln -sf "${SRC}/config/torrents/${filename}.asc" "${localdir}/${filename}.asc"
|
||||
else
|
||||
# download signature file
|
||||
aria2c "${aria2_options[@]}" \
|
||||
--continue=false \
|
||||
--dir="${localdir}" --out="${filename}.asc" \
|
||||
$(get_urls "${catalog}" "${filename}.asc")
|
||||
|
||||
local rc=$?
|
||||
if [[ $rc -ne 0 ]]; then
|
||||
# Except `not found`
|
||||
[[ $rc -ne 3 ]] && display_alert "Failed to download signature file. aria2 exit code:" "$rc" "wrn"
|
||||
return $rc
|
||||
fi
|
||||
|
||||
if [[ ${USE_TORRENT} == "yes" ]]; then
|
||||
local torrent
|
||||
torrent="$(get_urls "${catalog}" "${filename}.torrent")"
|
||||
fi
|
||||
fi
|
||||
|
||||
# download torrent first
|
||||
local direct=yes
|
||||
if [[ ${USE_TORRENT} == "yes" ]]; then
|
||||
|
||||
display_alert "downloading using torrent network" "$filename"
|
||||
aria2c "${aria2_options[@]}" \
|
||||
--follow-torrent=mem \
|
||||
--dir="${localdir}" \
|
||||
${torrent}
|
||||
|
||||
direct=no
|
||||
|
||||
fi
|
||||
|
||||
# direct download if torrent fails
|
||||
if [[ $direct != "no" ]]; then
|
||||
display_alert "downloading using http(s) network" "$filename"
|
||||
aria2c "${aria2_options[@]}" \
|
||||
--dir="${localdir}" --out="${filename}" \
|
||||
$(get_urls "${catalog}" "${filename}")
|
||||
|
||||
local rc=$?
|
||||
if [[ $rc -ne 0 ]]; then
|
||||
display_alert "Failed to download. aria2 exit code:" "$rc" "wrn"
|
||||
return $rc
|
||||
fi
|
||||
|
||||
echo ""
|
||||
fi
|
||||
|
||||
local verified=false
|
||||
if [[ -f ${localdir}/${filename}.asc ]]; then
|
||||
|
||||
if grep -q 'BEGIN PGP SIGNATURE' "${localdir}/${filename}.asc"; then
|
||||
|
||||
if [[ ! -d "${SRC}"/cache/.gpg ]]; then
|
||||
mkdir -p "${SRC}"/cache/.gpg
|
||||
chmod 700 "${SRC}"/cache/.gpg
|
||||
touch "${SRC}"/cache/.gpg/gpg.conf
|
||||
chmod 600 "${SRC}"/cache/.gpg/gpg.conf
|
||||
fi
|
||||
|
||||
for key in "${keys[@]}"; do
|
||||
gpg --homedir "${SRC}/cache/.gpg" --no-permission-warning \
|
||||
--list-keys "${key}" ||
|
||||
gpg --homedir "${SRC}/cache/.gpg" --no-permission-warning \
|
||||
${http_proxy:+--keyserver-options http-proxy="${http_proxy:-""}"} \
|
||||
--keyserver "hkp://keyserver.ubuntu.com:80" \
|
||||
--recv-keys "${key}" ||
|
||||
exit_with_error "Failed to receive key" "${key}"
|
||||
done
|
||||
|
||||
gpg --homedir "${SRC}"/cache/.gpg --no-permission-warning --trust-model always \
|
||||
-q --verify "${localdir}/${filename}.asc"
|
||||
[[ ${PIPESTATUS[0]} -eq 0 ]] && verified=true && display_alert "Verified" "PGP" "info"
|
||||
|
||||
else
|
||||
|
||||
[[ "$(md5sum "${localdir}/${filename}" | awk '{printf $1}')" == "$(awk '{printf $1}' ${localdir}/${filename}.asc)" ]] &&
|
||||
verified=true && display_alert "Verified" "MD5" "info"
|
||||
|
||||
fi
|
||||
|
||||
if [[ $verified != true ]]; then
|
||||
rm -rf "${localdir:?}/${filename:?}"* # We also delete asc file
|
||||
exit_with_error "verification failed"
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# This file is/was autogenerated by lib/tools/gen-library.sh; don't modify manually
|
||||
# This file is/was autogenerated by ./lib/tools/gen-library.sh; don't modify manually
|
||||
|
||||
# no errors tolerated. invoked before each sourced file to make sure.
|
||||
#set -o pipefail # trace ERR through pipes - will be enabled "soon"
|
||||
@ -658,15 +658,6 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true
|
||||
# shellcheck source=lib/functions/general/deprecations.sh
|
||||
source "${SRC}"/lib/functions/general/deprecations.sh
|
||||
|
||||
# no errors tolerated. invoked before each sourced file to make sure.
|
||||
#set -o pipefail # trace ERR through pipes - will be enabled "soon"
|
||||
#set -o nounset ## set -u : exit the script if you try to use an uninitialised variable - one day will be enabled
|
||||
set -o errtrace # trace ERR through - enabled
|
||||
set -o errexit ## set -e : exit the script if any statement returns a non-true return value - enabled
|
||||
### lib/functions/general/downloads.sh
|
||||
# shellcheck source=lib/functions/general/downloads.sh
|
||||
source "${SRC}"/lib/functions/general/downloads.sh
|
||||
|
||||
# no errors tolerated. invoked before each sourced file to make sure.
|
||||
#set -o pipefail # trace ERR through pipes - will be enabled "soon"
|
||||
#set -o nounset ## set -u : exit the script if you try to use an uninitialised variable - one day will be enabled
|
||||
@ -1167,4 +1158,4 @@ source "${SRC}"/lib/functions/rootfs/trap-rootfs.sh
|
||||
#set -o nounset ## set -u : exit the script if you try to use an uninitialised variable - one day will be enabled
|
||||
set -o errtrace # trace ERR through - enabled
|
||||
set -o errexit ## set -e : exit the script if any statement returns a non-true return value - enabled
|
||||
# This file is/was autogenerated by lib/tools/gen-library.sh; don't modify manually
|
||||
# This file is/was autogenerated by ./lib/tools/gen-library.sh; don't modify manually
|
||||
|
||||
Loading…
Reference in New Issue
Block a user