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

The new make install fails when there is a version override #963

Open
Tracked by #4029
mauritsvanrees opened this issue Oct 23, 2024 · 1 comment
Open
Tracked by #4029

The new make install fails when there is a version override #963

mauritsvanrees opened this issue Oct 23, 2024 · 1 comment
Assignees

Comments

@mauritsvanrees
Copy link
Member

On the 6.1 branch we use the versions from Zope 5.11, which pins zope.interface to 7.1.0, but we override this to version 6.3 because of problems (segmentation fault, should be fixed with 7.1.1).

Now I run make install (which I did not do for a while) and this ends with:

# Write outfiles
Write [c]: constraints-mxdev.txt
Write [r]: requirements-mxdev.txt
mxmake: No templates defined
🎂 You are now ready for: pip install -r requirements-mxdev.txt
   (path to pip may vary dependent on your installation method)
Install python packages
  × No solution found when resolving dependencies:
  ╰─▶ Because plone-app-upgrade==3.1.7.dev0 depends on zope-interface==7.1.0 and zope-interface==6.3, we can conclude that plone-app-upgrade==3.1.7.dev0 cannot be used.
      And because only plone-app-upgrade[test]==3.1.7.dev0 is available and you require plone-app-upgrade[test], we can conclude that your requirements are unsatisfiable.
make: *** [.mxmake/files/installed.txt] Error 1

Problem is that constraints.txt (which we derive from versions.cfg) has:

-c https://zopefoundation.github.io/Zope/releases/5.11/constraints.txt
...
zope.interface = 6.3

so the resulting constraints-mxdev.txt has:

zope.interface = 7.1.0
...
zope.interface = 6.3

Pip obviously cannot handle this, as this is conflicting information.

Of course this is one of the reasons that mxdev exists (next to defining checkouts). We can add this in mx.ini, or maybe in a new mxoverrides.ini that we include:

[settings]
version-overrides =
    zope.interface==6.3

Currently we still treat the Buildout files as the canonical location, so we would need to be able to parse this version from these lines in versions.cfg, or maybe introduce a versions-overrides.cfg:

# OVERRIDES
zope.interface = 6.3

That would be something to support in plone.releaser.

So there is some more stuff to do in this area.
Also, I would rather go to less files, not more...

@mauritsvanrees
Copy link
Member Author

I have more or less fixed it with the mentioned version-overrides in mx.ini, so make install works.
But the constraints.txt file does still have a version conflict because it has the Zope constraints and the zope.interface override, so it is not usable on its own.

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

1 participant