summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/cmd/create.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py
index c976b98b17..dc927757fb 100644
--- a/lib/spack/spack/cmd/create.py
+++ b/lib/spack/spack/cmd/create.py
@@ -190,18 +190,19 @@ class ConfigureGuesser(object):
]
# Peek inside the compressed file.
- output = ''
- if stage.archive_file.endswith(('.tar', '.tar.gz', '.tar.bz2',
- '.tgz', '.tbz2')):
- tar = which('tar')
- output = tar('--exclude=*/*/*', '-tf',
+ if stage.archive_file.endswith('.zip'):
+ try:
+ unzip = which('unzip')
+ output = unzip('-l', stage.archive_file, output=str)
+ except:
+ output = ''
+ else:
+ try:
+ tar = which('tar')
+ output = tar('--exclude=*/*/*', '-tf',
stage.archive_file, output=str)
- elif stage.archive_file.endswith('.gz'):
- gunzip = which('gunzip')
- output = gunzip('-l', stage.archive_file, output=str)
- elif stage.archive_file.endswith('.zip'):
- unzip = which('unzip')
- output = unzip('-l', stage.archive_file, output=str)
+ except:
+ output = ''
lines = output.split('\n')
# Determine the build system based on the files contained