From 82cb6756aadd6f03cbefd46132675068a47efdae Mon Sep 17 00:00:00 2001 From: Haochen Tong Date: Wed, 2 Feb 2022 21:51:59 +0800 Subject: sogrep: fail if links database cannot be retrieved If the links database (for some reason) does not exist on the mirror, curl will save the html 404 page as ${repo}.links.tar.gz in the cache, and sogrep will later fail with a decompression error from bsdtar. This patch adds -f to curl so it doesn't save the error page, and exit after displaying an error in such case. Fixes !88 Signed-off-by: Haochen Tong Signed-off-by: Levente Polyak --- sogrep.in | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sogrep.in b/sogrep.in index dfdd104..d1ca1a1 100755 --- a/sogrep.in +++ b/sogrep.in @@ -36,8 +36,11 @@ recache() { local dbpath=${SOCACHE_DIR}/${arch}/${repo}.links.tar.gz mkdir -p "${dbpath%/*}" (( VERBOSE )) && echo "Fetching ${repo}.links.tar.gz..." - curl -LR "${verbosity}" -o "${dbpath}" -z "${dbpath}" \ - "${SOLINKS_MIRROR}/${repo}/os/${arch}/${repo}.links.tar.gz" + if ! curl -fLR "${verbosity}" -o "${dbpath}" -z "${dbpath}" \ + "${SOLINKS_MIRROR}/${repo}/os/${arch}/${repo}.links.tar.gz"; then + echo "error: failed to download links database for repo ${repo}" + exit 1 + fi done done } -- cgit v1.2.3-54-g00ecf