From 88433641232e955c1dc0c592351885184bc0abb1 Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Wed, 12 Oct 2022 22:35:08 +0900 Subject: [PATCH 1/5] add error log of download formula.json --- Library/Homebrew/cmd/update.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh index 2f75802821..e384a1c914 100644 --- a/Library/Homebrew/cmd/update.sh +++ b/Library/Homebrew/cmd/update.sh @@ -761,8 +761,11 @@ EOS --time-cond "${HOMEBREW_CACHE}/api/formula.json" \ --user-agent "${HOMEBREW_USER_AGENT_CURL}" \ "https://formulae.brew.sh/api/formula.json" - # TODO: we probably want to print an error if this fails. - # TODO: set HOMEBREW_UPDATED or HOMEBREW_UPDATE_FAILED + exit_code=$? + if [[ ${exit_code} -ne 0 ]] + then + echo "download formula.json failed!" >>"${update_failed_file}" + fi fi safe_cd "${HOMEBREW_REPOSITORY}" From f4156378d840c24ebc8d68e6f08d1e3a21e617f9 Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Thu, 13 Oct 2022 23:16:28 +0900 Subject: [PATCH 2/5] compare formula.json shasum to check brew updated --- Library/Homebrew/cmd/update.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh index e384a1c914..f3eb094098 100644 --- a/Library/Homebrew/cmd/update.sh +++ b/Library/Homebrew/cmd/update.sh @@ -754,6 +754,10 @@ EOS if [[ -n "${HOMEBREW_INSTALL_FROM_API}" ]] then mkdir -p "${HOMEBREW_CACHE}/api" + if [[ -f "${HOMEBREW_CACHE}/api/formula.json" ]] + then + INITIAL_JSON_SHASUM="$(shasum -a 256 "${HOMEBREW_CACHE}"/api/formula.json)" + fi curl \ "${CURL_DISABLE_CURLRC_ARGS[@]}" \ --fail --compressed --silent --max-time 5 \ @@ -761,9 +765,15 @@ EOS --time-cond "${HOMEBREW_CACHE}/api/formula.json" \ --user-agent "${HOMEBREW_USER_AGENT_CURL}" \ "https://formulae.brew.sh/api/formula.json" - exit_code=$? - if [[ ${exit_code} -ne 0 ]] + curl_exit_code=$? + if [[ ${curl_exit_code} -eq 0 ]] then + CURRENT_JSON_SHASUM="$(shasum -a 256 "${HOMEBREW_CACHE}"/api/formula.json)" + if [[ "${INITIAL_JSON_SHASUM}" != "${CURRENT_JSON_SHASUM}" ]] + then + HOMEBREW_UPDATED="1" + fi + else echo "download formula.json failed!" >>"${update_failed_file}" fi fi From dc37364248be9a858b20b06e7171c30aec040861 Mon Sep 17 00:00:00 2001 From: hyuraku <32809703+hyuraku@users.noreply.github.com> Date: Thu, 13 Oct 2022 23:46:41 +0900 Subject: [PATCH 3/5] use ruby script instead of shasum command --- Library/Homebrew/cmd/update.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh index f3eb094098..86065c87b9 100644 --- a/Library/Homebrew/cmd/update.sh +++ b/Library/Homebrew/cmd/update.sh @@ -756,7 +756,14 @@ EOS mkdir -p "${HOMEBREW_CACHE}/api" if [[ -f "${HOMEBREW_CACHE}/api/formula.json" ]] then - INITIAL_JSON_SHASUM="$(shasum -a 256 "${HOMEBREW_CACHE}"/api/formula.json)" + INITIAL_JSON_SHASUM="$( + ruby < Date: Sat, 15 Oct 2022 00:22:10 +0900 Subject: [PATCH 4/5] compare bytesize instead of shasum256 --- Library/Homebrew/cmd/update.sh | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh index 86065c87b9..137b916c80 100644 --- a/Library/Homebrew/cmd/update.sh +++ b/Library/Homebrew/cmd/update.sh @@ -756,14 +756,7 @@ EOS mkdir -p "${HOMEBREW_CACHE}/api" if [[ -f "${HOMEBREW_CACHE}/api/formula.json" ]] then - INITIAL_JSON_SHASUM="$( - ruby < Date: Fri, 14 Oct 2022 17:10:50 +0100 Subject: [PATCH 5/5] cmd/update: tweak error message. Co-authored-by: Bo Anderson --- Library/Homebrew/cmd/update.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh index 137b916c80..a171c450b4 100644 --- a/Library/Homebrew/cmd/update.sh +++ b/Library/Homebrew/cmd/update.sh @@ -774,7 +774,7 @@ EOS HOMEBREW_UPDATED="1" fi else - echo "download formula.json failed!" >>"${update_failed_file}" + echo "Failed to download formula.json!" >>"${update_failed_file}" fi fi