Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
S slapos.rebootstrap
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • slapos.rebootstrap
  • Merge requests
  • !5

Merged
Created Apr 26, 2024 by Xavier Thompson@xavier_thompsonOwner

Adapt rebootstrap to setuptools >= 52.0.0 without easy_install

  • Overview 6
  • Commits 8
  • 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 slapos.buildout!30 (merged). It also depends on slapos.buildout!31 (merged) 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
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: dev/rebootstrap-without-setuptools-easy-install
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7