summaryrefslogtreecommitdiffhomepage
path: root/subr/rtl_fetch.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr/rtl_fetch.subr')
-rw-r--r--subr/rtl_fetch.subr110
1 files changed, 0 insertions, 110 deletions
diff --git a/subr/rtl_fetch.subr b/subr/rtl_fetch.subr
deleted file mode 100644
index d0ad54b0..00000000
--- a/subr/rtl_fetch.subr
+++ /dev/null
@@ -1,110 +0,0 @@
-#
-# set +o errexit -o noglob -o nounset is assumed.
-#
-
-rtlp_fetch_url_git() {
- local _tgtdir="${1}" _subdir="${2}" _url="${3}" _branch="${4}" \
- _oldpwd="";
- (set -o errexit -o noglob -o nounset;
- rtl_flock_acquire 4 || exit "${?}";
- trap "rm -f \"${BUILD_DLCACHEDIR}/${_subdir%%[/]}.fetching\"" EXIT;
- if [ -e "${BUILD_DLCACHEDIR}/${_subdir}" ]; then
- (rtl_fileop cd "${BUILD_DLCACHEDIR}/${_subdir}" &&\
- git pull ${DEFAULT_GIT_ARGS} origin "${_branch:-main}");
- (rtl_fileop cd "${BUILD_DLCACHEDIR}/${_subdir}" &&\
- git submodule update);
- else
- git clone ${DEFAULT_GIT_ARGS} "${_url}" "${BUILD_DLCACHEDIR}/${_subdir}";
- if [ -n "${_branch}" ]; then
- (rtl_fileop cd "${BUILD_DLCACHEDIR}/${_subdir}" &&\
- git checkout "${_branch}");
- fi;
- (rtl_fileop cd "${BUILD_DLCACHEDIR}/${_subdir}" &&\
- git submodule update --init);
- fi;
- _oldpwd="${PWD}"; rtl_fileop cd "${PKG_BASE_DIR}";
- rtl_fileop rm "${_tgtdir}/${_subdir}";
- rtl_fileop cp "${BUILD_DLCACHEDIR}/${_subdir}" "${_tgtdir}";
- rtl_fileop cd "${_oldpwd}";) 4<>"${BUILD_DLCACHEDIR}/${_subdir%%[/]}.fetching";
- if [ "${?}" -eq 0 ]; then
- cd "$(pwd)";
- else
- return 1;
- fi;
-};
-
-rtl_fetch_urls_git() {
- local _tgtdir="" _url_spec="" _subdir="" _url="" _git_branch="";
- _tgtdir="${1}"; shift;
- if [ "${ARG_FETCH_FORCE}" = "offline" ]; then
- return 0;
- fi;
- for _url_spec in "${@}"; do
- _subdir="${_url_spec%=*}";
- _url="${_url_spec#*=}";
- _url="${_url%@*}";
- if [ "${_url_spec#*@}" != "${_url_spec}" ]; then
- _git_branch=${_url_spec#*@};
- fi;
- rtlp_fetch_url_git "${_tgtdir}" "${_subdir}" \
- "${_url}" "${_git_branch}";
- done;
-};
-
-# N.B. URLs ($1) may contain `?' or '&' characters.
-rtl_fetch_url_wget() {
- local _urls="${1}" _sha256sum_src="${2}" _target_fname="${3}" _rc=0 _target_fname_full=""\
- _url="" _urls_count=0;
- if [ "${ARG_FETCH_FORCE}" = "offline" ]; then
- return 0;
- else _urls_count="$(rtl_llength "${_urls}")";
- for _url in ${_urls}; do
- if [ -z "${_target_fname}" ]; then
- _target_fname="$(rtl_basename "${_url}")";
- fi;
- _target_fname_full="${BUILD_DLCACHEDIR}/${_target_fname}";
- (set +o errexit -o noglob -o nounset;
- rtl_flock_acquire 4 || exit 1;
- trap "_rc=\"\${?}\"; rm -f \"${_target_fname_full}.fetching\"; exit \"\${_rc}\";" EXIT;
- if [ -z "${_sha256sum_src}" ]\
- || ! rtl_check_digest_file "${_target_fname_full}" "${_sha256sum_src}" "${_target_fname_full}.fetched"; then
- wget ${DEFAULT_WGET_ARGS} -O "${_target_fname_full}" "${_url}"; _rc="${?}";
- if [ "${_rc}" -ne 0 ]; then
- exit $((${_rc}+2));
- elif [ -n "${_sha256sum_src}" ]\
- && ! rtl_check_digest "${_target_fname_full}" "${_sha256sum_src}"; then
- exit 2;
- else
- printf "%s" "${RTL_CHECK_DIGEST_DIGEST}" > "${_target_fname_full}.fetched"; exit 0;
- fi;
- else
- exit 0;
- fi;) 4<>"${_target_fname_full}.fetching"; _rc="${?}"; : $((_urls_count-=1));
- case "${_rc}" in
- 0) break; ;;
- 1) if [ "${_urls_count}" -ge 1 ]; then
- rtl_log_msg warning "Warning: failed to acquire fetching lock for URL \`%s', retrying with alternative URL..." "${_url}";
- else
- rtl_log_msg fatalexit "Error: failed to acquire fetching lock for URL \`%s'." "${_url}";
- fi; ;;
- 2) if [ "${_urls_count}" -ge 1 ]; then
- rtl_log_msg warning "Warning: hash mismatch for URL \`%s', retrying with alternative URL... (from build variables: %s.)"\
- "${_url}" "${_sha256sum_src}";
- else
- rtl_log_msg fatalexit "Error: hash mismatch for URL \`%s' (from build variables: %s.)"\
- "${_url}" "${_sha256sum_src}";
- fi; ;;
- *) if [ "${_urls_count}" -ge 1 ]; then
- rtl_log_msg warning "Warning: failed to fetch URL \`%s', retrying with alternative URL... (wget(1) exit status: %s)"\
- "${_url}" "$((${_rc}-2))";
- else
- rtl_log_msg fatalexit "Error: failed to fetch URL \`%s' (wget(1) exit status: %s)"\
- "${_url}" "$((${_rc}-2))";
- fi; ;;
- esac;
- done;
- return "${_rc}";
- fi;
-};
-
-# vim:filetype=sh