summaryrefslogtreecommitdiff
path: root/sogrep.in
diff options
context:
space:
mode:
authorHaochen Tong <i@hexchain.org>2022-02-02 21:51:59 +0800
committerLevente Polyak <anthraxx@archlinux.org>2022-04-06 00:11:16 +0200
commit82cb6756aadd6f03cbefd46132675068a47efdae (patch)
tree512f02f3f3a5b0c62b3b0bea6bfeb961452a3f3a /sogrep.in
parent74164e348b2c57dd98bfe4245540f6df67fb1c67 (diff)
downloaddevtools-82cb6756aadd6f03cbefd46132675068a47efdae.tar.xz
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 <i@hexchain.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
Diffstat (limited to 'sogrep.in')
-rwxr-xr-xsogrep.in7
1 files 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
}