From 30ce818fc44834d822887e812e34cbb02e5af2d0 Mon Sep 17 00:00:00 2001
From: Patrick Gartung <gartung@fnal.gov>
Date: Mon, 24 Jun 2019 21:09:24 -0500
Subject: [PATCH] Fix for #10063 : install from source if buildcache with
 different DAG exist (#11834)

* Fix for #10063 : install from source if buildcache with different DAG exist

* Flake8
---
 lib/spack/spack/package.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py
index 3ae46792b5..b4e3537e92 100644
--- a/lib/spack/spack/package.py
+++ b/lib/spack/spack/package.py
@@ -1358,8 +1358,13 @@ def try_install_from_binary_cache(self, explicit):
         binary_spec._mark_concrete()
         if binary_spec not in specs:
             return False
-        tty.msg('Installing %s from binary cache' % self.name)
         tarball = binary_distribution.download_tarball(binary_spec)
+        # see #10063 : install from source if tarball doesn't exist
+        if tarball is None:
+            tty.msg('%s exist in binary cache but with different hash' %
+                    self.name)
+            return False
+        tty.msg('Installing %s from binary cache' % self.name)
         binary_distribution.extract_tarball(
             binary_spec, tarball, allow_root=False,
             unsigned=False, force=False)
-- 
GitLab