AnacondaRecipes / repodata-hotfixes

Changes to package metadata to fix behavior
BSD 3-Clause "New" or "Revised" License
14 stars 20 forks source link

Fix distributed 2021.5.0 #124

Closed skupr-anaconda closed 3 years ago

skupr-anaconda commented 3 years ago

I've prepared fixes for distributed 2021.5.0 and distributed 2021.4.1. There was a wrong dependency inside meta.yaml files Compare how it was fixed for the next and last version of distributed 2021.5.1 https://github.com/AnacondaRecipes/distributed-feedstock/blob/master/recipe/meta.yaml

skupr-anaconda commented 3 years ago

It should be dask-core ==2021.5.0

I've just updated

chenghlee commented 3 years ago

For future reference, we should generally avoid the == version matching operator. Since conda uses PEP 440 version matching semantics, == creates an overly very specific pinning; e.g., in this case, ==2021.5.0 would prevent a version like 2021.5.0.1 from satisfying the dependency.

I've pushed commit 1d38b53d5 that shows a better way to handle these version requirements:

diff --git a/main.py b/main.py
index e3118c3..c9b31b6 100644
--- a/main.py
+++ b/main.py
@@ -906,15 +906,15 @@ def patch_record_in_place(fn, record, subdir):
                     depends[i] = dep.split(',')[0] + ',<2.3'
                 if dep.startswith('bokeh >=1.'):
                     depends[i] = dep.split(',')[0] + ',<2.0.0a0'
-    
-    # distributed 2021.5.0 requires dask-core >=2021.5.0 and
-    # distributed 2021.4.1 requires dask-core >=2021.4.1
+
+    # distributed 2021.5.0 requires dask-core 2021.5.0 and
+    # distributed 2021.4.1 requires dask-core 2021.4.1
     # see how it was fixed for 2021.5.1 https://github.com/AnacondaRecipes/distributed-feedstock/blob/master/recipe/meta.yaml
     if name == 'distributed':
         if version == "2021.5.0":
-            replace_dep(depends, 'dask >=2021.04.0', 'dask-core ==2021.5.0')
+            replace_dep(depends, 'dask >=2021.04.0', 'dask-core 2021.5.0.*')
         if version == "2021.4.1":
-            replace_dep(depends, 'dask >=2021.3.0', 'dask-core ==2021.4.1')
+            replace_dep(depends, 'dask >=2021.3.0', 'dask-core 2021.4.1.*')

     ###########################
     # compilers and run times #