Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should we update extra Python ecosystem packages installed on Plone 5.2.13 container #126

Open
fredvd opened this issue Jul 20, 2023 · 5 comments
Assignees

Comments

@fredvd
Copy link
Sponsor Member

fredvd commented Jul 20, 2023

@mauritsvanrees @davisagli @pbauer

I want to make a new release of our plone-backend images for Plone 5.2 now that Maurits has released 5.2.13. But I notice in the Dockerfile we install/add some extra packages that are really outdated.

Also pip is still pinned ad 22.0.4 when the constraints.txt for Plone 5.2.13 now has pip 23.2.

The image is 'officially' not support, as in: we started promoting the container images for Plone 6. But what to do here?

If dockerfiles based on our image are really picky they repin their packages, but if they are depending on what is in the package.... We can update:

pip == 23.2
relstorage == 3.5.0
psycopg2 == 2.9.6
python-ldap == 3.4.3
plone.volto==3.1.0a9

ENV PIP_VERSION=23.2
ENV PLONE_VERSION=5.2.13
ENV PLONE_VOLTO="plone.volto==3.1.0a4"
ENV EXTRA_PACKAGES="relstorage==3.4.5 psycopg2==2.9.3 python-ldap==3.4.0"

@fredvd fredvd changed the title Update extra packages installed on Plone 5.2.13 container Update extra python ecosystem packages installed on Plone 5.2.13 container Jul 20, 2023
@fredvd fredvd changed the title Update extra python ecosystem packages installed on Plone 5.2.13 container Should we update extra Python ecosystem packages installed on Plone 5.2.13 container Jul 20, 2023
@mauritsvanrees
Copy link
Sponsor Member

Actually, constraints.txt only has this for pip:

pip==20.3.4; python_version < "3.0"

So on Python 3, pip is not pinned.

The updated versions seem fine.
I am not sure about the alpha version of plone.volto though. We could pin 4.0.10. Version 4 has breaking changes, but version 3.1.0a9 has a breaking change as well.

@fredvd
Copy link
Sponsor Member Author

fredvd commented Jul 21, 2023

Ah, pip for Python 3 is indeed not pinned in the constraints file. But there is a pip 23.2 package in the release folder on dist.plone.org: https://dist.plone.org/release/5.2.13/pip-23.2-py3-none-any.whl

I am not sure about the alpha version of plone.volto though. We could pin 4.0.10. Version 4 has breaking changes, but version 3.1.0a9 has a breaking change as well.

I'm kind of assuming plone.volto 3.X is for Plone 5.2 and 4.x is for Plone 6. @sneridagh @ericof Any opinions here?

I tend to keep the plone.volto version untouched as the Plone 5.2 / Volto combination is a custom setup anyway for installed base.

@davisagli
Copy link
Sponsor Member

@fredvd @mauritsvanrees I think it's still possible to use any version of plone.volto with Plone 5.2, but the versions are tied to which plone.restapi version is used.

plone.volto 2.x works with plone.restapi 7.x (and the 5.2 versions currently has plone.restapi = 7.8.2)
plone.volto 3.x requires plone.restapi >=8.13.0
plone.volto 4.x requires plone.restapi >=8.41.0

(The current pin of plone.volto = 3.1.0a4 works even with plone.restapi 7.x because it was the last version before the requirement for plone.restapi >=8.13.0 was added.)

So I guess the options are to leave things as is, or update both plone.restapi and plone.volto. Updating to plone.restapi 8.x is a breaking change that drops support for Python 2. So I guess we need to leave things as is.

@lyralemos
Copy link

I just tried plone-backend 5.2.14 and I think pip 23.2 broke de DEVELOP option, at least in 5.2 branch.

To confirm this I cloned collective.easyform (3x branch) and tried to added as a develop egg, like this:

docker run --rm -p 8080:8080 -e DEVELOP="/app/src/collective.easyform" -v ./collective.easyform:/app/src/collective.easyform plone/plone-backend:5.2.14 start

When I try install it, it's not available in the Addons page.

That is not the case with 5.2.12 or even in plone 6 (using collective.easyform master branch).

Here the commands I ran for reference:

Plone 5.2.12

docker run --rm -p 8080:8080 -e DEVELOP="/app/src/collective.easyform" -v ./collective.easyform:/app/src/collective.easyform plone/plone-backend:5.2.12 start

Plone 6

docker run --rm -p 8080:8080 -e DEVELOP="/app/src/collective.easyform" -v ./collective.easyform:/app/src/collective.easyform plone/plone-backend:latest start

The wierd thing is that plone 6 also comes with pip 23.2.

@avoinea
Copy link
Sponsor Member

avoinea commented Oct 22, 2023

Be aware when upgrading from RelStorage 3.4.5 to 3.5.0

Extracted from RelStorage changelog

Caution

Be careful deploying this version while older versions are executing. There could be a small window of time where the locking strategies are different, leading to database corruption.

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

No branches or pull requests

7 participants