Skip to content

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

@mauritsvanrees

Description

@mauritsvanrees

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...

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions