Opened 3 years ago

Closed 10 months ago

#24598 closed task (duplicate)

Get rid of SPKG types like "script" and "pip"

Reported by: embray Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: build Keywords:
Cc: dimpase Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

As mentioned in https://trac.sagemath.org/ticket/24586#comment:4 and in some other past discussions, we're committing a category error with the "type" of SPKGs.

On one hand "type" is used to indicate when a package should be installed, depending on how reliable it is. "standard" is basically always installed. "optional" is installed on request, or depending on the value of some flag (e.g. python 2 vs python 3, though I'm skeptical of this usage), and "experimental" is like "optional" but very much "use at your own risk".

On the other hand "script" and "pip" are sort of like "optional", but really the indicate how the package is to be installed, not if/when. We should use some other means of indicating this (or do away with them entirely). For the most part the only thing that distinguishes "script" and "pip" is that Sage does directly handle extracting and building from a source tarball. In the case of "pip" there isn't even an spkg-install. We could probably think of other ways of indicating these cases without overloading "type" too much.

Change History (6)

comment:1 follow-up: Changed 3 years ago by tmonteil

I always hated the type word, because it is too imprecise, i guess what you are meaning for the first hand is called priority in some distros. So i am +1.

However, i remember to have suggested such a name change once, and got negative answer, i do not remember the argument though, unfortunately i could not find a reference (too many answers when i type "type" in the search box).

By the way, one could also imagine that checksums, version, dependencies, priority, description, license, upstream contact, could all belong to a single well-formatted (e.g. yaml) file.

comment:2 in reply to: ↑ 1 Changed 3 years ago by embray

Replying to tmonteil:

I always hated the type word, because it is too imprecise, i guess what you are meaning for the first hand is called priority in some distros. So i am +1.

However, i remember to have suggested such a name change once, and got negative answer, i do not remember the argument though, unfortunately i could not find a reference (too many answers when i type "type" in the search box).

Hmm, I agree. If I had to guess it's just because renaming it would be a big patch bomb, but it's not the worst thing in the world especially if it's a trivial rename.

By the way, one could also imagine that checksums, version, dependencies, priority, description, license, upstream contact, could all belong to a single well-formatted (e.g. yaml) file.

I agree--I've been wanting to do this a long time. Right now the advantage is the simplicity of parsing by basic shell tools, but I think with some of the other build system updates I've been trying to make this becomes less important.

comment:3 Changed 3 years ago by embray

  • Milestone changed from sage-8.2 to sage-8.3

comment:4 Changed 3 years ago by embray

  • Milestone changed from sage-8.3 to sage-wishlist

comment:5 Changed 12 months ago by mkoeppe

  • Cc dimpase added
  • Milestone changed from sage-wishlist to sage-duplicate/invalid/wontfix
  • Status changed from new to needs_review

Done in #29287. Should be closed.

comment:6 Changed 10 months ago by chapoton

  • Resolution set to duplicate
  • Status changed from needs_review to closed
Note: See TracTickets for help on using tickets.