summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorPeter Scheibel <scheibel1@llnl.gov>2019-12-04 23:27:08 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2019-12-04 22:27:08 -0800
commite9ee9eaf500c052910b77d2c428ec88574f283be (patch)
tree19d3a45dcf836694b55bddf0c5ee7bcfdb039a7d /var
parent55ee2aecdf0d6465507cb025d519093dcb6b8222 (diff)
downloadspack-e9ee9eaf500c052910b77d2c428ec88574f283be.tar.gz
spack-e9ee9eaf500c052910b77d2c428ec88574f283be.tar.bz2
spack-e9ee9eaf500c052910b77d2c428ec88574f283be.tar.xz
spack-e9ee9eaf500c052910b77d2c428ec88574f283be.zip
patching: do strict version range checking (#13989)
* apply strict constraint checks for patches, otherwise Spack may incorrectly treat a version range constraint as satisfied when mixing x.y and x.y.z versions * add mixed version checks to version comparison tests
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin.mock/packages/patch/biz.patch1
-rw-r--r--var/spack/repos/builtin.mock/packages/patch/package.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/var/spack/repos/builtin.mock/packages/patch/biz.patch b/var/spack/repos/builtin.mock/packages/patch/biz.patch
new file mode 100644
index 0000000000..71a8a61460
--- /dev/null
+++ b/var/spack/repos/builtin.mock/packages/patch/biz.patch
@@ -0,0 +1 @@
+this patch is never applied, it is used to check spec semantics on when the concretizer chooses to include a patch
diff --git a/var/spack/repos/builtin.mock/packages/patch/package.py b/var/spack/repos/builtin.mock/packages/patch/package.py
index 37ea72fb1a..e6c8b33dcf 100644
--- a/var/spack/repos/builtin.mock/packages/patch/package.py
+++ b/var/spack/repos/builtin.mock/packages/patch/package.py
@@ -13,11 +13,14 @@ class Patch(Package):
url = "http://www.example.com/patch-1.0.tar.gz"
version('1.0', '0123456789abcdef0123456789abcdef')
+ version('1.0.1')
+ version('1.0.2')
version('2.0', '0123456789abcdef0123456789abcdef')
patch('foo.patch')
patch('bar.patch', when='@2:')
patch('baz.patch')
+ patch('biz.patch', when='@1.0.1:1.0.2')
def install(self, spec, prefix):
pass