From fa6cb85db5e531f60b04f3b14e6a40c3487c5d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Fri, 16 Jul 2021 17:26:30 +0200 Subject: [PATCH] Tweak `script/mirror` --- script/mirror | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/script/mirror b/script/mirror index 65f5419a..03155c73 100755 --- a/script/mirror +++ b/script/mirror @@ -15,8 +15,9 @@ test_mirrored() { } compute_sha2() { - local output="$(openssl dgst -sha256)" - echo "${output##* }" | tr '[A-Z]' '[a-z]' + local output + output="$(openssl dgst -sha256)" + tr '[:upper:]' '[:lower:]' <<<"${output##* }" } download_package() { @@ -41,12 +42,15 @@ changed_files() { } potentially_new_packages() { - local files="$(changed_files "$1" -- ./share/ruby-build)" - [ -n "$files" ] && extract_urls $files + local head="${1#*..}" + local files + IFS=$'\n' read -d '' -r -a files < <(changed_files "$1" -- ./share/ruby-build) + [ ${#files[@]} -gt 0 ] || return 0 + extract_urls "${head:-HEAD}" -- "${files[@]}" } extract_urls() { - $(type -p ggrep grep | head -1) -hoe 'http[^"]\+#[^"]\+' "$@" | sort | uniq + git grep -hoe 'http[^"]\+#[^"]\+' "$@" | sort | uniq } update() { @@ -88,7 +92,8 @@ verify() { } stats() { - local packages=( $(extract_urls ./share/ruby-build/*) ) + local packages + IFS=$'\n' read -d '' -r -a packages < <(extract_urls -- ./share/ruby-build/\*) local total="${#packages[@]}" local confirmed=0 local checksum