Skip to content

Commit

Permalink
Fix problem with pure integer arguments in preferred versions list (e…
Browse files Browse the repository at this point in the history
….g, 2 instead of 2.7.3)
  • Loading branch information
mplegendre committed Mar 10, 2016
1 parent 87db694 commit a384ad5
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
5 changes: 3 additions & 2 deletions lib/spack/spack/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,8 @@
'version': {
'type' : 'array',
'default' : [],
'items' : { 'type' : 'string' } }, #version strings
'items' : { 'anyOf' : [ { 'type' : 'string' },
{ 'type' : 'number'}]}}, #version strings
'compiler': {
'type' : 'array',
'default' : [],
Expand Down Expand Up @@ -573,7 +574,7 @@ def __init__(self, validation_error, data):
# Try to get line number from erroneous instance and its parent
instance_mark = getattr(validation_error.instance, '_start_mark', None)
parent_mark = getattr(validation_error.parent, '_start_mark', None)
path = getattr(validation_error, 'path', None)
path = [str(s) for s in getattr(validation_error, 'path', None)]

# Try really hard to get the parent (which sometimes is not
# set) This digs it out of the validated structure if it's not
Expand Down
6 changes: 3 additions & 3 deletions lib/spack/spack/preferred_packages.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def _order_for_package(self, pkgname, component, second_key, test_all=True):
order = order.get(second_key, {})
if not order:
continue
return [s.strip() for s in order]
return [str(s).strip() for s in order]
return []


Expand Down Expand Up @@ -98,11 +98,11 @@ def _spec_compare(self, pkgname, component, a, b, reverse_natural_compare, secon
b_index = None
reverse = -1 if reverse_natural_compare else 1
for i, cspec in enumerate(specs):
if a_index == None and cspec.satisfies(a):
if a_index == None and (cspec.satisfies(a) or a.satisfies(cspec)):
a_index = i
if b_index:
break
if b_index == None and cspec.satisfies(b):
if b_index == None and (cspec.satisfies(b) or b.satisfies(cspec)):
b_index = i
if a_index:
break
Expand Down

0 comments on commit a384ad5

Please sign in to comment.