summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/cmd/license.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/spack/spack/cmd/license.py b/lib/spack/spack/cmd/license.py
index df208d8bbe..e3349c505d 100644
--- a/lib/spack/spack/cmd/license.py
+++ b/lib/spack/spack/cmd/license.py
@@ -67,10 +67,14 @@ lgpl_exceptions = [
def _all_spack_files(root=spack.paths.prefix):
"""Generates root-relative paths of all files in the spack repository."""
+ visited = set()
for cur_root, folders, files in os.walk(root):
for filename in files:
- path = os.path.join(cur_root, filename)
- yield os.path.relpath(path, root)
+ path = os.path.realpath(os.path.join(cur_root, filename))
+
+ if path not in visited:
+ yield os.path.relpath(path, root)
+ visited.add(path)
def _licensed_files(root=spack.paths.prefix):
@@ -81,7 +85,7 @@ def _licensed_files(root=spack.paths.prefix):
def list_files(args):
"""list files in spack that should have license headers"""
- for relpath in _licensed_files():
+ for relpath in sorted(_licensed_files()):
print(os.path.join(spack.paths.spack_root, relpath))