From 6a240c9b392d9d519b5df14943732bd1831d25bf Mon Sep 17 00:00:00 2001 From: Stephen Sachs Date: Tue, 26 Jul 2022 15:05:41 +0200 Subject: [PATCH] Fix `self.extension` for symlinks (#31743) `self.archive_file` is (among others) a symlink to a tarball. `extension()` on a symlink will result in no extension. This patch fixes the behavior introduced in https://github.com/spack/spack/pull/31618. Co-authored-by: Stephen Sachs --- lib/spack/spack/fetch_strategy.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/fetch_strategy.py b/lib/spack/spack/fetch_strategy.py index e52cceeaa0..4fc2d3b449 100644 --- a/lib/spack/spack/fetch_strategy.py +++ b/lib/spack/spack/fetch_strategy.py @@ -48,6 +48,7 @@ import spack.config import spack.error +import spack.url import spack.util.crypto as crypto import spack.util.pattern as pattern import spack.util.url as url_util @@ -529,8 +530,9 @@ def expand(self): "Couldn't find archive file", "Failed on expand() for URL %s" % self.url) + # TODO: replace this by mime check. if not self.extension: - self.extension = extension(self.archive_file) + self.extension = spack.url.determine_url_file_extension(self.url) if self.stage.expanded: tty.debug('Source already staged to %s' % self.stage.source_path)