diff options
author | Haochen Tong <i@hexchain.org> | 2022-02-02 21:51:59 +0800 |
---|---|---|
committer | Levente Polyak <anthraxx@archlinux.org> | 2022-04-06 00:11:16 +0200 |
commit | 82cb6756aadd6f03cbefd46132675068a47efdae (patch) | |
tree | 512f02f3f3a5b0c62b3b0bea6bfeb961452a3f3a /sogrep.in | |
parent | 74164e348b2c57dd98bfe4245540f6df67fb1c67 (diff) | |
download | devtools-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-x | sogrep.in | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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 } |