Skip to content

Commit

Permalink
set default timeout and verbosity level for wget invocations
Browse files Browse the repository at this point in the history
  • Loading branch information
seefood authored and philclifford committed Sep 14, 2023
1 parent 5b095a0 commit 4303aa8
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions deb-get
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,8 @@ function get_github_releases() {
if [ -n "${2}" ]; then
URL+="/${2}"
fi
wgetcmdarray=("${ELEVATE}" wget "${HEADERPARAM}" "${HEADERAUTH}" -q --no-use-server-timestamps "${URL}" -O "${CACHE_FILE}")
wgetcmdarray=("${ELEVATE}" wget "${HEADERPARAM}" "${HEADERAUTH}" ${WGET_VERBOSITY} \
--no-use-server-timestamps ${WGET_TIMEOUT} "${URL}" -O "${CACHE_FILE}")
echo "${wgetcmdarray[@]}" | bash - || ( fancy_message warn "Updating ${CACHE_FILE} failed." )
if [ -f "${CACHE_FILE}" ] && grep "API rate limit exceeded" "${CACHE_FILE}"; then
fancy_message warn "Updating ${CACHE_FILE} exceeded GitHub API limits. Deleting it."
Expand All @@ -187,7 +188,7 @@ function get_website() {
if [ "${ACTION}" == "install" ] || [ "${ACTION}" == "update" ] || [ "${ACTION}" == "fix-installed" ]; then
if [ ! -e "${CACHE_FILE}" ] || test "$(find "${CACHE_FILE}" -mmin +${DEBGET_CACHE_RTN:-60})"; then
fancy_message info "Updating ${CACHE_FILE}"
if ! ${ELEVATE} wget -q --no-use-server-timestamps "${1}" -O "${CACHE_FILE}"; then
if ! ${ELEVATE} wget ${WGET_VERBOSITY} --no-use-server-timestamps ${WGET_TIMEOUT} "${1}" -O "${CACHE_FILE}"; then
fancy_message warn "Updating ${CACHE_FILE} failed. Deleting it."
${ELEVATE} rm -f "${CACHE_FILE}"
fi
Expand Down Expand Up @@ -226,7 +227,7 @@ function download_deb() {
local URL="${1}"
local FILE="${2}"

if ! ${ELEVATE} wget --quiet --continue --show-progress --progress=bar:force:noscroll "${URL}" -O "${CACHE_DIR}/${FILE}"; then
if ! ${ELEVATE} wget ${WGET_VERBOSITY} --continue ${WGET_TIMEOUT} --show-progress --progress=bar:force:noscroll "${URL}" -O "${CACHE_DIR}/${FILE}"; then
fancy_message error "Failed to download ${URL}. Deleting ${CACHE_DIR}/${FILE}..."
${ELEVATE} rm "${CACHE_DIR}/${FILE}" 2>/dev/null
return 1
Expand Down Expand Up @@ -686,20 +687,20 @@ function update_repos() {
local REPO_URL=""
# preserve current behaviour for now but allow modification via env
local CURL_VERBOSITY="-q --show-progress --progress=bar:force:noscroll "
local WGET_VERBOSITY="-q"
local UPD_WGET_VERBOSITY=${WGET_VERBOSITY}

if [[ "$*" == *"--quiet"* ]] ; then
CURL_VERBOSITY="-Ss"
WGET_VERBOSITY="-q"
export WGET_VERBOSITY CURL_VERBOSITY
UPD_WGET_VERBOSITY="-q"
export UPD_WGET_VERBOSITY CURL_VERBOSITY
fi


for REPO in $(find "${ETC_DIR}" -maxdepth 1 -name "*.repo" ! -name 00-builtin.repo ! -name 99-local.repo -type f -printf "%f\n" | sed "s/.repo$//"); do
export REPO ETC_DIR ELEVATE
fancy_message info "Updating ${ETC_DIR}/${REPO}"
REPO_URL="$(head -n 1 "${ETC_DIR}/${REPO}.repo")"
${ELEVATE} wget ${WGET_VERBOSITY} "${REPO_URL}/manifest" -O "${ETC_DIR}/${REPO}.repo"
${ELEVATE} wget ${UPD_WGET_VERBOSITY} ${WGET_TIMEOUT} "${REPO_URL}/manifest" -O "${ETC_DIR}/${REPO}.repo"

# ${ELEVATE} rm "${ETC_DIR}/${REPO}.d/* # we currently leave old litter : either <- this or maybe rm older ones
# although so long as manifest is good we are OK
Expand All @@ -714,7 +715,7 @@ function update_repos() {
print "curl ${CURL_VERBOSITY} -L https://api.github.com/repos/${GITREPO}/tarball/${BRANCH} | ${ELEVATE} tar zx --wildcards \"*/${REPO}*/packages/*\" --strip-components=3"}
! /github/ {print "# fetching non-github repo";
print "tail -n +2 \"${ETC_DIR}/${REPO}.repo\" | sed \"s/^#//\" | ${ELEVATE} sort -u -o \"${ETC_DIR}/${REPO}.repo.tmp\"";\
print "${ELEVATE} wget ${WGET_VERBOSITY} -N -B \"${REPO_URL}/packages/\" -i \"${ETC_DIR}/${REPO}.repo.tmp\" -P \"${ETC_DIR}/${REPO}.d\"";
print "${ELEVATE} wget ${UPD_WGET_VERBOSITY} ${WGET_TIMEOUT} -N -B \"${REPO_URL}/packages/\" -i \"${ETC_DIR}/${REPO}.repo.tmp\" -P \"${ETC_DIR}/${REPO}.d\"";
print "${ELEVATE} rm \"${ETC_DIR}/${REPO}.repo.tmp\""
} '\
<<<${REPO_URL} | bash -
Expand Down Expand Up @@ -1184,13 +1185,13 @@ function add_apt_repo() {
fi
if [ ! -e "/usr/share/keyrings/${APT_LIST_NAME}-archive-keyring.gpg" ]; then
if [ -n "${ASC_KEY_URL}" ]; then
${ELEVATE} wget -q "${ASC_KEY_URL}" -O "/usr/share/keyrings/${APT_LIST_NAME}-archive-keyring"
${ELEVATE} wget ${WGET_VERBOSITY} ${WGET_TIMEOUT} "${ASC_KEY_URL}" -O "/usr/share/keyrings/${APT_LIST_NAME}-archive-keyring"
${ELEVATE} gpg --yes --dearmor "/usr/share/keyrings/${APT_LIST_NAME}-archive-keyring"
${ELEVATE} rm "/usr/share/keyrings/${APT_LIST_NAME}-archive-keyring"
elif [ -n "${GPG_KEY_ID}" ]; then
${ELEVATE} gpg --no-default-keyring --keyring /usr/share/keyrings/${APT_LIST_NAME}-archive-keyring.gpg --keyserver keyserver.ubuntu.com --recv ${GPG_KEY_ID}
else #GPG_KEY_URL
${ELEVATE} wget -q "${GPG_KEY_URL}" -O "/usr/share/keyrings/${APT_LIST_NAME}-archive-keyring.gpg"
${ELEVATE} wget ${WGET_VERBOSITY} ${WGET_TIMEOUT} "${GPG_KEY_URL}" -O "/usr/share/keyrings/${APT_LIST_NAME}-archive-keyring.gpg"
fi
fi

Expand Down Expand Up @@ -1260,6 +1261,11 @@ function deb_deb-get() {
SUMMARY="'apt-get' functionality for .debs published in 3rd party repositories or via direct download package."
}

#### MAIN ####

WGET_VERBOSITY=${WGET_VERBOSITY:="-q"}
WGET_TIMEOUT=${WGET_TIMEOUT:="--timeout 5"}
export WGET_TIMEOUT WGET_VERBOSITY
export CACHE_DIR="/var/cache/deb-get"
readonly ETC_DIR="/etc/deb-get"
readonly MAIN_REPO_URL="https://raw.githubusercontent.com/wimpysworld/deb-get/main/01-main"
Expand Down

0 comments on commit 4303aa8

Please sign in to comment.