From 321a3a55c73b4f48a5b51f19736d70484cfd4078 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Sun, 16 Nov 2014 15:26:00 -0800 Subject: Prompt the user about checksums only if interactive. --- lib/spack/spack/package.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'lib') 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() -- cgit v1.2.3-70-g09d2