summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/verify.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/spack/spack/verify.py b/lib/spack/spack/verify.py
index ec604a3240..88b89cf17c 100644
--- a/lib/spack/spack/verify.py
+++ b/lib/spack/spack/verify.py
@@ -28,24 +28,26 @@ def compute_hash(path):
def create_manifest_entry(path):
data = {}
- stat = os.stat(path)
- data['mode'] = stat.st_mode
- data['owner'] = stat.st_uid
- data['group'] = stat.st_gid
+ if os.path.exists(path):
+ stat = os.stat(path)
- if os.path.islink(path):
- data['type'] = 'link'
- data['dest'] = os.readlink(path)
+ data['mode'] = stat.st_mode
+ data['owner'] = stat.st_uid
+ data['group'] = stat.st_gid
- elif os.path.isdir(path):
- data['type'] = 'dir'
+ if os.path.islink(path):
+ data['type'] = 'link'
+ data['dest'] = os.readlink(path)
- else:
- data['type'] = 'file'
- data['hash'] = compute_hash(path)
- data['time'] = stat.st_mtime
- data['size'] = stat.st_size
+ elif os.path.isdir(path):
+ data['type'] = 'dir'
+
+ else:
+ data['type'] = 'file'
+ data['hash'] = compute_hash(path)
+ data['time'] = stat.st_mtime
+ data['size'] = stat.st_size
return data