summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHarmen Stoppels <harmenstoppels@gmail.com>2021-09-30 16:54:57 +0200
committerGitHub <noreply@github.com>2021-09-30 14:54:57 +0000
commit1aa7758dbb572aa0f92efe1e1f61b2df37aae2e5 (patch)
tree41480fc876a2e7eb15f507cdb521d32fc35e9a3d /lib
parent727dcef2f4394fdb24d81e7e373d50f02a46ff68 (diff)
downloadspack-1aa7758dbb572aa0f92efe1e1f61b2df37aae2e5.tar.gz
spack-1aa7758dbb572aa0f92efe1e1f61b2df37aae2e5.tar.bz2
spack-1aa7758dbb572aa0f92efe1e1f61b2df37aae2e5.tar.xz
spack-1aa7758dbb572aa0f92efe1e1f61b2df37aae2e5.zip
match .spack literal, not as a regex (#26374)
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/directory_layout.py5
-rw-r--r--lib/spack/spack/filesystem_view.py4
-rw-r--r--lib/spack/spack/package.py2
3 files changed, 6 insertions, 5 deletions
diff --git a/lib/spack/spack/directory_layout.py b/lib/spack/spack/directory_layout.py
index 563cf84f4c..762b591827 100644
--- a/lib/spack/spack/directory_layout.py
+++ b/lib/spack/spack/directory_layout.py
@@ -6,6 +6,7 @@
import errno
import glob
import os
+import re
import shutil
import tempfile
from contextlib import contextmanager
@@ -88,8 +89,8 @@ class DirectoryLayout(object):
self.manifest_file_name = 'install_manifest.json'
@property
- def hidden_file_paths(self):
- return (self.metadata_dir,)
+ def hidden_file_regexes(self):
+ return (re.escape(self.metadata_dir),)
def relative_path_for_spec(self, spec):
_check_concrete(spec)
diff --git a/lib/spack/spack/filesystem_view.py b/lib/spack/spack/filesystem_view.py
index 9b273934d9..26457c0f60 100644
--- a/lib/spack/spack/filesystem_view.py
+++ b/lib/spack/spack/filesystem_view.py
@@ -406,7 +406,7 @@ class YamlFilesystemView(FilesystemView):
ignore = ignore or (lambda f: False)
ignore_file = match_predicate(
- self.layout.hidden_file_paths, ignore)
+ self.layout.hidden_file_regexes, ignore)
# check for dir conflicts
conflicts = tree.find_dir_conflicts(view_dst, ignore_file)
@@ -432,7 +432,7 @@ class YamlFilesystemView(FilesystemView):
ignore = ignore or (lambda f: False)
ignore_file = match_predicate(
- self.layout.hidden_file_paths, ignore)
+ self.layout.hidden_file_regexes, ignore)
merge_map = tree.get_file_map(view_dst, ignore_file)
pkg.remove_files_from_view(self, merge_map)
diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py
index 690ce075cb..b3dbb5a2b5 100644
--- a/lib/spack/spack/package.py
+++ b/lib/spack/spack/package.py
@@ -1952,7 +1952,7 @@ class PackageBase(six.with_metaclass(PackageMeta, PackageViewMixin, object)):
installed = set(os.listdir(self.prefix))
installed.difference_update(
- spack.store.layout.hidden_file_paths)
+ spack.store.layout.hidden_file_regexes)
if not installed:
raise InstallError(
"Install failed for %s. Nothing was installed!" % self.name)