From 63d1126c262b27077be87a9b1f080e42e223349f Mon Sep 17 00:00:00 2001 From: Daniel Ribeiro Date: Tue, 26 Sep 2023 06:01:09 +0000 Subject: [PATCH] Restore PyYAML 5.4.1 to avoid TypeError in webassets 0.12.1 CKAN 2.9.9 requires webassets 0.12.1, which calls yaml.load() without a Loader. This generated a warning in pyyaml 5.4.1, but raises a TypeError in 6.x. --- images/ckan/2.9/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/images/ckan/2.9/Dockerfile b/images/ckan/2.9/Dockerfile index 5fa9020..535f27e 100644 --- a/images/ckan/2.9/Dockerfile +++ b/images/ckan/2.9/Dockerfile @@ -60,10 +60,11 @@ COPY ./scripts/apply_ckan_patches.sh ${SRC_DIR}/apply_ckan_patches.sh RUN cd ${SRC_DIR} && ls -lah ${SRC_DIR} && ash ${SRC_DIR}/apply_ckan_patches.sh RUN rm -rf /srv/app/src/ckan/.git -#### PATCH SINCE CYTON UPDATED TO 3.0.0 ### -RUN sed -i 's/pyyaml==5.4.1/pyyaml>=6.0.1/g' ckan/requirements.txt +# Create a constraint file that limits the Cython version to a compatible one, see https://github.com/yaml/pyyaml/issues/736 +RUN echo 'Cython < 3.0' > /tmp/constraint.txt +RUN PIP_CONSTRAINT=/tmp/constraint.txt pip wheel --wheel-dir=/wheels PyYAML==5.4.1 -# RUN pip-compile ckan/requirements.in +# RUN pip-compile ckan/requirements.in RUN pip wheel --wheel-dir=/wheels -r ckan/requirements.txt RUN pip wheel --wheel-dir=/wheels uWSGI==2.0.20 gevent==21.12.0 greenlet==1.1.3