Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • S slapos.rebootstrap
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedinexedi
  • slapos.rebootstrap
  • Merge requests
  • !5

Adapt rebootstrap to setuptools >= 52.0.0 without easy_install

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Xavier Thompson requested to merge xavier_thompson/slapos.rebootstrap:dev/rebootstrap-without-setuptools-easy-install into master Apr 26, 2024
  • Overview 6
  • Commits 8
  • Pipelines 0
  • Changes 7

Setuptools removed support for setuptools.easy_install in version 52.0.0.

This MR completely changes the slapos.rebootstrap implementation to no longer depend on setuptools.easy_install. It also manages to greatly reduce dependency on private internal APIs of zc.buildout.

The new implementation merely launches buildout bootstrap with the new Python version (e.g. 3.7) by reusing the package locations of the zc.buildout & dependencies installed for the initial Python version (e.g. 3.11), which results in zc.buildout & dependencies being installed for the new Python version. This works because the versions are carefully selected to be compatible with both Python versions (this is a longstanding constraint of slapos.rebootstrap already).

This requires some adjustments from zc.builout, so it depends on https://lab.nexedi.com/nexedi/slapos.buildout/-/merge_requests/30. It also depends on https://lab.nexedi.com/nexedi/slapos.buildout/-/merge_requests/31 for testing.

This issue was initially missed because in SR tests the Python version changes are always towards Python 2.7, which implies setuptools is pinned to an old version.

Edited May 21, 2024 by Xavier Thompson
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: dev/rebootstrap-without-setuptools-easy-install
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7