Skip to content

SPKG type: Make "normal/script/pip" orthogonal to "base/standard/optional/experimental" #29287

@mkoeppe

Description

@mkoeppe

This ticket, inspired by a proposal by embray in #24586, removes the misuse of "package type" for the undocumented "script package" category (introduced in #19427). Likewise, it removes the same misuse of "package type" for the undocumented (as noted in #21033) "pip package" category (introduced in #19187).

With this ticket, type has to be one of base / standard / optional / experimental.

All type=pip packages are changed to optional.

All type=script packages are changed to optional; with the exception of sage_conf, which is a dependency of sagelib and is changed to standard.

Orthogonal to type is the new notion of a package "source", which is defined as follows:

  • normal packages have a checksum.ini file
  • pip packages have a requirements.txt file instead (which is used for pip install). (This allows us to change the pyopenssl package from script to pip.)
  • script packages have neither of the two

The ticket also makes script packages more similar to normal packages: They can now optionally have a package-version.txt file; and their installation status is recorded.

Finally, this ticket adds documentation to the developer manual.

CC: @embray @dimpase @jhpalmieri @sagetrac-tmonteil @vbraun

Component: build

Author: Matthias Koeppe

Branch/Commit: 0919086

Reviewer: John Palmieri

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions