summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/stage.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/spack/spack/stage.py b/lib/spack/spack/stage.py
index 3dac798396..e2e156e916 100644
--- a/lib/spack/spack/stage.py
+++ b/lib/spack/spack/stage.py
@@ -224,6 +224,7 @@ class Stage(object):
# Run curl but grab the mime type from the http headers
headers = spack.curl('-#', # status bar
'-O', # save file to disk
+ '-f', # fail on >400 errors
'-D', '-', # print out HTML headers
'-L', url,
return_output=True, fail_on_error=False)
@@ -233,6 +234,10 @@ class Stage(object):
if self.archive_file:
os.remove(self.archive_file)
+ if spack.curl.returncode == 22:
+ # This is a 404. Curl will print the error.
+ raise FailedDownloadError(url)
+
if spack.curl.returncode == 60:
# This is a certificate error. Suggest spack -k
raise FailedDownloadError(