diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/package.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index e7905cb410..bb6180c521 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -615,12 +615,19 @@ class Package(object): if spack.do_checksum and not self.version in self.versions: tty.warn("There is no checksum on file to fetch %s safely." % self.spec.format('$_$@')) - ignore = tty.get_yes_or_no(" Fetch anyway?", default=False) - msg = "Add a checksum or use --no-checksum to skip this check." - if ignore: - tty.msg("Fetching with no checksum.", msg) - else: - raise FetchError("Will not fetch %s." % self.spec.format('$_$@'), msg) + + # Ask the user whether to skip the checksum if we're + # interactive, but just fail if non-interactive. + checksum_msg = "Add a checksum or use --no-checksum to skip this check." + ignore_checksum = False + if sys.stdout.isatty(): + ignore_checksum = tty.get_yes_or_no(" Fetch anyway?", default=False) + if ignore_checksum: + tty.msg("Fetching with no checksum.", checksum_msg) + + if not ignore_checksum: + raise FetchError( + "Will not fetch %s." % self.spec.format('$_$@'), checksum_msg) self.stage.fetch() |