summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPatrick Gartung <gartung@fnal.gov>2017-08-16 21:03:14 -0500
committerscheibelp <scheibel1@llnl.gov>2017-08-16 19:03:14 -0700
commit1c8bdd7e24375510a20d7cb617c213bc8b01cbd1 (patch)
tree7935d56a1e5364874cf533b10bd3ad4c1a203cc1 /lib
parentdd790fdaaeebbf9e1d0c3a888abad3b7d49903e5 (diff)
downloadspack-1c8bdd7e24375510a20d7cb617c213bc8b01cbd1.tar.gz
spack-1c8bdd7e24375510a20d7cb617c213bc8b01cbd1.tar.bz2
spack-1c8bdd7e24375510a20d7cb617c213bc8b01cbd1.tar.xz
spack-1c8bdd7e24375510a20d7cb617c213bc8b01cbd1.zip
buildcache fixes: index.html & unsigned installs
This fixes a syntax error in the index.html file generated by the "spack buildcache" command when creating build caches. This also fixes support for installing unsigned binaries.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/binary_distribution.py41
1 files changed, 21 insertions, 20 deletions
diff --git a/lib/spack/spack/binary_distribution.py b/lib/spack/spack/binary_distribution.py
index e2ae89ac19..2de14938a4 100644
--- a/lib/spack/spack/binary_distribution.py
+++ b/lib/spack/spack/binary_distribution.py
@@ -194,15 +194,15 @@ def sign_tarball(yes_to_all, key, force, specfile_path):
def generate_index(outdir, indexfile_path):
f = open(indexfile_path, 'w')
- header = """<html>
-<head></head>
-<list>"""
- footer = "</list></html>"
+ header = """<html>\n
+<head>\n</head>\n
+<list>\n"""
+ footer = "</list>\n</html>\n"
paths = os.listdir(outdir + '/build_cache')
f.write(header)
for path in paths:
rel = os.path.basename(path)
- f.write('<li><a href="%s" %s</a>' % (rel, rel))
+ f.write('<li><a href="%s"> %s</a>\n' % (rel, rel))
f.write(footer)
f.close()
@@ -381,26 +381,27 @@ def extract_tarball(spec, filename, yes_to_all=False, force=False):
with closing(tarfile.open(spackfile_path, 'r')) as tar:
tar.extractall(stagepath)
- if os.path.exists('%s.asc' % specfile_path):
- Gpg.verify('%s.asc' % specfile_path, specfile_path)
- os.remove(specfile_path + '.asc')
- else:
- if not yes_to_all:
+ if not yes_to_all:
+ if os.path.exists('%s.asc' % specfile_path):
+ Gpg.verify('%s.asc' % specfile_path, specfile_path)
+ os.remove(specfile_path + '.asc')
+ else:
raise NoVerifyException()
# get the sha256 checksum of the tarball
checksum = checksum_tarball(tarfile_path)
- # get the sha256 checksum recorded at creation
- spec_dict = {}
- with open(specfile_path, 'r') as inputfile:
- content = inputfile.read()
- spec_dict = yaml.load(content)
- bchecksum = spec_dict['binary_cache_checksum']
-
- # if the checksums don't match don't install
- if bchecksum['hash'] != checksum:
- raise NoChecksumException()
+ if not yes_to_all:
+ # get the sha256 checksum recorded at creation
+ spec_dict = {}
+ with open(specfile_path, 'r') as inputfile:
+ content = inputfile.read()
+ spec_dict = yaml.load(content)
+ bchecksum = spec_dict['binary_cache_checksum']
+
+ # if the checksums don't match don't install
+ if bchecksum['hash'] != checksum:
+ raise NoChecksumException()
with closing(tarfile.open(tarfile_path, 'r')) as tar:
tar.extractall(path=join_path(installpath, '..'))