Skip to content

Accept both tarballs and pure-python wheels as sources

This redoes 0abf873d (Install egg from wheel only if explictly required), because that switch to install wheels only when explicitly requested broke things in several places[1,2]. We can avoid such breakage if instead of rejecting all wheels by default, we accept wheels, but allow only pure-python wheels to be installed.

As https://lab.nexedi.com/nexedi/slapos/merge_requests/1026#note_138639 shows detecting whether a dist is pure-python wheel is just

(dist.precedence == WHL_DIST and dist.platform is None)

So let's use this and rework egg installer accordingly.

This patch is completely untested. However the way to check whether a wheel is source-only was tested at https://lab.nexedi.com/nexedi/slapos/merge_requests/1026#note_138639.

If this patch is accepted and new slapos.buildout release is made, then all :whl usage in slapos.git can be dropped.

/cc @tomo, @jerome, @jm

[1] https://lab.nexedi.com/nexedi/slapos/merge_requests/1026
[2] https://lab.nexedi.com/nexedi/slapos/merge_requests/1026#note_138590

Merge request reports