Skip to content

Move build/sage_bootstrap to pkgs/sage-bootstrap/sage_bootstrap #31662

@mkoeppe

Description

@mkoeppe

We transform build/sage_bootstrap to a new pip-installable distribution sage-bootstrap (with source dir SAGE_ROOT/pkgs/sage-bootstrap).

Other bits from SAGE_ROOT and build/ become package data of this distribution, for now via symlinks.

In:

SAGE_ROOT
- pkgs
  - sage-bootstrap
    - bin
      - sage-apply-patches
      - sage-bootstrap-python
      - sage-dist-helpers
      - sage-package
      - sage-pip-*install
      - sage-print-system-package-command
      - sage-spkg*
      - sage-uncompress-spkg
      - sage-venv
    - pyproject.toml
    - sage_bootstrap/
      - pkgs/        -> SAGE_ROOT/build/pkgs
      - m4/          -> SAGE_ROOT/m4
- build/pkgs
  - sage_bootstrap
     - bootstrap

Out:

  • parts of the specific config / build system of the Sage distribution: configure.ac, build/make, build/bin/sage-site, build/bin/sage-logger, build/bin/sage-starts, build/bin/sage-sdist, build/bin/sage-site
  • monorepo driver: SAGE_ROOT/bootstrap, tox.ini, .ci/write-dockerfile.sh,

We put an sdist of the distribution 'sage-bootstrap' on PyPI, to give users easy access to commands such as sage-print-system-package-command. This can be useful for other projects that want to generate system package advice.

Depends on #31577

CC: @dimpase @jhpalmieri

Component: build

Work Issues: Set PYTHONPATH wherever PATH is set to include build/bin

Author: Matthias Koeppe

Issue created by migration from https://trac.sagemath.org/ticket/31662

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions