From d891143a08541c45ac5d5716f60238df4711410a Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Sun, 16 Oct 2016 16:46:29 -0500 Subject: [PATCH] Ignore GPG/PGP signatures/checksums when finding available downloads (#2028) * Ignore GPG/PGP signatures/checksums when finding available downloads * Remove duplicated basename --- lib/spack/spack/url.py | 2 +- lib/spack/spack/util/web.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/url.py b/lib/spack/spack/url.py index af4b8a51ef..8842495613 100644 --- a/lib/spack/spack/url.py +++ b/lib/spack/spack/url.py @@ -323,7 +323,7 @@ def parse_name_and_version(path): def insensitize(string): """Change upper and lowercase letters to be case insensitive in - the provided string. e.g., 'a' because '[Aa]', 'B' becomes + the provided string. e.g., 'a' becomes '[Aa]', 'B' becomes '[bB]', etc. Use for building regexes.""" def to_ins(match): char = match.group(1) diff --git a/lib/spack/spack/util/web.py b/lib/spack/spack/util/web.py index 29ed6e0d32..935532266f 100644 --- a/lib/spack/spack/util/web.py +++ b/lib/spack/spack/util/web.py @@ -227,7 +227,16 @@ def find_versions_of_archive(*archive_urls, **kwargs): # We'll be a bit more liberal and just look for the archive # part, not the full path. - regexes.append(os.path.basename(url_regex)) + url_regex = os.path.basename(url_regex) + + # We need to add a $ anchor to the end of the regex to prevent + # Spack from picking up signature files like: + # .asc + # .md5 + # .sha256 + # .sig + # However, SourceForge downloads still need to end in '/download'. + regexes.append(url_regex + '(\/download)?$') # Build a dict version -> URL from any links that match the wildcards. versions = {}