Opened 2 years ago
Closed 2 years ago
#31118 closed defect (fixed)
sage package updatelatest: Fix for packagenamescontainingdashes; accept package classes :standard:, :optional: etc., restrict to normal Python packages; fix sage package fixchecksum
Reported by:  mkoeppe  Owned by:  

Priority:  blocker  Milestone:  sage9.3 
Component:  scripts  Keywords:  
Cc:  vbraun, slabbe, jhpalmieri, dimpase, vdelecroix  Merged in:  
Authors:  Matthias Koeppe  Reviewers:  Dima Pasechnik 
Report Upstream:  N/A  Work issues:  
Branch:  182b3d2 (Commits, GitHub, GitLab)  Commit:  182b3d22106e206a95d9ffbf2104f5c2a32dd3b5 
Dependencies:  Stopgaps: 
Description (last modified by )
... the current code is confused about pypanormalized names vs. spkgnormalized names:
$ ./sage package updatelatest importlib_metadata Traceback (most recent call last): File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/build/bin/sagepackage", line 42, in <module> run() File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/build/bin/../sage_bootstrap/cmdline.py", line 337, in run app.update_latest(args.package_name) File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/build/bin/../sage_bootstrap/app.py", line 141, in update_latest pypi.update() File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/build/bin/../sage_bootstrap/pypi.py", line 104, in update package = Package(self.name) File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/build/bin/../sage_bootstrap/package.py", line 48, in __init__ self._init_type() File "/Users/mkoeppe/s/sage/sagerebasing/worktreealgebraic2018spring/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/sagerebasing/worktreealgebraic2018spring/build/pkgs/importlibmetadata/type'
We also update the code so that it uses the files checksums.ini
and installrequires.txt
to recognize normal Python packages.
As a result, the interface has changed slightly:
sage package updatelatest :all:
now also updates optional and experimental packages use
sage package updatelatest :standard:
for (a better version of) the previous behavior
We also fix sage package fixchecksum
so it does not trip over nonnormal packages.
Change History (12)
comment:1 Changed 2 years ago by
Branch:  → u/mkoeppe/sage___package_update_latest__fix_for_package_names_containing_dashes 

comment:2 Changed 2 years ago by
Authors:  → Matthias Koeppe 

Cc:  jhpalmieri dimpase added 
Commit:  → 9d747fc169e04f78dc9d1ba8e13c4e09f162d3a6 
Status:  new → needs_review 
comment:3 Changed 2 years ago by
Commit:  9d747fc169e04f78dc9d1ba8e13c4e09f162d3a6 → c826c73010ca7eeaa399ffcb08a3d951b08f4e2c 

Branch pushed to git repo; I updated commit sha1. New commits:
c826c73  sage package updatelatest: Accept package classes :standard:, :optional: etc., restrict to normal Python packages

comment:4 Changed 2 years ago by
Description:  modified (diff) 

Priority:  minor → major 
Summary:  sage package updatelatest: Fix for packagenamescontainingdashes → sage package updatelatest: Fix for packagenamescontainingdashes; accept package classes :standard:, :optional: etc., restrict to normal Python packages 
comment:5 Changed 2 years ago by
Commit:  c826c73010ca7eeaa399ffcb08a3d951b08f4e2c → f74f66c31a358b3ff5dd2381ce4b7c1f5899858d 

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
f74f66c  sage package updatelatest: Accept package classes :standard:, :optional: etc., restrict to normal Python packages

comment:6 Changed 2 years ago by
Cc:  vdelecroix added 

comment:7 Changed 2 years ago by
Commit:  f74f66c31a358b3ff5dd2381ce4b7c1f5899858d → 182b3d22106e206a95d9ffbf2104f5c2a32dd3b5 

Branch pushed to git repo; I updated commit sha1. New commits:
182b3d2  sage package fixchecksum: Handle package classes, ignore nonnormal packages

comment:8 Changed 2 years ago by
Description:  modified (diff) 

Summary:  sage package updatelatest: Fix for packagenamescontainingdashes; accept package classes :standard:, :optional: etc., restrict to normal Python packages → sage package updatelatest: Fix for packagenamescontainingdashes; accept package classes :standard:, :optional: etc., restrict to normal Python packages; fix sage package fixchecksum 
comment:9 Changed 2 years ago by
Priority:  major → blocker 

Reviewers:  → Dima Pasechnik 
Status:  needs_review → positive_review 
OK, this appears to fix sage package fixchecksum
.
comment:10 Changed 2 years ago by
By the way, only sage package fixchecksum
without specifying the package was broken because it looped over all packages, including script packages. Hardly a blocker, but it does not really matter
comment:12 Changed 2 years ago by
Branch:  u/mkoeppe/sage___package_update_latest__fix_for_package_names_containing_dashes → 182b3d22106e206a95d9ffbf2104f5c2a32dd3b5 

Resolution:  → fixed 
Status:  positive_review → closed 
New commits:
sage package updatelatest: Distinguish pypi package name and spkg name