Skip to content

Strict dependency constraint checking#13243

Merged
tgamblin merged 1 commit intospack:developfrom
scheibelp:bugfix/dep-constraints
Oct 17, 2019
Merged

Strict dependency constraint checking#13243
tgamblin merged 1 commit intospack:developfrom
scheibelp:bugfix/dep-constraints

Conversation

@scheibelp
Copy link
Copy Markdown
Member

@scheibelp scheibelp commented Oct 16, 2019

Satisfaction checks on dependencies should be strict when the parent check is strict

This is intended for constraints like

depends_on('py-backports-functools-lru-cache', when='^python@:2')

currently, Spack will add the py-backports-functools-lru-cache dependency at a point in the concretization when the dependency is just ^python (without a version) because strict constraint checking does not propagate to dependency constraint checking.

Note that because the concretizer is greedy, the constraints applied by the py-backports-functools-lru-cache dependency will be applied later and may generate concretizer conflicts (which requires the user to specify certain constraints on the command line), but this avoids the concretizer incorrectly adding the py-backports-functools-lru-cache dependency.

An example package this fixes is py-soupsieve.

@scheibelp scheibelp added the WIP label Oct 16, 2019
@scheibelp scheibelp changed the title [WIP] Strict dependency constraint checking Strict dependency constraint checking Oct 17, 2019
@scheibelp scheibelp removed the WIP label Oct 17, 2019
@tgamblin tgamblin merged commit fd88f8f into spack:develop Oct 17, 2019
@tgamblin tgamblin mentioned this pull request Oct 21, 2019
jrmadsen pushed a commit to jrmadsen/spack that referenced this pull request Oct 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants