diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh index 2f75802821..a171c450b4 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_BYTESIZE="$(wc -c "${HOMEBREW_CACHE}"/api/formula.json)" + fi curl \ "${CURL_DISABLE_CURLRC_ARGS[@]}" \ --fail --compressed --silent --max-time 5 \ @@ -761,8 +765,17 @@ 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 + curl_exit_code=$? + if [[ ${curl_exit_code} -eq 0 ]] + then + CURRENT_JSON_BYTESIZE="$(wc -c "${HOMEBREW_CACHE}"/api/formula.json)" + if [[ "${INITIAL_JSON_BYTESIZE}" != "${CURRENT_JSON_BYTESIZE}" ]] + then + HOMEBREW_UPDATED="1" + fi + else + echo "Failed to download formula.json!" >>"${update_failed_file}" + fi fi safe_cd "${HOMEBREW_REPOSITORY}"