Skip to content

Conversation

@drfho
Copy link
Contributor

@drfho drfho commented Jan 21, 2026

This is an alternative approach to #450 without the huge diff in the git,
Goal is to be compatible with Zope5 and 6.

  1. First we try a symlink so that both file-organisations are available in parallel.
  2. Then code-sources are declared in the pyproject.toml file at the traditional location:
[tool.setuptools.packages.find]
where = ["."]
include = ["Products*"]

@drfho drfho changed the title ZMS6: src-Layout by Symlink ZMS6b: src-Layout by Symlink Jan 21, 2026
@drfho drfho marked this pull request as draft January 21, 2026 16:41
@drfho drfho changed the title ZMS6b: src-Layout by Symlink ZMS6a: src-Layout by Symlink Jan 21, 2026
@cmeier76
Copy link
Member

@drfho This approach does work as well. I have successfully built and deployed

  • with the existing base image python3.13.5-zope5.13 -> can be handled as a normal ZMS-Core Update
  • with the upcoming base image python3.14.2-zope6.0b2 -> currently preview as beta version

Note

If the setup.py remains, pip install -e needs --config-settings editable_mode=compat
If pyproject.toml is used alone, this parameter can be omitted.

In this zms6a branch the adjustments for ZMS6 branding are currently missing.

@drfho
Copy link
Contributor Author

drfho commented Jan 22, 2026

Note: If the setup.py remains, pip install -e needs --config-settings editable_mode=compat If pyproject.toml is used alone, this parameter can be omitted.

My test-case shows that the ordinary -e-install in Zope5.13 still needs setup.py. If setup.py the installation is only stable with:

pip install Zope[wsgi]==$ZOPE_VERSION -c https://zopefoundation.github.io/Zope/releases/$ZOPE_VERSION/constraints.txt
pip install -r https://raw.githubusercontent.com/zms-publishing/ZMS5/main/requirements-full.txt
pip install --use-pep517 --config-settings editable_mode=compat -e git+https://github.com/zms-publishing/ZMS.git@zms6a#egg=ZMS

ZMS5_a

ZMS5_b

In this zms6a branch the ZMS6 branding currently missing.

I revised the branding/program-version by utilizing the description package/project-data for down-compatibility and a late merge with latest ZMS5: 34a71f4

@drfho drfho changed the title ZMS6a: src-Layout by Symlink ZMS6a: without src-folder Jan 23, 2026
@cmeier76
Copy link
Member

cmeier76 commented Jan 23, 2026

My test-case shows that the ordinary -e-install in Zope5.13 still needs setup.py

I cannot confirm this @drfho -> there is no setup.py in this zms6a anymore...

...and I used this to install ZMS6a on top of these base images:
ghcr.io/idasm-unibe-ch/zms-base:local-python3.13-zope5.13
ghcr.io/idasm-unibe-ch/zms-base:local-python3.14-zope6.0

After removing the symlink approach in this branch and introducing [tool.setuptools.packages.find]
the parameters --use-pep517 --config-settings editable_mode=compat
are needed again for editable ZMS6a installation with Zope-5.13 and Zope-6.0.

@drfho
Copy link
Contributor Author

drfho commented Jan 25, 2026

After removing the symlink approach in this branch and introducing [tool.setuptools.packages.find] the parameters --use-pep517 --config-settings editable_mode=compat are needed again for editable ZMS6a installation with Zope-5.13 and Zope-6.0.

@cmeier76 : thanks for the feedback. You are right, the parameter --config-settings editable_mode=compat is still needed, if ZMS is installed in editable mode. Normal installation does not need the parameter about editable_mode, of course ;-). Sincee pip 25.3 sets -use-pep517 by itself, this is not needed anymore: 524b348

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.

3 participants