Skip malformed spec strings when searching for externals (#19438)
fixes #19266 fzf search method has also been updated Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
This commit is contained in:
parent
2bb775496e
commit
c696518efd
@ -202,14 +202,19 @@ def determine_spec_details(cls, prefix, exes_in_prefix):
|
||||
external_modules = extra_attributes.pop(
|
||||
'modules', None
|
||||
)
|
||||
spec = spack.spec.Spec(
|
||||
spec_str,
|
||||
external_path=external_path,
|
||||
external_modules=external_modules
|
||||
)
|
||||
specs.append(spack.spec.Spec.from_detection(
|
||||
spec, extra_attributes=extra_attributes
|
||||
))
|
||||
try:
|
||||
spec = spack.spec.Spec(
|
||||
spec_str,
|
||||
external_path=external_path,
|
||||
external_modules=external_modules
|
||||
)
|
||||
except Exception as e:
|
||||
msg = 'Parsing failed [spec_str="{0}", error={1}]'
|
||||
tty.debug(msg.format(spec_str, str(e)))
|
||||
else:
|
||||
specs.append(spack.spec.Spec.from_detection(
|
||||
spec, extra_attributes=extra_attributes
|
||||
))
|
||||
|
||||
return sorted(specs)
|
||||
|
||||
|
@ -2,12 +2,10 @@
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Fzf(MakefilePackage):
|
||||
"""fzf is a general-purpose command-line fuzzy finder."""
|
||||
@ -37,7 +35,9 @@ class Fzf(MakefilePackage):
|
||||
|
||||
@classmethod
|
||||
def determine_version(cls, exe):
|
||||
return Executable(exe)('--version', output=str, error=str).rstrip()
|
||||
candidate = Executable(exe)('--version', output=str, error=str)
|
||||
match = re.match(r'(^[\d.]+)', candidate)
|
||||
return match.group(1) if match else None
|
||||
|
||||
@when('@:0.17.5')
|
||||
def patch(self):
|
||||
|
Loading…
Reference in New Issue
Block a user