Skip to content

sage --package update-latest: Fix for package-names-containing-dashes; accept package classes :standard:, :optional: etc., restrict to normal Python packages; fix sage --package fix-checksum #31118

@mkoeppe

Description

@mkoeppe

... the current code is confused about pypa-normalized names vs. spkg-normalized names:

$ ./sage -package update-latest importlib_metadata
Traceback (most recent call last):
  File "/Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/build/bin/sage-package", line 42, in <module>
    run()
  File "/Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/build/bin/../sage_bootstrap/cmdline.py", line 337, in run
    app.update_latest(args.package_name)
  File "/Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/build/bin/../sage_bootstrap/app.py", line 141, in update_latest
    pypi.update()
  File "/Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/build/bin/../sage_bootstrap/pypi.py", line 104, in update
    package = Package(self.name)
  File "/Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/build/bin/../sage_bootstrap/package.py", line 48, in __init__
    self._init_type()
  File "/Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/build/bin/../sage_bootstrap/package.py", line 309, in _init_type
    with open(os.path.join(self.path, 'type')) as f:
IOError: [Errno 2] No such file or directory: u'/Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/build/pkgs/importlib-metadata/type'

We also update the code so that it uses the files checksums.ini and install-requires.txt to recognize normal Python packages.

As a result, the interface has changed slightly:

  • sage --package update-latest :all: now also updates optional and experimental packages
  • use sage --package update-latest :standard: for (a better version of) the previous behavior

We also fix sage --package fix-checksum so it does not trip over non-normal packages.

CC: @vbraun @seblabbe @jhpalmieri @dimpase @videlec

Component: scripts

Author: Matthias Koeppe

Branch/Commit: 182b3d2

Reviewer: Dima Pasechnik

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions